SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Kief Morris
Head of Cloud Engineering Practices
EVOLVE!
Your Infrastructure
Kief Morris
kief@thoughtworks.com
Head of Cloud Engineering Practices
Twitter: @kief
Book: http://oreil.ly/1JKIBVe
Site: http://infrastructure-as-code.com
CLOUD
RISK
Throughput
Poor Throughput Instability
Stability
State of the DevOps Report

https://devops-research.com/







Accelerate,

Nicole Forsgren, PhD,

Jez Humble,

Gene Kim
THROUGHPUT
STABILITY
The Four
Metrics
DEPLOYMENT
FREQUENCY
LEAD TIME FOR
CHANGES
CHANGE FAIL RATE
TIME TO RESTORE
SERVICE
"The highest performers
excel at throughput and
stability"
State of the DevOps Report 2018
Nicole Forsgren, PhD, Jez Humble, Gene Kim
https://devops-research.com/
ThroughputStability
FastSlow
Stable
Unstable
Prioritize
throughput
over stability
FRAGILE
MESS
FastSlow
Unstable
Prioritize correctness
over speed of change
Stable
Slow
Unstable
FRAGILE
MESS
Agile, Lean,
DevOps
FastSlow
Stable
Unstable
"Since we can't avoid change,
we need to exploit it"
Building Evolutionary Architectures
Neal Ford, Rebecca Parsons, Pat Kua
OPTIMIZE
FOR
CHANGE
AS CODE
CONTINUOUS
VALIDATION
SMALL
PIECES
Define all
your stuff
AS CODE
Define infrastructure as code
Infrastructure configuration is:
• Visible
• Reusable
• Consistent
• Testable
Infrastructure PLATFORM
Compute
Storage
Networking
Amazon AWS
Microsoft Azure
Google Cloud
Platform
Digital Ocean
OpenStack
VMWare
Infrastructure STACK
A collection of infrastructure
resources defined and
managed as a unit
Terraform
AWS
CloudFormation
Azure Resource
Manager
Google Cloud
Deployment
Ansible Cloud
Modules
OpenStack Heat
Chef Provisioning
Puppet
Provisioning
Salt Cloud
Application Runtime Platforms
APP
Serverless
Runtimes
APP
APP
Virtual
Machines
APP
APP
APP
Container
ClustersPhysical
Hardware
APP
APP
MANAGING MULTIPLE
ENVIRONMENTS
Many-headed stack antipattern
Test Staging Production
our_env/
!"" test.tf
!"" staging.tf
!""
production.tf
Changes have a wide blast radius
Test Staging Production
our_env/
!"" test.tf
!"" staging.tf
!""
production.tf
😢
Singleton stack antipattern
our_env/
!"" test/
!""
servers.tf
our_env/
!"" staging/
!""
servers.tf
our_env/
!"" production/
!""
servers.tf
Test
Staging
Production
Code changes by copy/paste
our_env/
!"" test/
!""
servers.tf
our_env/
!"" staging/
!""
servers.tf
our_env/
!"" production/
!""
servers.tf
Test
Staging
Production
Template stack pattern
test instance
stack
source
code
Staging
Production
CONTINUOUSLY
VALIDATE all work
in progress as you
go
Automatically test every change before applying it
Promote changes to environments using a pipeline
BUILDLOCAL
APPLY
TO QA
APPLY
TO PROD
Sandbox
QA Production
APPLY
TO TEST
Test
Processes and controls
are enforced by code
Every change is logged
and traceable, from
commit to production
Enable governance with pipelines
Environment Definitions
Test Code
Compliance Specifications
Pipeline Definitions
Challenge: Feedback cycles
This stuff is slow.
Very.
Very.
Slow.
BUILD SMALL,
independently
releasable
components
Break out server roles
Stack
Java
Cookbook
Tomcat
Cookbook
Appserver Role
Monitoring
Agent
Cookbook
Test server configurations
Test configuration
elements separately Provision and test using
virtual machines or
containers
Test locally or on build
agents
Extract separate pipeline stages for
server configuration
Test stack definition
Test server configuration
Test integrated system
Monolithic stack
Wide blast radius, high coordination
overhead
😢
Divide infrastructure into multiple, independently changeable
stacks
Each stack has its own pipeline to deliver changes
Draw boundaries to optimize for change
How to start?
Build first?
Or automate first?
Automation makes delivery faster
and more reliable
Adding automation afterwards
probably means rebuilding
Build incrementally
Automate as you go
kief@thoughtworks.com
Head of Cloud Engineering Practices
Twitter: @kief
Book: http://oreil.ly/1JKIBVe
Site: http://infrastructure-as-code.com

Más contenido relacionado

Más de Thoughtworks

Más de Thoughtworks (20)

Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloud
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of Innovation
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
 
Error handling
Error handlingError handling
Error handling
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!
 
Docker container security
Docker container securityDocker container security
Docker container security
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unit
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to Turing
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked out
 
Do No Harm: Do Technologists Need a Code of Ethics?
Do No Harm: Do Technologists Need a Code of Ethics?Do No Harm: Do Technologists Need a Code of Ethics?
Do No Harm: Do Technologists Need a Code of Ethics?
 
Machine Learning for Product Managers
Machine Learning for Product ManagersMachine Learning for Product Managers
Machine Learning for Product Managers
 
Making best-in-class security ubiquitous - Why security is no longer just an ...
Making best-in-class security ubiquitous - Why security is no longer just an ...Making best-in-class security ubiquitous - Why security is no longer just an ...
Making best-in-class security ubiquitous - Why security is no longer just an ...
 
Security by default - Building continuous cyber-resilience.
Security by default - Building continuous cyber-resilience.Security by default - Building continuous cyber-resilience.
Security by default - Building continuous cyber-resilience.
 
How to tell secrets
How to tell secretsHow to tell secrets
How to tell secrets
 
Continuous Delivery for Machine Learning
Continuous Delivery for Machine LearningContinuous Delivery for Machine Learning
Continuous Delivery for Machine Learning
 
Alice has a Blue Car: Beginning the Conversation Around Ethically Aware Decis...
Alice has a Blue Car: Beginning the Conversation Around Ethically Aware Decis...Alice has a Blue Car: Beginning the Conversation Around Ethically Aware Decis...
Alice has a Blue Car: Beginning the Conversation Around Ethically Aware Decis...
 
The layperson's guide to software architecture
The layperson's guide to software architectureThe layperson's guide to software architecture
The layperson's guide to software architecture
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

All Your Stuff is Gonna Change: Build Evolvable Cloud Infrastructure and Avoid Tears