SlideShare a Scribd company logo
1 of 15
Download to read offline
THE 12 FACTORS
LIGHTNING TALKS ALICAN AKKUS@IYZICO
1
THE 12 FACTORS
1
2
3
4
5
6
8
10
7
11
9
Codebase

One codebase tracked in revision control, 

many deploys.
Dependencies

Explicitly declare and isolate dependencies.
Configuration

Store config in the environment.
Backing Services

Treat backing services as attached resources.
Build, release, run

Strictly separate build and run stages.
Processes

Execute the app as one or more stateless
processes.
12
Port binding

Export services via port binding.
Disposability

Maximize robustness with fast startup and
graceful shutdown.
Dev/Prod Parity

Keep development, staging, and production
as similar as possible
Logs

Treat logs as event streams.
Concurrency

Scale out via the process model.
Admin processes

Run admin/management tasks as one-off
processes.
2
THE 12 FACTORS
1
Codebase


One codebase tracked in revision control, many deploys. 

This means you must not have various codebase for various
versions. Branches and tags is okay, different repos are not.
3
THE 12 FACTORS
2
Dependencies


A twelve-factor app never relies on implicit existence of
system-wide packages. It declares all dependencies,
completely and exactly, via a dependency
declaration manifest. 
4
THE 12 FACTORS
3
Configuration


Store config in the environment. The most important rule here
is – never commit your environment-specific configuration
(most importantly: password) in the source code repo.
Otherwise your production system may be vulnerable.
5
THE 12 FACTORS
4
Backing Services


Treat backing services as attached resources. A backing
service is one that requires a network connection to run. This
is a very popular paradigm found in modern application
development, especially prevalent with the rise in popularity
of microservice architecture. The 12-Factor App methodology
advises developers to treat these services agnostically,
meaning changes or modifications should occur without
having to make any code changes.
6
THE 12 FACTORS
5
Build, release, run


Strictly separate build and run stages. The twelve-factor app
uses strict separation between the build, release, and run
stages. For example, it is impossible to make changes to the
code at runtime, since there is no way to propagate those
changes back to the build stage.
7
THE 12 FACTORS
6
Processes
Execute the app as one or more stateless processes. Twelve-
factor processes are stateless and share-nothing. Any data
that needs to persist must be stored in a stateful backing
service, typically a database.
8
THE 12 FACTORS
7
Port binding


Export services via port binding. The twelve-factor app is
completely self-contained and does not rely on runtime
injection of a webserver into the execution environment to
create a web-facing service. The web app exports HTTP as a
service by binding to a port, and listening to requests
coming in on that port.
9
THE 12 FACTORS
8
Concurrency


Scale out via the process model. In the twelve-factor app,
processes are a first class citizen. Processes in the twelve-
factor app take strong cues from the unix process model for
running service daemons. Using this model, the developer
can architect their app to handle diverse workloads by
assigning each type of work to a process type.
10
THE 12 FACTORS
9
Disposability


Maximize robustness with fast startup and graceful shutdown.
The twelve-factor app’s processes are disposable,
meaning they can be started or stopped at a moment’s
notice. This facilitates fast elastic scaling, rapid deployment
of code or config changes, and robustness of production
deploys.
11
THE 12 FACTORS
10
Dev/Prod Parity


Keep development, staging, and production as similar as
possible. The twelve-factor app is designed for continuous
deployment by keeping the gap between development and
production small.
12
THE 12 FACTORS
11
Logs


Treat logs as event streams. A twelve-factor app never
concerns itself with routing or storage of its output
stream. It should not attempt to write to or manage logfiles.
Instead, each running process writes its event stream,
unbuffered, to stdout. During local development, the
developer will view this stream in the foreground of their
terminal to observe the app’s behavior.
13
THE 12 FACTORS
12
Admin processes


Run admin/management tasks as one-off processes.
The process formation is the array of processes that are used
to do the app’s regular business (such as handling web
requests) as it runs. Separately, developers will often wish to
do one-off administrative or maintenance tasks for the app.
14
THANKS
15
https://12factor.net 

https://dzone.com/articles/the-12-factor-app-a-java-developers-perspective 

https://www.sitepoint.com/12-factor-apps-methodology-implement-apps-appfog/

More Related Content

What's hot

12 factor app - Core Guidelines To Cloud Ready Solutions
12 factor app - Core Guidelines To Cloud Ready Solutions12 factor app - Core Guidelines To Cloud Ready Solutions
12 factor app - Core Guidelines To Cloud Ready SolutionsKashif Ali Siddiqui
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsMatthew David
 
