SlideShare a Scribd company logo
1 of 23
Download to read offline
Infrastructure as Code
Charles Anderson
cander@cander.org
linkedin.com/in/cander
May 2016
Q: How many
programmers does it take
to change a light bulb?
A: None - that’s
hardware
Outline
• History
• Infrastructure problems
• Desired improvements
• Infrastructure as code
In the Beginning
• We had racks of servers, and
disks, and switches
• And lots and lots of cables
• And, we liked it!
• Sometimes known as the Iron
Age
In the Beginning
Or the Stone
Age
Also sprach Zarathustra
• Jeff Bezos gave us Amazon
Elastic Compute Cloud (EC2)
• Configure a server machine
from a simple web-app, pay
by the hour
• Awesome - no need to dirty
our hands with hardware
What could possibly
go wrong?
Problems in Paradise
• Scaling - provisioning servers manually from a web
app doesn’t scale
• Inconsistency - as machines get configured
manually (by different people) they diverge
• behavior differences
• security vulnerabilities - compliance nightmare
• These are called “snowflakes” - bad
Problems: Fragility
• You’re never really confident about snowflakes
which means you’re afraid to change/update them
• Even if you are confident, probably too lazy -
(re)building machines manually is time consuming
Pets vs. Livestock
• Snowflakes are like pets
• You become attached
• Cute names
• Long-lived
• You want livestock
• Generic machines that
come and go
Appetite
• Add/remove nodes quickly
• Have identical nodes within the same role
• Achieve freedom to kill and rebuild at will - Phoenix
machines
• Also - similarity between production, test and
staging environments
• Bonus if you can make dev similar to production
Results
• Consistent, scalable application and infrastructure
• Up-to-date, well-patched infrastructure
• Immutable infrastructure - c.f. immutable types
• Agile: make changes and rollback quickly
• Ability to experiment - spin up and kill machines
How?
• We want an API for the Cloud so we can write
“programs” to create our infrastructure
• “Amazon” is actually Amazon Web Services (AWS)
Infrastructure as Code
• If we write scripts/programs:
• Use version control
• Have documentation
• Can audit and/or test
• Automate and meta-automate
Not Just Amazon
• Although we’re talking about Amazon, there are lots
of other public cloud providers and private/on-
premises options with APIs
• Google, RackSpace, OpenStack
• Aside: (Certified) Amazon Architect is a thing
• My view is Linux-centric - Azure also has an API
• Platform as a Service (PaaS) is another option
Automating Amazon
• You can roll your own - there are plenty of API
libraries for AWS in various languages
• AWS CLI - command line
• AWS Cloud Formation tool - JSON
• AWS Elastic Beanstalk
• All free, as in beer but not speech
HashiCorp
• HashiCorp is company that makes open-source tools
for infrastructure automation
• started when Hashimoto was a student
• Packer builds images (OS + app) to deploy on nodes
- called AMIs on Amazon
• Terraform builds infrastructure - nodes, private
networks, identities, storage, DBs, etc.
• Consul - service discovery
IaC in the Small
• HashiCorp has two tools for building virtual
environments on your own computer
• Vagrant - provisions and starts one or more VMs for
your development environment
• Also useful to test image builds locally
• Otto - successor to Vagrant that can build
production infrastructure, too (via Terraform)
Free Beer!
• You can do all of this for free (at a small scale)
• Amazon, Google, others
• No longer restricted to big companies - democratizing
• All of these tools are free - tons for free docs
• HashiCorp tools are OSS - chance to contribute
Conclusion
• Infrastructure as Code is an evolution from the Iron
Age to the Cloud Age
• Allows rapid changes in size or function of
infrastructure
• Facilitates rapid business development - $$$
• You can get started for free
Resources
• http://www.slideshare.net/ws.cander/inrastructure-as-code
• http://martinfowler.com/bliki/InfrastructureAsCode.html
• https://info.thoughtworks.com/Infrastructure-as-Code-Kief-
Morris.html

