SlideShare a Scribd company logo
Immutable Server Generation
The New App Deployment
AXEL FONTAINE
@axelfontaine
axel@boxfuse.com
flywaydb.org
boxfuse.com
about
questions
POLL:
which level of automation are you at?
• Build
• Unit Tests
• Continuous Integration
• Acceptance Tests
• Continuous Deployment (Code)
• Continuous Deployment (Code + DB + Configuration)
• Infrastructure
Build Test
Build Test
• One immutable unit
• Regenerated after every change
• Promoted from Environment to Environment
Classic Mistake: Build per Environment
OS Kernel
Libraries
Language
App Server
App
OS Kernel
Libraries
Language
App Server
App
why aren’t we doing the same
for the server this is running on ???
what could possibly go wrong
in the other layers ???
missing software
wrong name
bad version
incorrect permissions
http://www.flickr.com/photos/travelinlibrarian/2409633653/sizes/l/
critical resource in use
what aren’t we holding our servers to the
same standards as our applications ???
how did we get into this mess ???
sometime in the 20th century …
Jfokus 2015 - Immutable Server generation: the new App Deployment
http://en.wikipedia.org/wiki/File:Tdkc60cassette.jpg
Jfokus 2015 - Immutable Server generation: the new App Deployment
OS Kernel
Libraries
Language
App Server
App
Build Test
OS Kernel
Libraries
Language
App Server
App
Build Test
App
OS Kernel
Libraries
Language
App Server
App
OS Kernel
Libraries
Language
App Server
App
OS Kernel
Libraries
Language
App Server
App
Updates UpdatesUpdates
Sysadmin
If I had asked my
customers what they
wanted they would have
said a faster horse.
Henry Ford
OS Kernel
Libraries
Language
App Server
App
OS Kernel
Libraries
Language
App Server
App
OS Kernel
Libraries
Language
App Server
App
Updates UpdatesUpdates
Sysadmin
OS Kernel
Libraries
Language
App Server
App
OS Kernel
Libraries
Language
App Server
App
OS Kernel
Libraries
Language
App Server
App
Updates UpdatesUpdates
Automated
Sysadmin
fast forward to 2015 …
Every day, AWS adds
enough server capacity
to power the whole $5B
enterprise Amazon.com
was in 2003.
Weekends included.
it is time to rethink the faster horse
App
OS Kernel
Libraries
Language
App Server
Build Test
App
OS Kernel
Libraries
Language
App Server
Build Test
App
Machine
Image
OS Kernel
Libraries
Language
App Server
Build Test
Machine
Image
OS Kernel
Libraries
Language
App Server
App
OS Kernel
Libraries
Language
App Server
App
OS Kernel
Libraries
Language
App Server
App
Machine
Image
Machine
Image
Machine
Image
Machine
Image
Machine
Image
Machine
Image
Updates
but there is one big problem left …
Machine
Image
Network Cable
Machine
Image
Network Cable
Multiple
GB
Running servers in
production should be like
going backpacking. You
take the bare minimum
with you. Anything else
is going to hurt.
A Wise Man
what is really adding business value ???
Machine
Image
Network Cable
Editors
Daemons OS Kernel
Libraries
Utilities
Drivers
App
App Server
Package Mgr
Compilers
SSH
Firewall
Compatibility
Man Pages
Language
Log Files
Users
Shells
Machine
Image
Network Cable
OS Kernel
Libraries
App
App Server
Language
Bootable
App
40 – 80
MB
Multiple
GB
40 – 80
MB
Network Cable
Bootable
App
who is this for ???
OS Kernel
Libraries
Language
App Server
App
12-factor app
demo
what is the big change ???
Focus shift
Individual servers become disposable
Server Service
Treat servers like cattle instead of pets
Treat servers like cattle instead of pets
what about the database ???
Bootable
App
what about the logs ???
Bootable
App
what about sessions ???
Session in cookie
what about the new versions ???
Load
Balancer
App
v1
App
v1
Logs
Availability Zone 1
Availability Zone 2
Load
Balancer
App
v1
App
v1
Logs
Availability Zone 1
Availability Zone 2
Load
Balancer
App
v2
App
v1
App
v2
App
v1
Logs
Availability Zone 1
Availability Zone 2
Load
Balancer
App
v2
App
v1
App
v2
App
v1
Logs
Availability Zone 1
Availability Zone 2
summary
• One immutable unit
• Regenerated after every change
• Promoted from Environment to Environment
Classic Mistake: Build per Environment
Bootable
App
• One immutable unit
• Regenerated after every change
• Promoted from Environment to Environment
Classic Mistake: Build per Environment
boxfuse.com
Thanks !
AXEL FONTAINE
@axelfontaine
axel@boxfuse.com
boxfuse.com

More Related Content