12 factor app an introduction
12 factor app an introduction12 factor app an introduction
12 factor app an introductionKrishna-Kumar
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIDavid Hahn
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps JourneyDevOps.com
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at FrosconKris Buytaert
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Amazon Web Services
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.skJuraj Hantak
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentChristopher Read
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github ActionsKnoldus Inc.
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Gibran Badrulzaman
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle IntroductionGanesh Samarthyam
 

What's hot (20)

Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
 
12 factor app - Core Guidelines To Cloud Ready Solutions
12 factor app - Core Guidelines To Cloud Ready Solutions12 factor app - Core Guidelines To Cloud Ready Solutions
12 factor app - Core Guidelines To Cloud Ready Solutions
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps Best Practices
DevOps Best PracticesDevOps Best Practices
DevOps Best Practices
 
12 factor app an introduction
12 factor app an introduction12 factor app an introduction
12 factor app an introduction
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Gitlab ci-cd
Gitlab ci-cdGitlab ci-cd
Gitlab ci-cd
 
Github in Action
Github in ActionGithub in Action
Github in Action
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
DevOps
DevOpsDevOps
DevOps
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github Actions
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
 
DevOps
DevOpsDevOps
DevOps
 
Migrating To GitHub
Migrating To GitHub  Migrating To GitHub
Migrating To GitHub
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
Cloud Native Application Development
Cloud Native Application DevelopmentCloud Native Application Development
Cloud Native Application Development
 

Similar to 12 factor apps

The Twelve Factor App
The Twelve Factor AppThe Twelve Factor App
The Twelve Factor AppPablo Fullana
 
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...DigitalOcean
 
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on HerokuIgor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on HerokuIgor Androsov
 
Twelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureTwelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureSigfred Balatan Jr.
 
Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for ChangeEric Wyles
 
Transform Digital Business with DevOps
Transform Digital Business with DevOpsTransform Digital Business with DevOps
Transform Digital Business with DevOpsDaniel Oh
 
GIDS_15FactorWorkshop.pdf
GIDS_15FactorWorkshop.pdfGIDS_15FactorWorkshop.pdf
GIDS_15FactorWorkshop.pdfRichHagarty
 
Twelve Factor App With Lagom
Twelve Factor App With LagomTwelve Factor App With Lagom
Twelve Factor App With LagomKnoldus Inc.
 
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...Alen Leit
 
Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021NeerajKumar1965
 
Building 12 factor apps with ASP.NET Core, Сергій Калинець
Building 12 factor apps with ASP.NET Core, Сергій КалинецьBuilding 12 factor apps with ASP.NET Core, Сергій Калинець
Building 12 factor apps with ASP.NET Core, Сергій КалинецьSigma Software
 
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...Jitendra Bafna
 
The Key to Successful Development and Deployment of Applications from Mobile ...
The Key to Successful Development and Deployment of Applications from Mobile ...The Key to Successful Development and Deployment of Applications from Mobile ...
The Key to Successful Development and Deployment of Applications from Mobile ...CA Technologies
 
Cloud Native Application Development Guide – 2023
Cloud Native Application Development Guide – 2023Cloud Native Application Development Guide – 2023
Cloud Native Application Development Guide – 2023Lucy Zeniffer
 
OpenShift/Kubernetes to Splunk log integration
OpenShift/Kubernetes to Splunk log integrationOpenShift/Kubernetes to Splunk log integration
OpenShift/Kubernetes to Splunk log integrationMichiel Kalkman
 
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 factorsGrace Jansen
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsVMware Tanzu
 

Similar to 12 factor apps (20)

Hello cloud 6
Hello  cloud 6Hello  cloud 6
Hello cloud 6
 
Twelve factor apps
Twelve factor appsTwelve factor apps
Twelve factor apps
 
The Twelve Factor App
The Twelve Factor AppThe Twelve Factor App
The Twelve Factor App
 
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
 
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on HerokuIgor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
 
Twelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureTwelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application Architecture
 
Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for Change
 
Transform Digital Business with DevOps
Transform Digital Business with DevOpsTransform Digital Business with DevOps
Transform Digital Business with DevOps
 
GIDS_15FactorWorkshop.pdf
GIDS_15FactorWorkshop.pdfGIDS_15FactorWorkshop.pdf
GIDS_15FactorWorkshop.pdf
 
Twelve Factor App With Lagom
Twelve Factor App With LagomTwelve Factor App With Lagom
Twelve Factor App With Lagom
 
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...
 
12 Factor App
12 Factor App12 Factor App
12 Factor App
 
Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021
 
Building 12 factor apps with ASP.NET Core, Сергій Калинець
Building 12 factor apps with ASP.NET Core, Сергій КалинецьBuilding 12 factor apps with ASP.NET Core, Сергій Калинець
Building 12 factor apps with ASP.NET Core, Сергій Калинець
 
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
 