https://www.manning.com/books/amazon-web-services-in-
action
• https://www.hashicorp.com/
• https://aws.amazon.com/ 

https://cloud.google.com/

More Related Content

What's hot

What's hot (20)

WordCamp IL 2016 - WordPress Scale on AWS
WordCamp IL 2016 - WordPress Scale on AWSWordCamp IL 2016 - WordPress Scale on AWS
WordCamp IL 2016 - WordPress Scale on AWS
 
Intro To Serverless ClojureScript
Intro To Serverless ClojureScriptIntro To Serverless ClojureScript
Intro To Serverless ClojureScript
 
Blue Chip Tek AWS Connect and Protect Presentation #2
Blue Chip Tek AWS Connect and Protect Presentation #2Blue Chip Tek AWS Connect and Protect Presentation #2
Blue Chip Tek AWS Connect and Protect Presentation #2
 
DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
 
Five Years of EC2 Distilled
Five Years of EC2 DistilledFive Years of EC2 Distilled
Five Years of EC2 Distilled
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
 
Serverless Application Model - Executing Lambdas Locally
Serverless Application Model - Executing Lambdas LocallyServerless Application Model - Executing Lambdas Locally
Serverless Application Model - Executing Lambdas Locally
 
The Story of Automation
The Story of AutomationThe Story of Automation
The Story of Automation
 
Serverless with Azure Functions
Serverless with Azure FunctionsServerless with Azure Functions
Serverless with Azure Functions
 
Scaling
ScalingScaling
Scaling
 
Devina Dhawan's talk - Women and non binary focused intro to AWS
Devina Dhawan's talk - Women and non binary focused intro to AWSDevina Dhawan's talk - Women and non binary focused intro to AWS
Devina Dhawan's talk - Women and non binary focused intro to AWS
 
Campus days Azure HDInsight automation
Campus days Azure HDInsight automationCampus days Azure HDInsight automation
Campus days Azure HDInsight automation
 
Serverless in azure
Serverless in azureServerless in azure
Serverless in azure
 
Jumpstarting Your Cloud Journey with OSS on Amazon Lightsail
 Jumpstarting Your Cloud Journey with OSS on Amazon Lightsail Jumpstarting Your Cloud Journey with OSS on Amazon Lightsail
Jumpstarting Your Cloud Journey with OSS on Amazon Lightsail
 
Amazon EC2 to Amazon VPC: A case study
Amazon EC2 to Amazon VPC: A case studyAmazon EC2 to Amazon VPC: A case study
Amazon EC2 to Amazon VPC: A case study
 
NLUUG print conference May 26 2016
NLUUG print conference May 26 2016NLUUG print conference May 26 2016
NLUUG print conference May 26 2016
 
WordPress Deployment
WordPress DeploymentWordPress Deployment
WordPress Deployment
 
MJ Berends talk - Women & Non-Binary Focused Intro to AWS
 MJ Berends talk - Women & Non-Binary Focused Intro to AWS MJ Berends talk - Women & Non-Binary Focused Intro to AWS
MJ Berends talk - Women & Non-Binary Focused Intro to AWS
 
SmartNews's journey into microservices
SmartNews's journey into microservicesSmartNews's journey into microservices
SmartNews's journey into microservices
 

Viewers also liked

Viewers also liked (20)

学习型团队
学习型团队学习型团队
学习型团队
 
September 2 General Meeting
September 2 General MeetingSeptember 2 General Meeting
September 2 General Meeting
 
职前培训安排(好)
职前培训安排(好)职前培训安排(好)
职前培训安排(好)
 
November 4 General Meeting
November 4 General MeetingNovember 4 General Meeting
November 4 General Meeting
 
December 2 General Meeting
December 2 General MeetingDecember 2 General Meeting
December 2 General Meeting
 
2009 年的祝福1
2009 年的祝福12009 年的祝福1
2009 年的祝福1
 
Ibm R50产品
Ibm R50产品Ibm R50产品
Ibm R50产品
 
积极的心态6
积极的心态6积极的心态6
积极的心态6
 
