SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Text

12 Steps to DevOps Nirvana
Bhavin Javia
@bhavinjavia

Founder @
!=
+
- by Adam Wiggins
co-founder

http://12factor.net
What is
methodology to build SaaS apps
triangulation of best practices
development, deployment, scaling of 100,000s of apps
organic growth, collaboration, avoid software erosion
awareness, shared vocabulary, conceptual solutions
Who should read ?
Devs building SaaS apps
Ops engineers managing
SaaS apps
Apps written in any
programming language
Apps deployed on the
cloud
I. Codebase
Tracked in version control
One codebase per app
Many deploys
Same codebase, different
versions
Mutiple apps == Multiple
Codebases (and Apps)
Extract Libraries to share code
II. Dependencies
Never rely on system-wide
packages
Dependency declaration &
Dependency isolation
Use tools for both
Simplifies setup for new devs
Vendored system tools
(controversial)
III. Config
Anything that varies across
deployments
Except internal app config
Strictly separate config from code
Litmus Test: Can you open source it
RIGHT NOW ?
Store config in Files (good) or ENV
vars (better)
Grouping of ENV vars (does not scale)
IV. Backing Services
Any services consumed over the network
Attached resources
No distinction b/w
Local & Third Party services
Service == Resource
Resources attached or detached at will
V. Build, release, run
Strictly separate stages
1. Build
Convert code to executable ‘build’
Can be complex
2. Release
Combine build
	

& config
Immutable

3. Run
run the release
keep it simple
VI. Processes
One or more processes
Stateless and share-nothing
Process Memory/FS ==
transactional cache
Store persistent data in
stateful backing storage
No sticky sessions
(controversial)
VII. Port binding
Export services via port
binding
App binds to HTTP port
Most server software
can use port binding
One app == backing
service for another
VIII. Concurrency
Scale out via process model
Scale == Running Processes
Workload Diversity = Process Types
Does not exclude internal threads,
evented model
Adding concurrency is simple and
reliable
Never daemonize and use a
Process Manager
IX. Disposability
Processes are disposable
Minimize startup time
Shut down gracefully
Should handle hardware
failure
Return jobs back to the
queue on failures
X. Dev/prod parity
Keep Dev, Staging, Production similar
Reduce gaps in Time, Personnel and
Tools
Design for Continuous Deployment
Mind parity issues in Backing Services
Lightweight, local services less
compelling
Use same type & version of backing
services
XI. Logs
Logs == Event streams
Provide visibility into running app
App not concerned about routing/storage
Route all logs to single destination
Index and analyse logs for
Find past events
Graphing of trends
Alerting
XII. Admin processes
Run admin tasks as one-off
processes
DB migrations
REPL shell
One-time scripts
Run Admin process in identical env
Run against same release
Ship admin code with app code
Is it for me ?
These are broad, conceptual
guidelines
You might have
Env specific differences
Organizational constraints
Infrastructural constraints
YMMV
See what works
Thank You
@bhavinjavia
bhavin@mavenhive.in
https://speakerdeck.com/bhavinjavia
http://www.slideshare.net/bhavinjavia

Más contenido relacionado

La actualidad más candente

DevOps & DevSecOps in Swiss Banking
DevOps & DevSecOps in Swiss BankingDevOps & DevSecOps in Swiss Banking
DevOps & DevSecOps in Swiss BankingAarno Aukia
 
Software Alliance - Hire Remote Developers Team Europe
Software Alliance -  Hire Remote Developers Team EuropeSoftware Alliance -  Hire Remote Developers Team Europe
Software Alliance - Hire Remote Developers Team EuropeSoftware Alliance
 
The State of DevOps Tools: A Primer
The State of DevOps Tools: A PrimerThe State of DevOps Tools: A Primer
The State of DevOps Tools: A PrimerDevOps.com
 
#SheSharp Conference - Azure DevOps for .NET
#SheSharp Conference - Azure DevOps for .NET#SheSharp Conference - Azure DevOps for .NET
#SheSharp Conference - Azure DevOps for .NETJaqueline Ramos
 
