SlideShare una empresa de Scribd logo
1 de 29
Systematically Evolving an Organization’s Infrastructure
Gary A. Stafford, 2016
Infrastructure as Code
Maturity Model
References
Infrastructure as Code
Managing Servers in the Cloud
Kief Morris, ThoughtWorks
O’Reilly, 2016
infrastructure-as-code.com
Continuous Delivery
Reliable Software Releases through Build,
Test, and Deployment Automation
Jez Humble, ThoughtWorks
and David Farley
Addison-Wesley Signature Series (Fowler), 2011
continuousdelivery.com
What is Infrastructure-as-Code?
Infrastructure and software development teams are increasingly
building and managing infrastructure using automated tools
that have been described as “infrastructure as code.”
– Kief Morris (Infrastructure as Code)
The process of managing and provisioning
computing infrastructure and their configuration
through machine-processable, declarative, definition files,
rather than physical hardware configuration or
the use of interactive configuration tools.
– Wikipedia (abridged)
HashiCorp Packer
{
"variables": {
"aws_access_key": "",
"aws_secret_key": ""
},
"builders": [{
"type": "amazon-ebs",
"access_key": "{{user `aws_access_key`}}",
"secret_key": "{{user `aws_secret_key`}}",
"region": "us-east-1",
"source_ami": "ami-fce3c696",
"instance_type": "t2.micro",
"ssh_username": "ubuntu",
"ami_name": "packer-example {{timestamp}}"
}]
}
Docker Dockerfile
FROM ubuntu:16.04
MAINTAINER Docker
RUN apt-key adv --keyserver
hkp://keyserver.ubuntu.com:80 --recv EA312927
RUN echo "deb http://repo.mongodb.org/apt/ubuntu" $(cat
/etc/lsb-release | grep DISTRIB_CODENAME | cut -d=
-f2)/mongodb-org/3.2 multiverse" | tee
/etc/apt/sources.list.d/mongodb-org-3.2.list
RUN apt-get update && apt-get install -y mongodb-org
RUN mkdir -p /data/db
EXPOSE 27017
ENTRYPOINT ["/usr/bin/mongod"]
https://github.com/hashicorp/terraform/blob/master/examples/aws-two-tier/main.tf
AWS CloudFormation
services:
sysvinit:
nginx:
enabled: "true"
ensureRunning: "true"
files:
- "/etc/nginx/nginx.conf"
sources:
- "/var/www/html"
php-fastcgi:
enabled: "true"
ensureRunning: "true"
packages:
yum:
- "php"
- "spawn-fcgi"
sendmail:
enabled: "false"
ensureRunning: "false"
HashiCorp Terraform
resource "aws_instance" "web" {
connection { user = "ubuntu" }
instance_type = "m1.small"
Ami = "${lookup(var.aws_amis, var.aws_region)}"
Key_name = "${aws_key_pair.auth.id}"
vpc_security_group_ids =
["${aws_security_group.default.id}"]
Subnet_id = "${aws_subnet.default.id}"
provisioner "remote-exec" {
inline = [
"sudo apt-get -y update",
"sudo apt-get -y install nginx",
"sudo service nginx start",
]
}
}
What Infrastructure as Code?
What Infrastructure, as Code?
● Compute
● Databases, Caching, and Messaging
● Storage, Backup, and Content Delivery
● Networking
● Security and Identity
● Monitoring, Logging, and Analytics
● Management Tooling
CD Maturity Model
Areas of Practice
● Build Management and Continuous Integration
● Environments and Deployment
● Release Management and Compliance
● Testing
● Data Management
● Configuration Management
Levels of Maturity
● Level 3: Optimizing – Focus on process improvement
● Level 2: Quantitatively Managed – Process measured and controlled
● Level 1: Consistent – Automated processes applied across whole application lifecycle
● Level 0: Repeatable – Process documented and partly automated
● Level -1: Regressive – Processes unrepeatable, poorly controlled, and reactive
Maturity Model
Maturity Model Analysis
https://github.com/garystafford/cd-maturity-model
Business Value
● Reduced cycle time, to deliver value to your organization faster and increase profitability
● Reduced defects, so that you can improve your efficiency and spend less on support
● Increased predictability of your software delivery lifecycle to make planning more effective
● The ability to adopt and maintain compliance to any regulatory req that you are subject to
● The ability to determine and manage the risks associated with software delivery effectively
● Reduced costs due to better risk management and fewer issues delivering software
Infrastructure-as-Code
Maturity Levels
Level -1: Regressive
Processes unrepeatable, poorly controlled, and reactive
✓ Limited infrastructure is provisioned and managed as code
✓ Infrastructure provisioning still requires many manual processes
✓ Infrastructure code is not written using industry-standard tooling and patterns
✓ Infrastructure code not built, unit-tested, provisioned and managed, as part of a pipeline
✓ Infrastructure code, processes, and procedures are inconsistently documented, and not
available to all required parties
Level 0: Repeatable
Processes documented and partly automated
✓ All infrastructure code and configuration are stored in a centralized VCS
✓ Testing, provisioning, and mngt. of infrastructure are done as part of automated pipeline
✓ Infrastructure is deployable as individual components
✓ Leverages programmatic interfaces into physical devices
✓ Automated security inspection of components and dependencies
✓ Self-service CLI or API, where internal customers provision their resources
✓ All code, processes, and procedures documented and available
✓ Immutable infrastructure and processes
Level 1: Consistent
Automated processes applied across whole application lifecycle
✓ Fully automated provisioning and management of infrastructure
✓ Minimal use of unsupported, ‘home-grown’ infrastructure tooling
✓ Unit-tests meet code-coverage requirements
✓ Code is continuously tested upon every check-in to version control system
✓ Continuously available infrastructure using zero-downtime provisioning
✓ Uses configuration registries
✓ Templatized configuration files (no awk/sed magic)
✓ Secrets are securely management
✓ Auto-scaling based on user-defined load characteristics
Level 2: Quantitatively Managed
Processes measured and controlled
✓ Uses infrastructure definition files
✓ Capable of automated rollbacks
✓ Infrastructure and supporting systems are highly available and fault tolerant
✓ Externalized configuration, no black box API to modify configuration
✓ Fully monitored infrastructure with configurable alerting
✓ Aggregated, auditable infrastructure logging
✓ All code, processes, and procedures are well documented in a KMS
✓ Infrastructure code uses declarative versus imperative programming model, maybe…
Level 3: Optimizing
Focus on process improvement
✓ Self-healing, self-configurable, self-optimizing, infrastructure
✓ Performance tested and monitored against business KPIs
✓ Maximal infrastructure utilization and workload density
✓ Adheres to Cloud Native and 12-Factor patterns
✓ Cloud-agnostic code that minimizes cloud vendor lock-in
Using the Maturity Model
Using the Maturity Model
● Classify your infrastructure’s maturity. Different parts of your infrastructure achieve
different levels in each of the different categories.
● Choose an area to focus on where your immaturity is especially painful.
Value stream mapping will help you identify areas that need improvement.
● Decide which improvements make sense for your organization, estimate their costs
and benefits, and prioritize.
● Define acceptance criteria to specify the results that you expect and how they will be
measured.
Using the Maturity Model
● Create an implementation plan before implementing any change.
● Use your acceptance criteria to measure if the changes had the desired effect.
● Adjust implementation plan and acceptance criteria if necessary.
● Hold a retrospective meeting of all stakeholders and participants to find out how well
the changes were executed and where the potential areas for improvement are.
● Repeat these steps, building upon your knowledge. Roll-out improvements
incrementally, and roll them out across your whole organization.
Gary Stafford
Lead Consultant
DevOps and Software Development
ThoughtWorks, NYC
Consulting on the implementation of DevOps
best practices, continuous delivery, infrastructure
automation, and monitoring of complex,
web-scale, cloud-native application platforms.
Areas of current focus, include: enterprise
software development and delivery, cloud-native
applications, release automation, Terraform,
Docker, Spring Cloud, AWS and JavaScript.
Email
gary.stafford@thoughtworks.com
Twitter
twitter.com/GaryStafford
Blog
ProgrammaticPonderings.com
GitHub
github.com/garystafford
LinkedIn
www.linkedin.com/in/garystafford
Questions?
Thank you.

