SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
12 Factor Apps - the steps between using the
cloud and being cloud native
Wojciech Urbański
2
At a glance
●
●
●
●
●
●
●
●
●
●
Wojciech Urbański CodiLime
Cloud is (not)
just someone else’s computer...
4
“Using cloud” vs “using cloud effectively”
●
●
●
●
●
●
Cloud-enabled
Cloud-native
5
Creating cloud-native applications
12 Factor Apps
● https://12factor.net
●
●
Main assumptions
● declarative formats for setting up automation
● clean contract with the underlying operating system maximum portability
● deployment cloud platforms
● minimize divergence continuous deployment
● scale up
6
The Twelve Factors
1. Codebase
2. Dependencies
3. Config
4. Backing services
5. Build, release, run
6. Processes
7. Port binding
8. Concurrency
9. Disposability
10. Dev/prod parity
11. Logs
12. Admin processes
Become cloud-native through examples: 3 cloud stories.
Where theory meets practice
Containerizing a legacy application
Cloud is for containers after all, right?
9
Containerizing a legacy application
Overview
● using containers
●
●
Problems
●
●
Solution (?)
●
all the processes single container
10
Monolithic containers (sic!)
Issues
● Multiple processes
● separate logging facilities
● services available
locally
● stateful
● Horizontal scalability creates multiple unrequired
resources
Application container
supervisord
/var/log/...
application
dependency
worker
Application port (tcp/8080)
11
Cloud-native
● Separate, mostly stateless processes
● platform
● backing services configuration
variables
● port bindings
● scaled out creating new instances
● backing services
● External logging
Cloud-native application architecture
Container runtime platform
Data storage
State storage
Frontend
(stateless)
Logging facility
Workers (stateless)
12
Story 1: The Twelve Factors
1. Codebase
2. Dependencies
3. Config
4. Backing services
5. Build, release, run
6. Processes
7. Port binding
8. Concurrency
9. Disposability
10. Dev/prod parity
11. Logs
12. Admin processes
Is serverless the new definition
of cloud-native?
14
Does serverless obsolete 12 Factor Apps?
Overview
●
●
●
How do 12 Factors apply here?
●
○ codebase dependencies environment parity
○ backing services config variables
●
15
Story 2: The Twelve Factors
1. Codebase
2. Dependencies
3. Config
4. Backing services
5. Build, release, run
6. Processes
7. Port binding
8. Concurrency
9. Disposability
10. Dev/prod parity
11. Logs
12. Admin processes
Imagine the consequences
of your code being published to GitHub...
Open Source your SaaS -
based on the case of GitLab
18
Open Source your SaaS
Why?
●
●
●
Problems
●
●
●
Solution
●
● Eat your own dog food!
●
19
Open Core model - a case of GitLab
Open Core
●
GitLab
●
● multiple services a single codebase
●
● installation packages containers + helm charts
How do 12 Factors apply here?
●
● Applying best practices to CI/CD processes
20
Story 3: The Twelve Factors
1. Codebase
2. Dependencies
3. Config
4. Backing services
5. Build, release, run
6. Processes
7. Port binding
8. Concurrency
9. Disposability
10. Dev/prod parity
11. Logs
12. Admin processes
But they are really good assumptions written by very smart people!
The Twelve Factors
are just written assumptions.
Tools and manifests are there to help you, not to bind you!
Focus on what you’re creating.
Thank you
SDN & NFV Cloud-native & Multi cloud Software Engineering UX / UI DevOps

Weitere ähnliche Inhalte

Was ist angesagt?

GitOps (& Flux) for Helm Users with Scott Rigby
GitOps (& Flux) for Helm Users with Scott RigbyGitOps (& Flux) for Helm Users with Scott Rigby
GitOps (& Flux) for Helm Users with Scott Rigby
Weaveworks
 
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebularOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
NETWAYS
 

Was ist angesagt? (20)