调整心态1
调整心态1调整心态1
调整心态1
 
4
44
4
 
Moss Week 09 Final With Answers
Moss   Week 09   Final With AnswersMoss   Week 09   Final With Answers
Moss Week 09 Final With Answers
 
培训与发展
培训与发展培训与发展
培训与发展
 
September 30 General Meeting
September 30 General MeetingSeptember 30 General Meeting
September 30 General Meeting
 
A Shallow Survey of Alternative Languages on the JVM
A Shallow Survey of Alternative Languages on the JVMA Shallow Survey of Alternative Languages on the JVM
A Shallow Survey of Alternative Languages on the JVM
 
How To Protect Yourself and Your Computer Online
How To Protect Yourself and Your Computer OnlineHow To Protect Yourself and Your Computer Online
How To Protect Yourself and Your Computer Online
 
企业人力资源管理
企业人力资源管理企业人力资源管理
企业人力资源管理
 
November 18 General Meeting
November 18 General MeetingNovember 18 General Meeting
November 18 General Meeting
 
4
44
4
 
年度考核
年度考核年度考核
年度考核
 
October 7 General Meeting
October 7 General MeetingOctober 7 General Meeting
October 7 General Meeting
 

Similar to Inrastructure as Code

Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
Tom Laszewski
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
Ruslan Meshenberg
 

Similar to Inrastructure as Code (20)

Cloud Native Camel Riding
Cloud Native Camel RidingCloud Native Camel Riding
Cloud Native Camel Riding
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Azure Templates for Consistent Deployment
Azure Templates for Consistent DeploymentAzure Templates for Consistent Deployment
Azure Templates for Consistent Deployment
 
Building a PaaS with Docker and AWS
Building a PaaS with Docker and AWSBuilding a PaaS with Docker and AWS
Building a PaaS with Docker and AWS
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
 
Windows Azure introduction
Windows Azure introductionWindows Azure introduction
Windows Azure introduction
 
Container Orchestration for .NET Developers
Container Orchestration for .NET DevelopersContainer Orchestration for .NET Developers
Container Orchestration for .NET Developers
 
OpenSourceIndia-Suman.pptx
OpenSourceIndia-Suman.pptxOpenSourceIndia-Suman.pptx
OpenSourceIndia-Suman.pptx
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
 
Journey towards serverless infrastructure
Journey towards serverless infrastructureJourney towards serverless infrastructure
Journey towards serverless infrastructure
 
Building a PaaS with Docker and AWS
Building a PaaS with Docker and AWSBuilding a PaaS with Docker and AWS
Building a PaaS with Docker and AWS
 
The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
Meetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWSMeetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWS
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Fuse integration-services
Fuse integration-servicesFuse integration-services
Fuse integration-services
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
 
Immutable infrastructure with Boxfuse
Immutable infrastructure with BoxfuseImmutable infrastructure with Boxfuse
Immutable infrastructure with Boxfuse
 

More from Charles Anderson (8)

Modern php
Modern phpModern php
Modern php
 
Literate Programming
Literate ProgrammingLiterate Programming
Literate Programming
 
How to get a Software Job w/o Experience
How to get a Software Job w/o ExperienceHow to get a Software Job w/o Experience
How to get a Software Job w/o Experience
 
Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014
 
A Brief Introduction to Redis
A Brief Introduction to RedisA Brief Introduction to Redis
A Brief Introduction to Redis
 
How to Get a Software Job w/o Experience
How to Get a Software Job w/o ExperienceHow to Get a Software Job w/o Experience
How to Get a Software Job w/o Experience
 
Jython: Integrating Python and Java
Jython: Integrating Python and JavaJython: Integrating Python and Java
Jython: Integrating Python and Java
 
Groovy a Scripting Language for Java
Groovy a Scripting Language for JavaGroovy a Scripting Language for Java
Groovy a Scripting Language for Java
 

Recently uploaded

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 

