SlideShare a Scribd company logo
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

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
Boaz Ziniman
 
Intro To Serverless ClojureScript
Intro To Serverless ClojureScriptIntro To Serverless ClojureScript
Intro To Serverless ClojureScript
Jim Lynch
 
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
Kimberly Macias
 
DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
Sascha Möllering
 
Five Years of EC2 Distilled
Five Years of EC2 DistilledFive Years of EC2 Distilled
Five Years of EC2 Distilled
Grig Gheorghiu
 
Azure functions
Azure functionsAzure functions
Azure functions
vivek p s
 
Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
Sascha Möllering
 
Serverless Application Model - Executing Lambdas Locally
Serverless Application Model - Executing Lambdas LocallyServerless Application Model - Executing Lambdas Locally
Serverless Application Model - Executing Lambdas Locally
Alex
 
The Story of Automation
The Story of AutomationThe Story of Automation
The Story of Automation
99X Technology
 
Serverless with Azure Functions
Serverless with Azure FunctionsServerless with Azure Functions
Serverless with Azure Functions
Andreas Willich
 
Scaling
ScalingScaling
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
AWS Chicago
 
Campus days Azure HDInsight automation
Campus days Azure HDInsight automationCampus days Azure HDInsight automation
Campus days Azure HDInsight automation
Kenneth Michael Nielsen
 
Serverless in azure
Serverless in azureServerless in azure
Serverless in azure
Veresh Jain
 
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 Web Services
 
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
Matthew Barlocker
 
NLUUG print conference May 26 2016
NLUUG print conference May 26 2016NLUUG print conference May 26 2016
NLUUG print conference May 26 2016
Igmar Palsenberg
 
WordPress Deployment
WordPress DeploymentWordPress Deployment
WordPress Deployment
Swain Strickland
 
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
AWS Chicago
 
SmartNews's journey into microservices
SmartNews's journey into microservicesSmartNews's journey into microservices
SmartNews's journey into microservices
SmartNews, Inc.
 

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

学习型团队
学习型团队学习型团队
学习型团队20004
 
September 2 General Meeting
September 2 General MeetingSeptember 2 General Meeting
September 2 General Meeting
MSU PRSSA
 
职前培训安排(好)
职前培训安排(好)职前培训安排(好)
职前培训安排(好)20004
 
November 4 General Meeting
November 4 General MeetingNovember 4 General Meeting
November 4 General Meeting
MSU PRSSA
 
December 2 General Meeting
December 2 General MeetingDecember 2 General Meeting
December 2 General Meeting
MSU PRSSA
 
2009 年的祝福1
2009 年的祝福12009 年的祝福1
2009 年的祝福1
jimmy wei
 
Ibm R50产品
Ibm R50产品Ibm R50产品
Ibm R50产品20004
 
积极的心态6
积极的心态6积极的心态6
积极的心态620004
 
调整心态1
调整心态1调整心态1
调整心态120004
 
Moss Week 09 Final With Answers
Moss   Week 09   Final With AnswersMoss   Week 09   Final With Answers
Moss Week 09 Final With Answers
Venkatesh Srinivasan
 
培训与发展
培训与发展培训与发展
培训与发展20004
 
September 30 General Meeting
September 30 General MeetingSeptember 30 General Meeting
September 30 General Meeting
MSU PRSSA
 
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
Charles Anderson
 
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
Charles Anderson
 
企业人力资源管理
企业人力资源管理企业人力资源管理
企业人力资源管理20004
 
November 18 General Meeting
November 18 General MeetingNovember 18 General Meeting
November 18 General Meeting
MSU PRSSA
 
年度考核
年度考核年度考核
年度考核20004
 
October 7 General Meeting
October 7 General MeetingOctober 7 General Meeting
October 7 General Meeting
MSU PRSSA
 

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

Cloud Native Camel Riding
Cloud Native Camel RidingCloud Native Camel Riding
Cloud Native Camel Riding
Christian Posta
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
Albert Suwandhi
 
Azure Templates for Consistent Deployment
Azure Templates for Consistent DeploymentAzure Templates for Consistent Deployment
Azure Templates for Consistent Deployment
José Maia
 
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
Amazon Web Services
 
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
Adrian Cockcroft
 
Windows Azure introduction
Windows Azure introductionWindows Azure introduction
Windows Azure introduction
Microsoft Iceland
 
Container Orchestration for .NET Developers
Container Orchestration for .NET DevelopersContainer Orchestration for .NET Developers
Container Orchestration for .NET Developers
Mike Melusky
 
OpenSourceIndia-Suman.pptx
OpenSourceIndia-Suman.pptxOpenSourceIndia-Suman.pptx
OpenSourceIndia-Suman.pptx
Suman Debnath
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
Axel Fontaine
 
Journey towards serverless infrastructure
Journey towards serverless infrastructureJourney towards serverless infrastructure
Journey towards serverless infrastructure
Ville Seppänen
 
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
vesirin
 
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 ...
Sébastien Portebois
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
Tom Laszewski
 
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
AWS Vietnam Community
 
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
AWS Vietnam Community
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
Amazon Web Services
 
Fuse integration-services
Fuse integration-servicesFuse integration-services
Fuse integration-services
Christian Posta
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
Rishu Mehra
 
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
 
Immutable infrastructure with Boxfuse
Immutable infrastructure with BoxfuseImmutable infrastructure with Boxfuse
Immutable infrastructure with Boxfuse
Lars Östling
 

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

Modern php
Modern phpModern php
Modern php
Charles Anderson
 
Literate Programming
Literate ProgrammingLiterate Programming
Literate Programming
Charles Anderson
 
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
Charles Anderson
 
Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014
Charles Anderson
 
A Brief Introduction to Redis
A Brief Introduction to RedisA Brief Introduction to Redis
A Brief Introduction to Redis
Charles Anderson
 
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
Charles Anderson
 
Jython: Integrating Python and Java
Jython: Integrating Python and JavaJython: Integrating Python and Java
Jython: Integrating Python and Java
Charles Anderson
 
Groovy a Scripting Language for Java
Groovy a Scripting Language for JavaGroovy a Scripting Language for Java
Groovy a Scripting Language for Java
Charles Anderson
 

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

"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
ScyllaDB
 
Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!
Tobias Schneck
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
ScyllaDB
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 

Recently uploaded (20)

"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
 
Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!Containers & AI - Beauty and the Beast!?!
Containers & AI - Beauty and the Beast!?!
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 

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/