SlideShare a Scribd company logo
1 of 52
Download to read offline
commitporto.com/2016
CONTINUOUS DELIVERY
PLAYING WITH
IMMUTABLE SERVERS
João Cravo
@commitporto2016 @joaogbcravo @minderaswcraft
WHO AM I
- João Cravo
- Software Engineer
- Improving pipelines in the last 4 years
- Chef contributor
@commitporto2016 @joaogbcravo @minderaswcraft
WHERE I CAME FROM?
@commitporto2016 @joaogbcravo @minderaswcraft
WHERE I CAME FROM?
@commitporto2016 @joaogbcravo @minderaswcraft
CONTINUOUS DELIVERY
PLAYING WITH
IMMUTABLE SERVERS
@commitporto2016 @joaogbcravo @minderaswcraft
CONTINUOUS
DELIVERY
IMMUTABLE SERVERS
@commitporto2016 @joaogbcravo @minderaswcraft
WHAT IS …
CONTINUOUS
DELIVERY?
@commitporto2016 @joaogbcravo @minderaswcraft
CONTINUOUS DELIVERY (CD)
https://xebia.github.io/cd-with-docker/#/
@commitporto2016 @joaogbcravo @minderaswcraft
CONTINUOUS DELIVERY (CD)
http://software-carpentry.org/blog/2014/04/continuous-publication-requires-continuous-attention.html
@commitporto2016 @joaogbcravo @minderaswcraft
WHAT IS …
CONTINUOUS
INTEGRATION?
@commitporto2016 @joaogbcravo @minderaswcraft
CONTINUOUS INTEGRATION (CI)
@commitporto2016 @joaogbcravo @minderaswcraft
CD VS CONTINUOUS DEPLOYMENT
http://blog.crisp.se/wp-content/uploads/2013/02/continuous-delivery-deployment-sm.jpg
@commitporto2016 @joaogbcravo @minderaswcraft
DEVOPS
@commitporto2016 @joaogbcravo @minderaswcraft
WHAT IS DEVOPS?
A) A Tool Suite
B) A Job Position
C) A Team
@commitporto2016 @joaogbcravo @minderaswcraft
WHAT DEVOPS…
IS NOT
@commitporto2016 @joaogbcravo @minderaswcraft
DEVOPS IS NOT… A JOB TITLE
http://www.indeed.com/jobtrends/q-Devops-Engineer.html?relative=1
@commitporto2016 @joaogbcravo @minderaswcraft
DEVOPS IS NOT… A JOB TITLE
https://huddlebuy.workable.com/jobs/255850
… OR GOD
@commitporto2016 @joaogbcravo @minderaswcraft
DEVOPS IS NOT… A TEAM
@commitporto2016 @joaogbcravo @minderaswcraft
DEVOPS IS NOT… A TEAM
@commitporto2016 @joaogbcravo @minderaswcraft
DEVOPS IS NOT… USING TOOLS
@commitporto2016 @joaogbcravo @minderaswcraft
DEVOPS IS…
A CULTURE
“I LIKE TO DESCRIBE DEVOPS
AS THE CULMINATION OF
THREE AMAZING AND
SIGNIFICANT MOVEMENTS;
THE AGILE INFRASTRUCTURE
THREAD, THE VELOCITY
THREAD, AND THE LEAN
STARTUP THREAD.”
JOHN WILLIS, THE CONVERGENCE OF DEVOPS
“THE NOTION OF DEVOPS IS THE
REALISATION THAT THE
DEVELOPMENT PROCESS DOESN’T
END IN DEVELOPMENT. WE CAN’T
DISCONNECT THE OPERATIONS
PIECE OF SOFTWARE
(DEVELOPMENT) FROM THOSE
OTHER PHASES OF
DEVELOPMENT.”
RYAN BERG (THE CASE FOR DEVOPS)
“A CULTURE THAT AIMS TO BREAK
SILOS BETWEEN DIFFERENT TEAMS
IN AN IT ORGANISATION,
IMPROVING IN THIS WAY, THE
DELIVERY, QUALITY AND SUPPORT
OF THE SOFTWARE.”
JOÃO CRAVO, COMMITPORTO
@commitporto2016 @joaogbcravo @minderaswcraft
@commitporto2016 @joaogbcravo @minderaswcraft
WHAT IS …
AN IMMUTABLE
SERVER?
@commitporto2016 @joaogbcravo @minderaswcraft
MUTABLE SERVER
Subject to:
- manual changes
- automatic changes
- OS updates
- product updates
@commitporto2016 @joaogbcravo @minderaswcraft
CONFIGURATION MANAGEMENT TOOLS
@commitporto2016 @joaogbcravo @minderaswcraft
IMMUTABLE SERVER
- no changes
- no human access
- reproducible
- destroyable
@commitporto2016 @joaogbcravo @minderaswcraft
IMMUTABLE SERVER
@commitporto2016 @joaogbcravo @minderaswcraft
IMMUTABLE SERVER
@commitporto2016 @joaogbcravo @minderaswcraft
@commitporto2016 @joaogbcravo @minderaswcraft
CONTINUOUS DELIVERY
PLAYING WITH
IMMUTABLE SERVERS
@commitporto2016 @joaogbcravo @minderaswcraft
CD: PLAYING WITH IMMUTABLE SERVERS
- Build (aka CI)
- Create product image
- QA: Build a new immutable cluster
- Production: Build a new immutable cluster
@commitporto2016 @joaogbcravo @minderaswcraft
BUILD (AKA CI)
- Compile
- Tests (unit, integration, code style, etc)
- …
- Package
- Upload
@commitporto2016 @joaogbcravo @minderaswcraft
BUILD (AKA CI)
@commitporto2016 @joaogbcravo @minderaswcraft
CREATE PRODUCT IMAGE
@commitporto2016 @joaogbcravo @minderaswcraft
QA: BUILD A NEW IMMUTABLE CLUSTER
@commitporto2016 @joaogbcravo @minderaswcraft
PRODUCTION: BUILD A NEW IMMUTABLE CLUSTER
@commitporto2016 @joaogbcravo @minderaswcraft
CD: PLAYING WITH IMMUTABLE SERVERS
@commitporto2016 @joaogbcravo @minderaswcraft
ROLLBACK
205
200
@commitporto2016 @joaogbcravo @minderaswcraft
FLICK DNS
@commitporto2016 @joaogbcravo @minderaswcraft
PROS VS CONS
@commitporto2016 @joaogbcravo @minderaswcraft
PROBLEM 1 - IMAGE CREATING TIME
@commitporto2016 @joaogbcravo @minderaswcraft
PROBLEM 2 - ENVIRONMENT CONFIGURATION
- Database and other service connections
- Passwords
- Certificates
- Application settings
- …
@commitporto2016 @joaogbcravo @minderaswcraft
PROBLEM 3 - NO SSH TO MACHINES
- Debug ?
- Production hot fix ?
- Clean up space! Logs are using all the
space!
- …
@commitporto2016 @joaogbcravo @minderaswcraft
ADVANTAGE 1 - NO SSH TO MACHINES
Wasn’t this a problem?
@commitporto2016 @joaogbcravo @minderaswcraft
ADVANTAGE 1 - NO SSH TO MACHINES
- Security
- No“hammer time”
@commitporto2016 @joaogbcravo @minderaswcraft
ADVANTAGE 2 - CENTRALISED MONITORING
- Metrics
- Logs
http://statful.com/
@commitporto2016 @joaogbcravo @minderaswcraft
ADVANTAGE 3 - PIPELINES PARALLELISATION
@commitporto2016 @joaogbcravo @minderaswcraft
ADVANTAGE 3 - PIPELINES PARALLELISATION
@commitporto2016 @joaogbcravo @minderaswcraft
ADVANTAGE 4 - AUTO SCALING
- Protection against load
- Costs
@commitporto2016 @joaogbcravo @minderaswcraft
MORE ADVANTAGES ….
- Easy and fast rollback
- Provision once (image creation)
- Automatic recover
@commitporto2016 @joaogbcravo @minderaswcraft
SUMMARY
- Immutable Servers are just around to the corner
- Using immutable servers brings amazing advantages
- Embrace the agile, embrace the CI/CD processes
- Meet operations! There is a magic world outside your IDE
@commitporto2016 @joaogbcravo @minderaswcraft
THANKS!
joaogbcravo @ gmail.com
joaogbcravo