Painless DevSecOps: Building Security Into Your DevOps Pipeline
Painless DevSecOps: Building Security Into Your DevOps PipelinePainless DevSecOps: Building Security Into Your DevOps Pipeline
Painless DevSecOps: Building Security Into Your DevOps PipelineTasktop
 
Kelis king - engineering approach to develop software.
Kelis king -  engineering approach to develop software.Kelis king -  engineering approach to develop software.
Kelis king - engineering approach to develop software.KelisKing
 
Professional Cloud DevOps Engineer - Study Group - Week 1
Professional Cloud DevOps Engineer - Study Group - Week 1Professional Cloud DevOps Engineer - Study Group - Week 1
Professional Cloud DevOps Engineer - Study Group - Week 1Ervin Weber
 
Mark Harrison AppDev 2021
Mark Harrison AppDev 2021Mark Harrison AppDev 2021
Mark Harrison AppDev 2021Mark Harrison
 
Azure DevOps Day - Kochi
Azure DevOps Day - KochiAzure DevOps Day - Kochi
Azure DevOps Day - KochiAmal Dev
 
What manufacturing teaches about DevOps
What manufacturing teaches about DevOpsWhat manufacturing teaches about DevOps
What manufacturing teaches about DevOpsGordon Haff
 
Are you ready for cloud-native Java?
Are you ready for cloud-native Java?Are you ready for cloud-native Java?
Are you ready for cloud-native Java?Graham Charters
 
Azure DevOps Day - Trivandrum
Azure DevOps Day - TrivandrumAzure DevOps Day - Trivandrum
Azure DevOps Day - TrivandrumAmal Dev
 

La actualidad más candente (20)

Demystifying DevOps
Demystifying DevOpsDemystifying DevOps
Demystifying DevOps
 
DevOps & DevSecOps in Swiss Banking
DevOps & DevSecOps in Swiss BankingDevOps & DevSecOps in Swiss Banking
DevOps & DevSecOps in Swiss Banking
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
Software Alliance - Hire Remote Developers Team Europe
Software Alliance -  Hire Remote Developers Team EuropeSoftware Alliance -  Hire Remote Developers Team Europe
Software Alliance - Hire Remote Developers Team Europe
 
The State of DevOps Tools: A Primer
The State of DevOps Tools: A PrimerThe State of DevOps Tools: A Primer
The State of DevOps Tools: A Primer
 
Devops
DevopsDevops
Devops
 
#SheSharp Conference - Azure DevOps for .NET
#SheSharp Conference - Azure DevOps for .NET#SheSharp Conference - Azure DevOps for .NET
#SheSharp Conference - Azure DevOps for .NET
 
Painless DevSecOps: Building Security Into Your DevOps Pipeline
Painless DevSecOps: Building Security Into Your DevOps PipelinePainless DevSecOps: Building Security Into Your DevOps Pipeline
Painless DevSecOps: Building Security Into Your DevOps Pipeline
 
Kelis king - engineering approach to develop software.
Kelis king -  engineering approach to develop software.Kelis king -  engineering approach to develop software.
Kelis king - engineering approach to develop software.
 
From Continuous Integration to DevOps
From Continuous Integration to DevOpsFrom Continuous Integration to DevOps
From Continuous Integration to DevOps
 
Professional Cloud DevOps Engineer - Study Group - Week 1
Professional Cloud DevOps Engineer - Study Group - Week 1Professional Cloud DevOps Engineer - Study Group - Week 1
Professional Cloud DevOps Engineer - Study Group - Week 1
 
Mark Harrison AppDev 2021
Mark Harrison AppDev 2021Mark Harrison AppDev 2021
Mark Harrison AppDev 2021
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
Azure DevOps Day - Kochi
Azure DevOps Day - KochiAzure DevOps Day - Kochi
Azure DevOps Day - Kochi
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
 
What manufacturing teaches about DevOps
What manufacturing teaches about DevOpsWhat manufacturing teaches about DevOps
What manufacturing teaches about DevOps
 
Are you ready for cloud-native Java?
Are you ready for cloud-native Java?Are you ready for cloud-native Java?
Are you ready for cloud-native Java?
 