Inrastructure as Code

  • 1. Infrastructure as Code Charles Anderson cander@cander.org linkedin.com/in/cander May 2016
  • 2. Q: How many programmers does it take to change a light bulb?
  • 3. A: None - that’s hardware
  • 4. Outline • History • Infrastructure problems • Desired improvements • Infrastructure as code
  • 5. In the Beginning • We had racks of servers, and disks, and switches • And lots and lots of cables • And, we liked it! • Sometimes known as the Iron Age
  • 6. In the Beginning Or the Stone Age
  • 7. Also sprach Zarathustra • Jeff Bezos gave us Amazon Elastic Compute Cloud (EC2) • Configure a server machine from a simple web-app, pay by the hour • Awesome - no need to dirty our hands with hardware
  • 9. Problems in Paradise • Scaling - provisioning servers manually from a web app doesn’t scale • Inconsistency - as machines get configured manually (by different people) they diverge • behavior differences • security vulnerabilities - compliance nightmare • These are called “snowflakes” - bad
  • 10. Problems: Fragility • You’re never really confident about snowflakes which means you’re afraid to change/update them • Even if you are confident, probably too lazy - (re)building machines manually is time consuming
  • 11. Pets vs. Livestock • Snowflakes are like pets • You become attached • Cute names • Long-lived • You want livestock • Generic machines that come and go
  • 12. Appetite • Add/remove nodes quickly • Have identical nodes within the same role • Achieve freedom to kill and rebuild at will - Phoenix machines • Also - similarity between production, test and staging environments • Bonus if you can make dev similar to production
  • 13.
  • 14. Results • Consistent, scalable application and infrastructure • Up-to-date, well-patched infrastructure • Immutable infrastructure - c.f. immutable types • Agile: make changes and rollback quickly • Ability to experiment - spin up and kill machines
  • 15. How? • We want an API for the Cloud so we can write “programs” to create our infrastructure • “Amazon” is actually Amazon Web Services (AWS)
  • 16. Infrastructure as Code • If we write scripts/programs: • Use version control • Have documentation • Can audit and/or test • Automate and meta-automate
  • 17. Not Just Amazon • Although we’re talking about Amazon, there are lots of other public cloud providers and private/on- premises options with APIs • Google, RackSpace, OpenStack • Aside: (Certified) Amazon Architect is a thing • My view is Linux-centric - Azure also has an API • Platform as a Service (PaaS) is another option
  • 18. Automating Amazon • You can roll your own - there are plenty of API libraries for AWS in various languages • AWS CLI - command line • AWS Cloud Formation tool - JSON • AWS Elastic Beanstalk • All free, as in beer but not speech
  • 19. HashiCorp • HashiCorp is company that makes open-source tools for infrastructure automation • started when Hashimoto was a student • Packer builds images (OS + app) to deploy on nodes - called AMIs on Amazon • Terraform builds infrastructure - nodes, private networks, identities, storage, DBs, etc. • Consul - service discovery
  • 20. IaC in the Small • HashiCorp has two tools for building virtual environments on your own computer • Vagrant - provisions and starts one or more VMs for your development environment • Also useful to test image builds locally • Otto - successor to Vagrant that can build production infrastructure, too (via Terraform)
  • 21. Free Beer! • You can do all of this for free (at a small scale) • Amazon, Google, others • No longer restricted to big companies - democratizing • All of these tools are free - tons for free docs • HashiCorp tools are OSS - chance to contribute
  • 22. Conclusion • Infrastructure as Code is an evolution from the Iron Age to the Cloud Age • Allows rapid changes in size or function of infrastructure • Facilitates rapid business development - $$$ • You can get started for free
  • 23. Resources • http://www.slideshare.net/ws.cander/inrastructure-as-code • http://martinfowler.com/bliki/InfrastructureAsCode.html • https://info.thoughtworks.com/Infrastructure-as-Code-Kief- Morris.html
 https://www.manning.com/books/amazon-web-services-in- action • https://www.hashicorp.com/ • https://aws.amazon.com/ 
 https://cloud.google.com/