More Related Content

Viewers also liked

Centrales hidraulicas
Centrales hidraulicasCentrales hidraulicas
Centrales hidraulicas
gabriel60
 

Viewers also liked (19)

Accelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAccelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and Microservices
 
Jfokus 2015 - Immutable Server generation: the new App Deployment
Jfokus 2015 - Immutable Server generation: the new App DeploymentJfokus 2015 - Immutable Server generation: the new App Deployment
Jfokus 2015 - Immutable Server generation: the new App Deployment
 
Continuous Delivery for Cross-Platform Mobile Apps
Continuous Delivery for Cross-Platform Mobile AppsContinuous Delivery for Cross-Platform Mobile Apps
Continuous Delivery for Cross-Platform Mobile Apps
 
MOPCON 2015 - Tips of Mobile Continuous Delivery
MOPCON 2015 - Tips of Mobile Continuous DeliveryMOPCON 2015 - Tips of Mobile Continuous Delivery
MOPCON 2015 - Tips of Mobile Continuous Delivery
 
Continuous Delivery - Dealing with Zombies @rippleconf14 @Porto
Continuous Delivery - Dealing with Zombies @rippleconf14 @PortoContinuous Delivery - Dealing with Zombies @rippleconf14 @Porto
Continuous Delivery - Dealing with Zombies @rippleconf14 @Porto
 