Más contenido relacionado

La actualidad más candente

DevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to SecurityDevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to SecurityAlert Logic
 
Containers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes IstioContainers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes IstioAraf Karsh Hamid
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessLee Barnes
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Janusz Nowak
 
Event Driven Software Architecture Pattern
Event Driven Software Architecture PatternEvent Driven Software Architecture Pattern
Event Driven Software Architecture Patternjeetendra mandal
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven ArchitectureLourens Naudé
 
Visualize your data in Data Lake with AWS Athena and AWS Quicksight Hands-on ...
Visualize your data in Data Lake with AWS Athena and AWS Quicksight Hands-on ...Visualize your data in Data Lake with AWS Athena and AWS Quicksight Hands-on ...
Visualize your data in Data Lake with AWS Athena and AWS Quicksight Hands-on ...Amazon Web Services
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven ArchitectureChris Patterson
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton Araf Karsh Hamid
 
Mainframe Modernization with Precisely and Microsoft Azure
Mainframe Modernization with Precisely and Microsoft AzureMainframe Modernization with Precisely and Microsoft Azure
Mainframe Modernization with Precisely and Microsoft AzurePrecisely
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices Hendri Karisma
 
NashTech - Azure Application Insights
NashTech - Azure Application InsightsNashTech - Azure Application Insights
NashTech - Azure Application InsightsPhi Huynh
 
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain. What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain. Kellton Tech Solutions Ltd
 
Cloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best PracticesCloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best PracticesQBurst
 

La actualidad más candente (20)

DevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to SecurityDevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to Security
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Containers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes IstioContainers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes Istio
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Event Driven Software Architecture Pattern
Event Driven Software Architecture PatternEvent Driven Software Architecture Pattern
Event Driven Software Architecture Pattern
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
Visualize your data in Data Lake with AWS Athena and AWS Quicksight Hands-on ...
Visualize your data in Data Lake with AWS Athena and AWS Quicksight Hands-on ...Visualize your data in Data Lake with AWS Athena and AWS Quicksight Hands-on ...
Visualize your data in Data Lake with AWS Athena and AWS Quicksight Hands-on ...
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
 
Mainframe Modernization with Precisely and Microsoft Azure
Mainframe Modernization with Precisely and Microsoft AzureMainframe Modernization with Precisely and Microsoft Azure
Mainframe Modernization with Precisely and Microsoft Azure
 
DevSecOps: What Why and How : Blackhat 2019
DevSecOps: What Why and How : Blackhat 2019DevSecOps: What Why and How : Blackhat 2019
DevSecOps: What Why and How : Blackhat 2019
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Terraform
TerraformTerraform
Terraform
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
NashTech - Azure Application Insights
NashTech - Azure Application InsightsNashTech - Azure Application Insights
NashTech - Azure Application Insights
 
Cloud Migration Workshop
Cloud Migration WorkshopCloud Migration Workshop
Cloud Migration Workshop
 
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain. What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
 
DEVSECOPS.pptx
DEVSECOPS.pptxDEVSECOPS.pptx
DEVSECOPS.pptx
 
Cloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best PracticesCloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best Practices
 

Destacado

Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Yevgeniy Brikman
 
How Mature is Your Infrastructure?
How Mature is Your Infrastructure?How Mature is Your Infrastructure?
How Mature is Your Infrastructure?Gary Stafford
 
Enterprise DevOps Adoption LinkedIn
Enterprise DevOps Adoption LinkedInEnterprise DevOps Adoption LinkedIn
Enterprise DevOps Adoption LinkedInGary Stafford
 
Infrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleInfrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleice799
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeAmazon Web Services
 
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)Amazon Web Services
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAmazon Web Services
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with AnsibleMartin Etmajer
 
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...Peter Leschev
 
Turning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational CapitalTurning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational CapitalJohn Willis
 
Ma tesol e609 approaches to discourse analysis lecture 3
Ma tesol e609 approaches to discourse analysis lecture 3Ma tesol e609 approaches to discourse analysis lecture 3
Ma tesol e609 approaches to discourse analysis lecture 3Khalda Mohammed
 
Requirements Maturity Model Overview
Requirements Maturity Model OverviewRequirements Maturity Model Overview
Requirements Maturity Model OverviewIAG Consulting
 
HealthCare IT Maturity Model
HealthCare IT Maturity ModelHealthCare IT Maturity Model
HealthCare IT Maturity ModelSteven Gorenbergh
 
All daydevops 2016 - Turning Human Capital into High Performance Organizati...
All daydevops   2016 - Turning Human Capital into High Performance Organizati...All daydevops   2016 - Turning Human Capital into High Performance Organizati...
All daydevops 2016 - Turning Human Capital into High Performance Organizati...John Willis
 