Azure DevOps Day - Trivandrum
Azure DevOps Day - TrivandrumAzure DevOps Day - Trivandrum
Azure DevOps Day - Trivandrum
 
Containerization Strategy
Containerization StrategyContainerization Strategy
Containerization Strategy
 
DevOps
DevOpsDevOps
DevOps
 

Similar a 12 Steps to DevOps Nirvana

The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor appRavi Okade
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudLauren Hayward Schaefer
 
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
 
Adopting a PaaS Solution (Part 2) - Red Hat DevOps & Microservices Conference...
Adopting a PaaS Solution (Part 2) - Red Hat DevOps & Microservices Conference...Adopting a PaaS Solution (Part 2) - Red Hat DevOps & Microservices Conference...
Adopting a PaaS Solution (Part 2) - Red Hat DevOps & Microservices Conference...Xpand IT
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native DevelopmentManuel Garcia
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native BootcampVMware Tanzu
 
App Development Evolution: What has changed?
App Development Evolution: What has changed? App Development Evolution: What has changed?
App Development Evolution: What has changed? Dev_Events
 
Mordernizing Traditional Applications. An Introduction to Containerization
Mordernizing Traditional Applications. An Introduction to ContainerizationMordernizing Traditional Applications. An Introduction to Containerization
Mordernizing Traditional Applications. An Introduction to ContainerizationOluwadamilare Ibrahim
 
Azure Modern Cloud App Development Approaches 2017
Azure Modern Cloud App Development Approaches 2017Azure Modern Cloud App Development Approaches 2017
Azure Modern Cloud App Development Approaches 2017Vadim Zendejas
 
Fast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSFast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSAmazon Web Services
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Liran Levy
 
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB
 
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.
 
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
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0Jasmine Conseil
 
Sequence Like a Boss - BriForum 2015 Denver
Sequence Like a Boss - BriForum 2015 DenverSequence Like a Boss - BriForum 2015 Denver
Sequence Like a Boss - BriForum 2015 DenverRyanWillDotcom
 

Similar a 12 Steps to DevOps Nirvana (20)

The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor app
 
The Twelve-Factor App
The Twelve-Factor AppThe Twelve-Factor App
The Twelve-Factor App
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
 
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 ...
 
Adopting a PaaS Solution (Part 2) - Red Hat DevOps & Microservices Conference...
Adopting a PaaS Solution (Part 2) - Red Hat DevOps & Microservices Conference...Adopting a PaaS Solution (Part 2) - Red Hat DevOps & Microservices Conference...
Adopting a PaaS Solution (Part 2) - Red Hat DevOps & Microservices Conference...
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native Development
 
Hello cloud 6
Hello  cloud 6Hello  cloud 6
Hello cloud 6
 
Twelve factor apps
Twelve factor appsTwelve factor apps
Twelve factor apps
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 
App Development Evolution: What has changed?
App Development Evolution: What has changed? App Development Evolution: What has changed?
App Development Evolution: What has changed?
 
Mordernizing Traditional Applications. An Introduction to Containerization
Mordernizing Traditional Applications. An Introduction to ContainerizationMordernizing Traditional Applications. An Introduction to Containerization
Mordernizing Traditional Applications. An Introduction to Containerization
 
Azure Modern Cloud App Development Approaches 2017
Azure Modern Cloud App Development Approaches 2017Azure Modern Cloud App Development Approaches 2017
Azure Modern Cloud App Development Approaches 2017
 
Fast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSFast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWS
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
 
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
 
Twelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureTwelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application Architecture
 
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
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
Sequence Like a Boss - BriForum 2015 Denver
Sequence Like a Boss - BriForum 2015 DenverSequence Like a Boss - BriForum 2015 Denver
Sequence Like a Boss - BriForum 2015 Denver
 

Más de Bhavin Javia

Make ruby talk to your users - literally
Make ruby talk to your users - literallyMake ruby talk to your users - literally
Make ruby talk to your users - literallyBhavin Javia
 
Write your Ruby in Style
Write your Ruby in StyleWrite your Ruby in Style
Write your Ruby in StyleBhavin Javia
 