Centrales hidraulicas
Centrales hidraulicasCentrales hidraulicas
Centrales hidraulicas
 
Jenkins a latravis - @cfgmgmtcamp 2016
Jenkins a latravis - @cfgmgmtcamp 2016Jenkins a latravis - @cfgmgmtcamp 2016
Jenkins a latravis - @cfgmgmtcamp 2016
 
Mobile Game Publishing Through The ZALO Game Center
Mobile Game Publishing Through The ZALO Game Center Mobile Game Publishing Through The ZALO Game Center
Mobile Game Publishing Through The ZALO Game Center
 
Intro to Netflix's Chaos Monkey
Intro to Netflix's Chaos MonkeyIntro to Netflix's Chaos Monkey
Intro to Netflix's Chaos Monkey
 
World-Class Testing Development Pipeline for Android
 World-Class Testing Development Pipeline for Android World-Class Testing Development Pipeline for Android
World-Class Testing Development Pipeline for Android
 
Immutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWSImmutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWS
 
Devops With Boxfuse and Shippable
Devops With Boxfuse and ShippableDevops With Boxfuse and Shippable
Devops With Boxfuse and Shippable
 
Immutable Service Delivery Shenzhen 2016
Immutable Service Delivery   Shenzhen 2016Immutable Service Delivery   Shenzhen 2016
Immutable Service Delivery Shenzhen 2016
 
Dependency injection on Android
Dependency injection on AndroidDependency injection on Android
Dependency injection on Android
 
Mini-Training: Netflix Simian Army
Mini-Training: Netflix Simian ArmyMini-Training: Netflix Simian Army
Mini-Training: Netflix Simian Army
 
DevOps'n the Operating System
DevOps'n the Operating SystemDevOps'n the Operating System
DevOps'n the Operating System
 
Vietnam Mobile Market Report 2015
Vietnam Mobile Market Report 2015 Vietnam Mobile Market Report 2015
Vietnam Mobile Market Report 2015
 
Effective Android UI - English
Effective Android UI - EnglishEffective Android UI - English
Effective Android UI - English
 