Part 3 Docker Concepts - Kitematic
Part 3 Docker Concepts - KitematicPart 3 Docker Concepts - Kitematic
Part 3 Docker Concepts - Kitematic
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi Dewanto
 
Event sourcing your React-Redux applications
Event sourcing your React-Redux applicationsEvent sourcing your React-Redux applications
Event sourcing your React-Redux applications
 
[Konveyor] adding security to dev ops for your kubernetes native applications
[Konveyor] adding security to dev ops for your kubernetes native applications [Konveyor] adding security to dev ops for your kubernetes native applications
[Konveyor] adding security to dev ops for your kubernetes native applications
 
Ewebkit basic (Web rendering enging of EFL)
Ewebkit basic (Web rendering enging of EFL)Ewebkit basic (Web rendering enging of EFL)
Ewebkit basic (Web rendering enging of EFL)
 
WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)
 
Web 3.12: A browser to make us proud (GUADEC 2014)
Web 3.12: A browser to make us proud (GUADEC 2014)Web 3.12: A browser to make us proud (GUADEC 2014)
Web 3.12: A browser to make us proud (GUADEC 2014)
 
GitOps (& Flux) for Helm Users with Scott Rigby
GitOps (& Flux) for Helm Users with Scott RigbyGitOps (& Flux) for Helm Users with Scott Rigby
GitOps (& Flux) for Helm Users with Scott Rigby
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
 
Introduction to Cloud Native
Introduction to Cloud NativeIntroduction to Cloud Native
Introduction to Cloud Native
 
Beyond OpenStack
Beyond OpenStackBeyond OpenStack
Beyond OpenStack
 
OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...
OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...
OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...
 
C9 and jwt
C9 and jwtC9 and jwt
C9 and jwt
 
Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)
 
The busy developer guide to Docker
The busy developer guide to DockerThe busy developer guide to Docker
The busy developer guide to Docker
 
Intro to creating kubernetes operators
Intro to creating kubernetes operators Intro to creating kubernetes operators
Intro to creating kubernetes operators
 
Kubernetes in docker for mac
Kubernetes in docker for macKubernetes in docker for mac
Kubernetes in docker for mac
 
Cloud Study Jam Exploring the Cloud
Cloud Study Jam Exploring the CloudCloud Study Jam Exploring the Cloud
Cloud Study Jam Exploring the Cloud
 
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebularOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
 
Docker Cloud
Docker CloudDocker Cloud
Docker Cloud
 

Ähnlich wie CodiLime Tech Talk - Wojciech Urbański: Cloud Native

ADV or how to make life easier to the Administrators of computer classrooms.
ADV or how to make life easier to the Administrators of computer classrooms.ADV or how to make life easier to the Administrators of computer classrooms.
ADV or how to make life easier to the Administrators of computer classrooms.
GabrielOchoa
 

Ähnlich wie CodiLime Tech Talk - Wojciech Urbański: Cloud Native (20)

DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
 
Cloud-native Gerrit Code Review
Cloud-native Gerrit Code ReviewCloud-native Gerrit Code Review
Cloud-native Gerrit Code Review
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
 
Cloud Native Java Development Patterns
Cloud Native Java Development PatternsCloud Native Java Development Patterns
Cloud Native Java Development Patterns
 
Dr. Strangeconfig or: How I Learned to Stop Using Chef and Puppet and Love th...
Dr. Strangeconfig or: How I Learned to Stop Using Chef and Puppet and Love th...Dr. Strangeconfig or: How I Learned to Stop Using Chef and Puppet and Love th...
Dr. Strangeconfig or: How I Learned to Stop Using Chef and Puppet and Love th...
 
IDEALIZE 2023 - NodeJS & Firebase Session
IDEALIZE 2023 - NodeJS & Firebase SessionIDEALIZE 2023 - NodeJS & Firebase Session
IDEALIZE 2023 - NodeJS & Firebase Session
 