Technology Transformation Maturity Model
Technology Transformation Maturity ModelTechnology Transformation Maturity Model
Technology Transformation Maturity ModelEliot Arnold
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for NetworkDamien Garros
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as codeAxel Quack
 
Provisioning your Environment with Vagrant and Ansible
Provisioning your Environment with Vagrant and AnsibleProvisioning your Environment with Vagrant and Ansible
Provisioning your Environment with Vagrant and AnsibleRichard Gwozdz
 

Destacado (20)

Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
 
How Mature is Your Infrastructure?
How Mature is Your Infrastructure?How Mature is Your Infrastructure?
How Mature is Your Infrastructure?
 
Enterprise DevOps Adoption LinkedIn
Enterprise DevOps Adoption LinkedInEnterprise DevOps Adoption LinkedIn
Enterprise DevOps Adoption LinkedIn
 
Infrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleInfrastructure as code might be literally impossible
Infrastructure as code might be literally impossible
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as Code
 
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
 
Turning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational CapitalTurning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational Capital
 
Ma tesol e609 approaches to discourse analysis lecture 3
Ma tesol e609 approaches to discourse analysis lecture 3Ma tesol e609 approaches to discourse analysis lecture 3
Ma tesol e609 approaches to discourse analysis lecture 3
 
Requirements Maturity Model Overview
Requirements Maturity Model OverviewRequirements Maturity Model Overview
Requirements Maturity Model Overview
 
KANBAN FOR IT OPS (DRAGOS DUMITRIU) - LKCE13
KANBAN FOR IT OPS (DRAGOS DUMITRIU) - LKCE13KANBAN FOR IT OPS (DRAGOS DUMITRIU) - LKCE13
KANBAN FOR IT OPS (DRAGOS DUMITRIU) - LKCE13
 
HealthCare IT Maturity Model
HealthCare IT Maturity ModelHealthCare IT Maturity Model
HealthCare IT Maturity Model
 
All daydevops 2016 - Turning Human Capital into High Performance Organizati...
All daydevops   2016 - Turning Human Capital into High Performance Organizati...All daydevops   2016 - Turning Human Capital into High Performance Organizati...
All daydevops 2016 - Turning Human Capital into High Performance Organizati...
 
Technology Transformation Maturity Model
Technology Transformation Maturity ModelTechnology Transformation Maturity Model
Technology Transformation Maturity Model
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
 
Provisioning your Environment with Vagrant and Ansible
Provisioning your Environment with Vagrant and AnsibleProvisioning your Environment with Vagrant and Ansible
Provisioning your Environment with Vagrant and Ansible
 

Similar a Infrastructure as Code Maturity Model v1

DevOps Practices in a Nutshell
DevOps Practices in a NutshellDevOps Practices in a Nutshell
DevOps Practices in a NutshellFibonalabs
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Rosalind Radcliffe
 
Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1Chef
 
Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxNashet Ali
 
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree	Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree AnikeyRoy
 
CSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps sessionCSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps sessionTom Laszewski
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks Ulf Mattsson
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdfNilesh Gule
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1G R VISHAL
 
Scrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALMScrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALMMarco Silva
 
Application Lifecycle Management (ALM), by Marco Silva
Application Lifecycle Management (ALM), by Marco SilvaApplication Lifecycle Management (ALM), by Marco Silva
Application Lifecycle Management (ALM), by Marco SilvaAgile Connect®
 
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API Calls
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API CallsAWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API Calls
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API CallsAmazon Web Services
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSG R VISHAL
 
Devops transformation in the Rational Collaborative Lifecycle Organization
Devops transformation in the Rational Collaborative Lifecycle OrganizationDevops transformation in the Rational Collaborative Lifecycle Organization
Devops transformation in the Rational Collaborative Lifecycle OrganizationRobbie Minshall
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewIBM UrbanCode Products
 

Similar a Infrastructure as Code Maturity Model v1 (20)

DevOps Practices in a Nutshell
DevOps Practices in a NutshellDevOps Practices in a Nutshell
DevOps Practices in a Nutshell
 
Past, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps InfrastructurePast, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps Infrastructure
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
 
Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1
 
Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptx
 
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree	Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
 
CSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps sessionCSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps session
 