Agile for Startups
Agile for StartupsAgile for Startups
Agile for StartupsBhavin Javia
 
Get on "The Cloud" with AWS
Get on "The Cloud" with AWSGet on "The Cloud" with AWS
Get on "The Cloud" with AWSBhavin Javia
 
Agile Team Dynamics
Agile Team DynamicsAgile Team Dynamics
Agile Team DynamicsBhavin Javia
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and BuildsBhavin Javia
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Bhavin Javia
 

Más de Bhavin Javia (7)

Make ruby talk to your users - literally
Make ruby talk to your users - literallyMake ruby talk to your users - literally
Make ruby talk to your users - literally
 
Write your Ruby in Style
Write your Ruby in StyleWrite your Ruby in Style
Write your Ruby in Style
 
Agile for Startups
Agile for StartupsAgile for Startups
Agile for Startups
 
Get on "The Cloud" with AWS
Get on "The Cloud" with AWSGet on "The Cloud" with AWS
Get on "The Cloud" with AWS
 
Agile Team Dynamics
Agile Team DynamicsAgile Team Dynamics
Agile Team Dynamics
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and Builds
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...
 

Último

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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 StreamsRoshan Dwivedi
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

12 Steps to DevOps Nirvana

  • 1. Text 12 Steps to DevOps Nirvana Bhavin Javia @bhavinjavia Founder @
  • 3. - by Adam Wiggins co-founder http://12factor.net
  • 4. What is methodology to build SaaS apps triangulation of best practices development, deployment, scaling of 100,000s of apps organic growth, collaboration, avoid software erosion awareness, shared vocabulary, conceptual solutions
  • 5. Who should read ? Devs building SaaS apps Ops engineers managing SaaS apps Apps written in any programming language Apps deployed on the cloud
  • 6. I. Codebase Tracked in version control One codebase per app Many deploys Same codebase, different versions Mutiple apps == Multiple Codebases (and Apps) Extract Libraries to share code
  • 7. II. Dependencies Never rely on system-wide packages Dependency declaration & Dependency isolation Use tools for both Simplifies setup for new devs Vendored system tools (controversial)
  • 8. III. Config Anything that varies across deployments Except internal app config Strictly separate config from code Litmus Test: Can you open source it RIGHT NOW ? Store config in Files (good) or ENV vars (better) Grouping of ENV vars (does not scale)
  • 9. IV. Backing Services Any services consumed over the network Attached resources No distinction b/w Local & Third Party services Service == Resource Resources attached or detached at will
  • 10. V. Build, release, run Strictly separate stages 1. Build Convert code to executable ‘build’ Can be complex 2. Release Combine build & config Immutable 3. Run run the release keep it simple
  • 11. VI. Processes One or more processes Stateless and share-nothing Process Memory/FS == transactional cache Store persistent data in stateful backing storage No sticky sessions (controversial)
  • 12. VII. Port binding Export services via port binding App binds to HTTP port Most server software can use port binding One app == backing service for another
  • 13. VIII. Concurrency Scale out via process model Scale == Running Processes Workload Diversity = Process Types Does not exclude internal threads, evented model Adding concurrency is simple and reliable Never daemonize and use a Process Manager
  • 14. IX. Disposability Processes are disposable Minimize startup time Shut down gracefully Should handle hardware failure Return jobs back to the queue on failures
  • 15. X. Dev/prod parity Keep Dev, Staging, Production similar Reduce gaps in Time, Personnel and Tools Design for Continuous Deployment Mind parity issues in Backing Services Lightweight, local services less compelling Use same type & version of backing services
  • 16. XI. Logs Logs == Event streams Provide visibility into running app App not concerned about routing/storage Route all logs to single destination Index and analyse logs for Find past events Graphing of trends Alerting
  • 17. XII. Admin processes Run admin tasks as one-off processes DB migrations REPL shell One-time scripts Run Admin process in identical env Run against same release Ship admin code with app code
  • 18. Is it for me ? These are broad, conceptual guidelines You might have Env specific differences Organizational constraints Infrastructural constraints YMMV