Kubernetes: Increasing velocity without sacrificing quality
Kubernetes: Increasing velocity without sacrificing qualityKubernetes: Increasing velocity without sacrificing quality
Kubernetes: Increasing velocity without sacrificing quality
 
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
 
Cloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guideCloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guide
 
Will Microservices Die.pdf
Will Microservices Die.pdfWill Microservices Die.pdf
Will Microservices Die.pdf
 
Using Docker Platform to Provide Services
Using Docker Platform to Provide ServicesUsing Docker Platform to Provide Services
Using Docker Platform to Provide Services
 
Migrating .NET Apps to CF, A Strategy for Enterprises
Migrating .NET Apps to CF, A Strategy for EnterprisesMigrating .NET Apps to CF, A Strategy for Enterprises
Migrating .NET Apps to CF, A Strategy for Enterprises
 
Thriving in the cloud: Going beyond the 12 factors
Thriving in the cloud: Going beyond the 12 factorsThriving in the cloud: Going beyond the 12 factors
Thriving in the cloud: Going beyond the 12 factors
 
Cloud Foundry Overview
Cloud Foundry OverviewCloud Foundry Overview
Cloud Foundry Overview
 
Docker Birtday #5
Docker Birtday #5Docker Birtday #5
Docker Birtday #5
 
12 FACTOR APP WITH DOCKER
12 FACTOR APP WITH DOCKER12 FACTOR APP WITH DOCKER
12 FACTOR APP WITH DOCKER
 
Accelerate Your Development: CI/CD using AWS and Serverless
Accelerate Your Development: CI/CD using AWS and ServerlessAccelerate Your Development: CI/CD using AWS and Serverless
Accelerate Your Development: CI/CD using AWS and Serverless
 
GIDS_15FactorWorkshop.pdf
GIDS_15FactorWorkshop.pdfGIDS_15FactorWorkshop.pdf
GIDS_15FactorWorkshop.pdf
 
ADV or how to make life easier to the Administrators of computer classrooms.
ADV or how to make life easier to the Administrators of computer classrooms.ADV or how to make life easier to the Administrators of computer classrooms.
ADV or how to make life easier to the Administrators of computer classrooms.
 