About online examination system
About online examination systemAbout online examination system
About online examination system
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdf
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
About online examination system
About online examination systemAbout online examination system
About online examination system
 
Scrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALMScrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALM
 
Application Lifecycle Management (ALM), by Marco Silva
Application Lifecycle Management (ALM), by Marco SilvaApplication Lifecycle Management (ALM), by Marco Silva
Application Lifecycle Management (ALM), by Marco Silva
 
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API Calls
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API CallsAWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API Calls
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API Calls
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPS
 
Devops transformation in the Rational Collaborative Lifecycle Organization
Devops transformation in the Rational Collaborative Lifecycle OrganizationDevops transformation in the Rational Collaborative Lifecycle Organization
Devops transformation in the Rational Collaborative Lifecycle Organization
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture Overview
 
Agile at scale
Agile at scaleAgile at scale
Agile at scale
 

Último

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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
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 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Último (20)

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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Infrastructure as Code Maturity Model v1

  • 1. Systematically Evolving an Organization’s Infrastructure Gary A. Stafford, 2016 Infrastructure as Code Maturity Model
  • 3. Infrastructure as Code Managing Servers in the Cloud Kief Morris, ThoughtWorks O’Reilly, 2016 infrastructure-as-code.com
  • 4. Continuous Delivery Reliable Software Releases through Build, Test, and Deployment Automation Jez Humble, ThoughtWorks and David Farley Addison-Wesley Signature Series (Fowler), 2011 continuousdelivery.com
  • 6. Infrastructure and software development teams are increasingly building and managing infrastructure using automated tools that have been described as “infrastructure as code.” – Kief Morris (Infrastructure as Code)
  • 7. The process of managing and provisioning computing infrastructure and their configuration through machine-processable, declarative, definition files, rather than physical hardware configuration or the use of interactive configuration tools. – Wikipedia (abridged)
  • 8. HashiCorp Packer { "variables": { "aws_access_key": "", "aws_secret_key": "" }, "builders": [{ "type": "amazon-ebs", "access_key": "{{user `aws_access_key`}}", "secret_key": "{{user `aws_secret_key`}}", "region": "us-east-1", "source_ami": "ami-fce3c696", "instance_type": "t2.micro", "ssh_username": "ubuntu", "ami_name": "packer-example {{timestamp}}" }] } Docker Dockerfile FROM ubuntu:16.04 MAINTAINER Docker RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 RUN echo "deb http://repo.mongodb.org/apt/ubuntu" $(cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d= -f2)/mongodb-org/3.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list RUN apt-get update && apt-get install -y mongodb-org RUN mkdir -p /data/db EXPOSE 27017 ENTRYPOINT ["/usr/bin/mongod"] https://github.com/hashicorp/terraform/blob/master/examples/aws-two-tier/main.tf
  • 9. AWS CloudFormation services: sysvinit: nginx: enabled: "true" ensureRunning: "true" files: - "/etc/nginx/nginx.conf" sources: - "/var/www/html" php-fastcgi: enabled: "true" ensureRunning: "true" packages: yum: - "php" - "spawn-fcgi" sendmail: enabled: "false" ensureRunning: "false" HashiCorp Terraform resource "aws_instance" "web" { connection { user = "ubuntu" } instance_type = "m1.small" Ami = "${lookup(var.aws_amis, var.aws_region)}" Key_name = "${aws_key_pair.auth.id}" vpc_security_group_ids = ["${aws_security_group.default.id}"] Subnet_id = "${aws_subnet.default.id}" provisioner "remote-exec" { inline = [ "sudo apt-get -y update", "sudo apt-get -y install nginx", "sudo service nginx start", ] } }
  • 11.
  • 12. What Infrastructure, as Code? ● Compute ● Databases, Caching, and Messaging ● Storage, Backup, and Content Delivery ● Networking ● Security and Identity ● Monitoring, Logging, and Analytics ● Management Tooling
  • 14. Areas of Practice ● Build Management and Continuous Integration ● Environments and Deployment ● Release Management and Compliance ● Testing ● Data Management ● Configuration Management
  • 15. Levels of Maturity ● Level 3: Optimizing – Focus on process improvement ● Level 2: Quantitatively Managed – Process measured and controlled ● Level 1: Consistent – Automated processes applied across whole application lifecycle ● Level 0: Repeatable – Process documented and partly automated ● Level -1: Regressive – Processes unrepeatable, poorly controlled, and reactive
  • 18. Business Value ● Reduced cycle time, to deliver value to your organization faster and increase profitability ● Reduced defects, so that you can improve your efficiency and spend less on support ● Increased predictability of your software delivery lifecycle to make planning more effective ● The ability to adopt and maintain compliance to any regulatory req that you are subject to ● The ability to determine and manage the risks associated with software delivery effectively ● Reduced costs due to better risk management and fewer issues delivering software
  • 20. Level -1: Regressive Processes unrepeatable, poorly controlled, and reactive ✓ Limited infrastructure is provisioned and managed as code ✓ Infrastructure provisioning still requires many manual processes ✓ Infrastructure code is not written using industry-standard tooling and patterns ✓ Infrastructure code not built, unit-tested, provisioned and managed, as part of a pipeline ✓ Infrastructure code, processes, and procedures are inconsistently documented, and not available to all required parties
  • 21. Level 0: Repeatable Processes documented and partly automated ✓ All infrastructure code and configuration are stored in a centralized VCS ✓ Testing, provisioning, and mngt. of infrastructure are done as part of automated pipeline ✓ Infrastructure is deployable as individual components ✓ Leverages programmatic interfaces into physical devices ✓ Automated security inspection of components and dependencies ✓ Self-service CLI or API, where internal customers provision their resources ✓ All code, processes, and procedures documented and available ✓ Immutable infrastructure and processes
  • 22. Level 1: Consistent Automated processes applied across whole application lifecycle ✓ Fully automated provisioning and management of infrastructure ✓ Minimal use of unsupported, ‘home-grown’ infrastructure tooling ✓ Unit-tests meet code-coverage requirements ✓ Code is continuously tested upon every check-in to version control system ✓ Continuously available infrastructure using zero-downtime provisioning ✓ Uses configuration registries ✓ Templatized configuration files (no awk/sed magic) ✓ Secrets are securely management ✓ Auto-scaling based on user-defined load characteristics
  • 23. Level 2: Quantitatively Managed Processes measured and controlled ✓ Uses infrastructure definition files ✓ Capable of automated rollbacks ✓ Infrastructure and supporting systems are highly available and fault tolerant ✓ Externalized configuration, no black box API to modify configuration ✓ Fully monitored infrastructure with configurable alerting ✓ Aggregated, auditable infrastructure logging ✓ All code, processes, and procedures are well documented in a KMS ✓ Infrastructure code uses declarative versus imperative programming model, maybe…
  • 24. Level 3: Optimizing Focus on process improvement ✓ Self-healing, self-configurable, self-optimizing, infrastructure ✓ Performance tested and monitored against business KPIs ✓ Maximal infrastructure utilization and workload density ✓ Adheres to Cloud Native and 12-Factor patterns ✓ Cloud-agnostic code that minimizes cloud vendor lock-in
  • 26. Using the Maturity Model ● Classify your infrastructure’s maturity. Different parts of your infrastructure achieve different levels in each of the different categories. ● Choose an area to focus on where your immaturity is especially painful. Value stream mapping will help you identify areas that need improvement. ● Decide which improvements make sense for your organization, estimate their costs and benefits, and prioritize. ● Define acceptance criteria to specify the results that you expect and how they will be measured.
  • 27. Using the Maturity Model ● Create an implementation plan before implementing any change. ● Use your acceptance criteria to measure if the changes had the desired effect. ● Adjust implementation plan and acceptance criteria if necessary. ● Hold a retrospective meeting of all stakeholders and participants to find out how well the changes were executed and where the potential areas for improvement are. ● Repeat these steps, building upon your knowledge. Roll-out improvements incrementally, and roll them out across your whole organization.
  • 28. Gary Stafford Lead Consultant DevOps and Software Development ThoughtWorks, NYC Consulting on the implementation of DevOps best practices, continuous delivery, infrastructure automation, and monitoring of complex, web-scale, cloud-native application platforms. Areas of current focus, include: enterprise software development and delivery, cloud-native applications, release automation, Terraform, Docker, Spring Cloud, AWS and JavaScript. Email gary.stafford@thoughtworks.com Twitter twitter.com/GaryStafford Blog ProgrammaticPonderings.com GitHub github.com/garystafford LinkedIn www.linkedin.com/in/garystafford