The Key to Successful Development and Deployment of Applications from Mobile ...
The Key to Successful Development and Deployment of Applications from Mobile ...The Key to Successful Development and Deployment of Applications from Mobile ...
The Key to Successful Development and Deployment of Applications from Mobile ...
 
Cloud Native Application Development Guide – 2023
Cloud Native Application Development Guide – 2023Cloud Native Application Development Guide – 2023
Cloud Native Application Development Guide – 2023
 
OpenShift/Kubernetes to Splunk log integration
OpenShift/Kubernetes to Splunk log integrationOpenShift/Kubernetes to Splunk log integration
OpenShift/Kubernetes to Splunk log integration
 
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
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 

Recently uploaded

Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 

Recently uploaded (20)

Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 

12 factor apps

  • 1. THE 12 FACTORS LIGHTNING TALKS ALICAN AKKUS@IYZICO 1
  • 2. THE 12 FACTORS 1 2 3 4 5 6 8 10 7 11 9 Codebase
 One codebase tracked in revision control, 
 many deploys. Dependencies
 Explicitly declare and isolate dependencies. Configuration
 Store config in the environment. Backing Services
 Treat backing services as attached resources. Build, release, run
 Strictly separate build and run stages. Processes
 Execute the app as one or more stateless processes. 12 Port binding
 Export services via port binding. Disposability
 Maximize robustness with fast startup and graceful shutdown. Dev/Prod Parity
 Keep development, staging, and production as similar as possible Logs
 Treat logs as event streams. Concurrency
 Scale out via the process model. Admin processes
 Run admin/management tasks as one-off processes. 2
  • 3. THE 12 FACTORS 1 Codebase 
 One codebase tracked in revision control, many deploys. 
 This means you must not have various codebase for various versions. Branches and tags is okay, different repos are not. 3
  • 4. THE 12 FACTORS 2 Dependencies 
 A twelve-factor app never relies on implicit existence of system-wide packages. It declares all dependencies, completely and exactly, via a dependency declaration manifest.  4
  • 5. THE 12 FACTORS 3 Configuration 
 Store config in the environment. The most important rule here is – never commit your environment-specific configuration (most importantly: password) in the source code repo. Otherwise your production system may be vulnerable. 5
  • 6. THE 12 FACTORS 4 Backing Services 
 Treat backing services as attached resources. A backing service is one that requires a network connection to run. This is a very popular paradigm found in modern application development, especially prevalent with the rise in popularity of microservice architecture. The 12-Factor App methodology advises developers to treat these services agnostically, meaning changes or modifications should occur without having to make any code changes. 6
  • 7. THE 12 FACTORS 5 Build, release, run 
 Strictly separate build and run stages. The twelve-factor app uses strict separation between the build, release, and run stages. For example, it is impossible to make changes to the code at runtime, since there is no way to propagate those changes back to the build stage. 7
  • 8. THE 12 FACTORS 6 Processes Execute the app as one or more stateless processes. Twelve- factor processes are stateless and share-nothing. Any data that needs to persist must be stored in a stateful backing service, typically a database. 8
  • 9. THE 12 FACTORS 7 Port binding 
 Export services via port binding. The twelve-factor app is completely self-contained and does not rely on runtime injection of a webserver into the execution environment to create a web-facing service. The web app exports HTTP as a service by binding to a port, and listening to requests coming in on that port. 9
  • 10. THE 12 FACTORS 8 Concurrency 
 Scale out via the process model. In the twelve-factor app, processes are a first class citizen. Processes in the twelve- factor app take strong cues from the unix process model for running service daemons. Using this model, the developer can architect their app to handle diverse workloads by assigning each type of work to a process type. 10
  • 11. THE 12 FACTORS 9 Disposability 
 Maximize robustness with fast startup and graceful shutdown. The twelve-factor app’s processes are disposable, meaning they can be started or stopped at a moment’s notice. This facilitates fast elastic scaling, rapid deployment of code or config changes, and robustness of production deploys. 11
  • 12. THE 12 FACTORS 10 Dev/Prod Parity 
 Keep development, staging, and production as similar as possible. The twelve-factor app is designed for continuous deployment by keeping the gap between development and production small. 12
  • 13. THE 12 FACTORS 11 Logs 
 Treat logs as event streams. A twelve-factor app never concerns itself with routing or storage of its output stream. It should not attempt to write to or manage logfiles. Instead, each running process writes its event stream, unbuffered, to stdout. During local development, the developer will view this stream in the foreground of their terminal to observe the app’s behavior. 13
  • 14. THE 12 FACTORS 12 Admin processes 
 Run admin/management tasks as one-off processes. The process formation is the array of processes that are used to do the app’s regular business (such as handling web requests) as it runs. Separately, developers will often wish to do one-off administrative or maintenance tasks for the app. 14