[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes
 

Mehr von CodiLime

Mehr von CodiLime (15)

Rapid help for current networking challenges
Rapid help for current networking challengesRapid help for current networking challenges
Rapid help for current networking challenges
 
CodiLime Tech Talk - Grzegorz Rozdzialik: What the java script
CodiLime Tech Talk - Grzegorz Rozdzialik: What the java scriptCodiLime Tech Talk - Grzegorz Rozdzialik: What the java script
CodiLime Tech Talk - Grzegorz Rozdzialik: What the java script
 
CodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivated
CodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivatedCodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivated
CodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivated
 
CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...
CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...
CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...
 
CodiLime Tech Talk - Łukasz Maksymczuk: Monitoring: Prometheus and Influx
CodiLime Tech Talk - Łukasz Maksymczuk: Monitoring: Prometheus and InfluxCodiLime Tech Talk - Łukasz Maksymczuk: Monitoring: Prometheus and Influx
CodiLime Tech Talk - Łukasz Maksymczuk: Monitoring: Prometheus and Influx
 
CodiLime Tech Talk - Michał Sochoń: Configuration management hell
CodiLime Tech Talk - Michał Sochoń: Configuration management hellCodiLime Tech Talk - Michał Sochoń: Configuration management hell
CodiLime Tech Talk - Michał Sochoń: Configuration management hell
 
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
 
Tech Talk - Konrad Gawda : P4 programming language
Tech Talk - Konrad Gawda : P4 programming languageTech Talk - Konrad Gawda : P4 programming language
Tech Talk - Konrad Gawda : P4 programming language
 
CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...
CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...
CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...
 
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
 
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp VaultCodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
 
CodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon't
CodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon'tCodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon't
CodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon't
 
CodiLime Tech Talk - Michał Sochoń: Sphinx, reST & Ansible
CodiLime Tech Talk - Michał Sochoń: Sphinx, reST & AnsibleCodiLime Tech Talk - Michał Sochoń: Sphinx, reST & Ansible
CodiLime Tech Talk - Michał Sochoń: Sphinx, reST & Ansible
 
CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...
CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...
CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...
 
CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...
CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...
CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

CodiLime Tech Talk - Wojciech Urbański: Cloud Native

  • 1. 12 Factor Apps - the steps between using the cloud and being cloud native Wojciech Urbański
  • 3. Cloud is (not) just someone else’s computer...
  • 4. 4 “Using cloud” vs “using cloud effectively” ● ● ● ● ● ● Cloud-enabled Cloud-native
  • 5. 5 Creating cloud-native applications 12 Factor Apps ● https://12factor.net ● ● Main assumptions ● declarative formats for setting up automation ● clean contract with the underlying operating system maximum portability ● deployment cloud platforms ● minimize divergence continuous deployment ● scale up
  • 6. 6 The Twelve Factors 1. Codebase 2. Dependencies 3. Config 4. Backing services 5. Build, release, run 6. Processes 7. Port binding 8. Concurrency 9. Disposability 10. Dev/prod parity 11. Logs 12. Admin processes
  • 7. Become cloud-native through examples: 3 cloud stories. Where theory meets practice
  • 8. Containerizing a legacy application Cloud is for containers after all, right?
  • 9. 9 Containerizing a legacy application Overview ● using containers ● ● Problems ● ● Solution (?) ● all the processes single container
  • 10. 10 Monolithic containers (sic!) Issues ● Multiple processes ● separate logging facilities ● services available locally ● stateful ● Horizontal scalability creates multiple unrequired resources Application container supervisord /var/log/... application dependency worker Application port (tcp/8080)
  • 11. 11 Cloud-native ● Separate, mostly stateless processes ● platform ● backing services configuration variables ● port bindings ● scaled out creating new instances ● backing services ● External logging Cloud-native application architecture Container runtime platform Data storage State storage Frontend (stateless) Logging facility Workers (stateless)
  • 12. 12 Story 1: The Twelve Factors 1. Codebase 2. Dependencies 3. Config 4. Backing services 5. Build, release, run 6. Processes 7. Port binding 8. Concurrency 9. Disposability 10. Dev/prod parity 11. Logs 12. Admin processes
  • 13. Is serverless the new definition of cloud-native?
  • 14. 14 Does serverless obsolete 12 Factor Apps? Overview ● ● ● How do 12 Factors apply here? ● ○ codebase dependencies environment parity ○ backing services config variables ●
  • 15. 15 Story 2: The Twelve Factors 1. Codebase 2. Dependencies 3. Config 4. Backing services 5. Build, release, run 6. Processes 7. Port binding 8. Concurrency 9. Disposability 10. Dev/prod parity 11. Logs 12. Admin processes
  • 16. Imagine the consequences of your code being published to GitHub...
  • 17. Open Source your SaaS - based on the case of GitLab
  • 18. 18 Open Source your SaaS Why? ● ● ● Problems ● ● ● Solution ● ● Eat your own dog food! ●
  • 19. 19 Open Core model - a case of GitLab Open Core ● GitLab ● ● multiple services a single codebase ● ● installation packages containers + helm charts How do 12 Factors apply here? ● ● Applying best practices to CI/CD processes
  • 20. 20 Story 3: The Twelve Factors 1. Codebase 2. Dependencies 3. Config 4. Backing services 5. Build, release, run 6. Processes 7. Port binding 8. Concurrency 9. Disposability 10. Dev/prod parity 11. Logs 12. Admin processes
  • 21. But they are really good assumptions written by very smart people! The Twelve Factors are just written assumptions.
  • 22. Tools and manifests are there to help you, not to bind you! Focus on what you’re creating.
  • 23. Thank you SDN & NFV Cloud-native & Multi cloud Software Engineering UX / UI DevOps