PPTX
Architecting for continuous delivery (33rd Degree)
PPTX
Immutable Server generation: The new App Deployment
PPTX
Architecting for Continuous Delivery
PPTX
Immutable Infrastructure: the new App Deployment
PDF
Continuous Delivery and Zero Downtime: What your architecture needs to succeed
PPTX
OpenNTF Webinar May 2021 - Jesse
PPT
Version Control ThinkVitamin
PDF
ELK Stack
Architecting for continuous delivery (33rd Degree)
Immutable Server generation: The new App Deployment
Architecting for Continuous Delivery
Immutable Infrastructure: the new App Deployment
Continuous Delivery and Zero Downtime: What your architecture needs to succeed
OpenNTF Webinar May 2021 - Jesse
Version Control ThinkVitamin
ELK Stack

What's hot (17)

PDF
Raffaele Rialdi
PDF
Iguazú: A Long-Running Job Scheduler using Docker and Mesos
PPTX
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
PPTX
Into the cloud
PPTX
DevOps with Elastic Beanstalk - TCCC-2014
PDF
What's New in v2 - AnsibleFest London 2015
PDF
What's new in xamarin.android, Jonathan Pryor
PDF
[Jun AWS 201] Elastic Beanstalk for Startups
PDF
Jenkins vs. AWS CodePipeline
PPTX
Building a REST Service in minutes with Spring Boot
PDF
AWS DevOps Event - AWS Services enabling DevOps - Continuous Integration & Au...
PDF
.NET Day Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
PPTX
Integration-Monday-Terraform-Serverless
PDF
Learn How Selenium And Jenkins Fit In DevOps | Edureka Live
PDF
Infrastructure as Code
PDF
Manchester Expert Talks (April 2017) - Breaking Down Your Build: Architectura...
PDF
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
Raffaele Rialdi
Iguazú: A Long-Running Job Scheduler using Docker and Mesos
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Into the cloud
DevOps with Elastic Beanstalk - TCCC-2014
What's New in v2 - AnsibleFest London 2015
What's new in xamarin.android, Jonathan Pryor
[Jun AWS 201] Elastic Beanstalk for Startups
Jenkins vs. AWS CodePipeline
Building a REST Service in minutes with Spring Boot
AWS DevOps Event - AWS Services enabling DevOps - Continuous Integration & Au...
.NET Day Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Integration-Monday-Terraform-Serverless
Learn How Selenium And Jenkins Fit In DevOps | Edureka Live
Infrastructure as Code
Manchester Expert Talks (April 2017) - Breaking Down Your Build: Architectura...
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
Ad

Similar to Jfokus 2015 - Immutable Server generation: the new App Deployment (20)

PDF
Immutable Infrastructure: Rise of the Machine Images
ODP
Automated Deployment using Open Source
PDF
Scaling a Rails Application from the Bottom Up
PDF
Continuous Deployment of Architectural Change
PDF
Clearly, I Have Made Some Bad Decisions
PDF
Web 2.0 Performance and Reliability: How to Run Large Web Apps
PDF
How to Build a Compute Cluster
PDF
Containerizing legacy applications
PDF
JUDCon 2010 Boston : BoxGrinder
PDF
Belvedere
PDF
What's New in RHEL 6 for Linux on System z?
PDF
You ain't gonna need write a GenServer - Ulisses Almeida | Elixir Club Ukraine
PDF
Rails in the Cloud
PDF
Rails in the Cloud - Experiences from running on EC2
KEY
Don't touch that server
PDF
Continuous Delivery: The Dirty Details
PPT
PHP – Faster And Cheaper. Scale Vertically with IBM i
PDF
Gearman - Northeast PHP 2012
PDF
Linux on System z Update: Current & Future Linux on System z Technology
PDF
Configuration management: automating and rationalizing server setup with CFEn...
Immutable Infrastructure: Rise of the Machine Images
Automated Deployment using Open Source
Scaling a Rails Application from the Bottom Up
Continuous Deployment of Architectural Change
Clearly, I Have Made Some Bad Decisions
Web 2.0 Performance and Reliability: How to Run Large Web Apps
How to Build a Compute Cluster
Containerizing legacy applications
JUDCon 2010 Boston : BoxGrinder
Belvedere
What's New in RHEL 6 for Linux on System z?
You ain't gonna need write a GenServer - Ulisses Almeida | Elixir Club Ukraine
Rails in the Cloud
Rails in the Cloud - Experiences from running on EC2
Don't touch that server
Continuous Delivery: The Dirty Details
PHP – Faster And Cheaper. Scale Vertically with IBM i
Gearman - Northeast PHP 2012
Linux on System z Update: Current & Future Linux on System z Technology
Configuration management: automating and rationalizing server setup with CFEn...
Ad

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
cuic standard and advanced reporting.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
Network Security Unit 5.pdf for BCA BBA.
MIND Revenue Release Quarter 2 2025 Press Release
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
Mobile App Security Testing_ A Comprehensive Guide.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
cuic standard and advanced reporting.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Per capita expenditure prediction using model stacking based on satellite ima...
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf
Understanding_Digital_Forensics_Presentation.pptx

Jfokus 2015 - Immutable Server generation: the new App Deployment