Software Design patterns on Android English
Software Design patterns on Android EnglishSoftware Design patterns on Android English
Software Design patterns on Android English
 

Similar to Continuous Delivery: Playing with Immutable servers @commitporto 2016

KazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo ScalabilityKazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo Scalability
2600Hz
 

Similar to Continuous Delivery: Playing with Immutable servers @commitporto 2016 (20)

Managing your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CIManaging your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CI
 
Enabling Microservice @ Orbitz - GOTO Chicago 2016
Enabling Microservice @ Orbitz - GOTO Chicago 2016Enabling Microservice @ Orbitz - GOTO Chicago 2016
Enabling Microservice @ Orbitz - GOTO Chicago 2016
 
Martin Splitt "Progressive web apps with Polymer"
Martin Splitt "Progressive web apps with Polymer"Martin Splitt "Progressive web apps with Polymer"
Martin Splitt "Progressive web apps with Polymer"
 
First Impressions Matter: Onboarding for First Time Users
First Impressions Matter: Onboarding for First Time UsersFirst Impressions Matter: Onboarding for First Time Users
First Impressions Matter: Onboarding for First Time Users
 
Under the Knife: Plastic Surgery for Classic Software
Under the Knife: Plastic Surgery for Classic SoftwareUnder the Knife: Plastic Surgery for Classic Software
Under the Knife: Plastic Surgery for Classic Software
 
First Impressions Matter: Onboarding for First Time Users
First Impressions Matter: Onboarding for First Time UsersFirst Impressions Matter: Onboarding for First Time Users
First Impressions Matter: Onboarding for First Time Users
 
Feedback en continu grâce au TDD et au AsCode
Feedback en continu grâce au TDD et au AsCodeFeedback en continu grâce au TDD et au AsCode
Feedback en continu grâce au TDD et au AsCode
 
今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k
 
Addressing IPv6
Addressing IPv6Addressing IPv6
Addressing IPv6
 
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
 
Team Support in Concourse CI 2.0 #concourse_tokyo
Team Support in Concourse CI 2.0 #concourse_tokyoTeam Support in Concourse CI 2.0 #concourse_tokyo
Team Support in Concourse CI 2.0 #concourse_tokyo
 
Migrating Web SDK from JS to TS
Migrating Web SDK from JS to TSMigrating Web SDK from JS to TS
Migrating Web SDK from JS to TS
 
SPFest Chicago - Cross-site publishing to communication sites
SPFest Chicago - Cross-site publishing to communication sitesSPFest Chicago - Cross-site publishing to communication sites
SPFest Chicago - Cross-site publishing to communication sites
 
KazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo ScalabilityKazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo Scalability
 
HTML5 Mobile Game Development - Brisbane Game Technology Meetup 2015
HTML5 Mobile Game Development - Brisbane Game Technology Meetup 2015HTML5 Mobile Game Development - Brisbane Game Technology Meetup 2015
HTML5 Mobile Game Development - Brisbane Game Technology Meetup 2015
 
Ansible ALLTHETHINGS
Ansible ALLTHETHINGSAnsible ALLTHETHINGS
Ansible ALLTHETHINGS
 
Ubuntu Opportunistic Programming (Europython 2011)
Ubuntu Opportunistic Programming (Europython 2011)Ubuntu Opportunistic Programming (Europython 2011)
Ubuntu Opportunistic Programming (Europython 2011)
 
Code Dojo for Product Owners
Code Dojo for Product OwnersCode Dojo for Product Owners
Code Dojo for Product Owners
 
Infrastructure as Code with AWS CloudFormation
Infrastructure as Code with AWS CloudFormationInfrastructure as Code with AWS CloudFormation
Infrastructure as Code with AWS CloudFormation
 
Testing in the Dark
Testing in the DarkTesting in the Dark
Testing in the Dark
 

Recently uploaded

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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
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
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 

Continuous Delivery: Playing with Immutable servers @commitporto 2016