SlideShare a Scribd company logo
1 of 32
Download to read offline
Infrastructure as Code
Merging Development and Operations for a more
effective application development process
FIN talk
Ryan Roark
Clement Yu
Robert Greiner
February 19, 2014
Table of Contents
1. The Problem
2. Infrastructure
3. Application
4. Code
5. Putting it all together
6. AWS Goodness
7. Wrapping Up
CHAPTER
The Problem(s)
Developers
• Take requirements
• Write Code
• Write Tests (Maybe)
• Manual Testing
• Refactor
• Developers create
Operations
• Server Admins
• DBAs
• Release
• Networking
• Security
• Monitoring
• Operators maintain
People who deal with applications after they are created
Typical Software Development Flow
Write Code
(Dev)
Create Tests Run all Tests
Deploy to
Dev/QA
(Ops)
Integration
Tests
QA Tests
Deploy to
UAT
More Testing
– Regression
(QA)
Performance
Tests
Configure
Production
Environment
Buy
Hardware
Install OS /
Software
Provision
Database
Upgrade
RAM
Deploy to
Production
Manual
Time Consuming
Poll: How long does it
take to provision a new
server at your client?
SpaceX launches 1 rocket every 4 weeks
DevOps
 DevOps is the practice of operations and development
engineers participating together in the entire service
lifecycle, from design through the development
process to production support. (TheAgileAdmin)
The New Normal
 It’s up to us as developers to help enable our
operations counterparts. We can use our skills to
teach others how to make their jobs easier, so our jobs
become easier.
 This requires developers to gain skills in operations:
networking, OS, patching, deployments, etc…
 Every systems administrator should know Ruby and
every Developer should know how to configure an
automated deployment on a Windows or Linux server
they setup themselves
CHAPTER
Infrastructure
Infrastructure Automation
• Write your code and write the infrastructure it
runs on
• Servers, Networking, Users, etc…
• Documented, Repeatable, and Fast
• Fixing Deployment Pains
• A/B Deployments (blue/green)
• Rolling Deployments
Infrastructure Tooling
• CloudFormation for AWS
• Template driven design with JSON
• Templates versioned like code
• AWS::CloudFormation::Init
• Bootstrap other processes
• OPSWorks & Elastic BeanStalk for AWS
• Demo CloudFormation
Non-AWS Infrastructure
• Manual Labor
• Server admin physical installation
• Error Prone
• Chef-Provisioning
• VMWare VirtualCenter
• Heat for OpenStack
• Azure PaaS
CHAPTER
Application
Configuration Management
• Transform any server quickly
• Build it as a web server, DB server, etc.
• Automate build process
• Install and configuration steps are saved
as code
• Re-configure quickly
• Avoid dependency issues
Configuration Tools
• Powerful
• Robust
• Written
in Ruby
• Developer-
friendly
• Steep learning
curve for sys-
admins
• Mature
• Built for sys-
admins
• Easy JSON
data structure
• Master pushes
changes to
agents
• AWS version
of Chef
• Free to use
with instances
CHAPTER
Code
Continuous Integration
Deploy your code quickly, consistently,
and often
• Practice Deploying Code
• Detect problems faster
• Automatically build code & run tests
• Eliminate the “well it works on my machine”
dilemma
• Encourages public shaming
CI in the Sky Cloud
• Code Deploy
• Hook into source control and automate your
deployments to an elastic set of resources
• Code Pipeline
• Continuous delivery and software release automation
• Code Commit
• Code is ‘closer’ to servers it runs on
• Integrates with CodeDeploy and CodePipeline
• Demo Code Deploy
Automation outside AWS
• Jenkins
• Self hosted CI Server
• Travis-CI
• Hosted CI Server
• TFS / VisualStudio.com
• Does a little of EVERYTHING
• Easily integrate with Azure
Summary
INFRASTRUCTURE
• Automatically
provision
physical
hardware
• Unique
deployment
strategies
• Documented and
versioned
environment
configurations
APPLICATION
• Transform a
server into web
or database
server
• Reduce number
of steps in
configuration
CODE
• Automatically
build, test, and
deploy code
• Identify issues
quickly by
performing often
CHAPTER
Putting it all
together
Putting it all together
 Infrastructure Provisioning
 Application Provisioning
 Code Provisioning
 Now it’s your turn
 Developers
 Operations
 Dev + Ops
2015 AWS DevOps Challenge
 Design and implement a fully-automated AWS
environment suitable for hosting and operating a
complex open-source application.
 The current plan is to have a panel of judges decide
the winning team’s presentation and demo of solution
Monitor
• Dashboard
Status
Overview
Alert
• Active Push
Notifications
on Error
Log
• Application /
OS log
management
Audit
• Complete
History of
Interactions
Provision
• On-Demand
Environment
Manage
• Live
Changes to
Environment
Deploy
• Automated
Application
Deployment
Patch
• Live
Changes to
Application
What’s in it for me?
Gain real world, hands-on experience
with automated provisioning
(infrastructure, application, code)
Showcase your skills to the Dallas office
Gain experience on the AWS platform
Team up to design a solution that
outperforms the competition
Win a trip to the AWS re:Invent 2015
conference in Las Vegas, NV on October
6-8, 2015
You heard right… Your score will
(probably) be determined by Judges
CHAPTER
AWS Goodness
New AWS Services
At re:Invent, AWS released a number of new services
to their line-up. Here are the highlights.
Lambda Aurora
EC2 Container
Service
CHAPTER
Wrapping Up
The Automation Dream
• Automation is our client’s and your friend
• Automation is hard work
• Free to experiment
• AWS Free Tier
• Azure Free Trial
Fin’
robert.greiner@parivedasolutions.com
clement.yu@parivedasolutions.com
ryan.roark@parivedasolutions.com

More Related Content

What's hot

Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeMartin Schütte
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowAnton Babenko
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOpsJeff Bramwell
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformDevOps.com
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Edureka!
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Amazon Web Services
 
Terraform: An Overview & Introduction
Terraform: An Overview & IntroductionTerraform: An Overview & Introduction
Terraform: An Overview & IntroductionLee Trout
 
Azure DevOps Presentation
Azure DevOps PresentationAzure DevOps Presentation
Azure DevOps PresentationInCycleSoftware
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionPeng Xiao
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Waysmalltown
 
Terraform: Infrastructure as Code
Terraform: Infrastructure as CodeTerraform: Infrastructure as Code
Terraform: Infrastructure as CodePradeep Bhadani
 

What's hot (20)

Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as Code
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps Krakow
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
Terraform
TerraformTerraform
Terraform
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with Terraform
 
Terraform
TerraformTerraform
Terraform
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
 
IaC.pptx
IaC.pptxIaC.pptx
IaC.pptx
 
Terraform: An Overview & Introduction
Terraform: An Overview & IntroductionTerraform: An Overview & Introduction
Terraform: An Overview & Introduction
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 
AWS CDK Introduction
AWS CDK IntroductionAWS CDK Introduction
AWS CDK Introduction
 
Azure DevOps Presentation
Azure DevOps PresentationAzure DevOps Presentation
Azure DevOps Presentation
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
Terraform: Infrastructure as Code
Terraform: Infrastructure as CodeTerraform: Infrastructure as Code
Terraform: Infrastructure as Code
 
Terraform
TerraformTerraform
Terraform
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 
Terraform
TerraformTerraform
Terraform
 
Terraform on Azure
Terraform on AzureTerraform on Azure
Terraform on Azure
 

Viewers also liked

Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as codeAxel Quack
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeAmazon Web Services
 
Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Mike McGarr
 
Making the business case for DevOps
Making the business case for DevOpsMaking the business case for DevOps
Making the business case for DevOpsMartin Croker
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for NetworkDamien Garros
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitDanilo Poccia
 
State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016Amazon Web Services
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAmazon Web Services
 
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
 
Infrastructure as Code for Beginners
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for BeginnersDavid Völkel
 
Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017Kief Morris
 
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014Puppet
 
Puppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on WindowsPuppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on WindowsNicolas Corrarello
 
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
 
The ELK Stack - Get to Know Logs
The ELK Stack - Get to Know LogsThe ELK Stack - Get to Know Logs
The ELK Stack - Get to Know LogsGlobalLogic Ukraine
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeGene Kim
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...CollabNet
 
Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Andreas Rehn
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Kris Buytaert
 
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeContinuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeSascha Möllering
 

Viewers also liked (20)

Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as Code
 
Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)
 
Making the business case for DevOps
Making the business case for DevOpsMaking the business case for DevOps
Making the business case for DevOps
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
 
State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar Series
 
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
 
Infrastructure as Code for Beginners
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for Beginners
 
Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017
 
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
 
Puppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on WindowsPuppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on Windows
 
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
 
The ELK Stack - Get to Know Logs
The ELK Stack - Get to Know LogsThe ELK Stack - Get to Know Logs
The ELK Stack - Get to Know Logs
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - Sonatype
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
 
Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
 
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeContinuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
 

Similar to Infrastructure as Code

DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...Amazon Web Services
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateMatt Ray
 
My personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsMy personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsnj-azure
 
Building a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioBuilding a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioKasun Kodagoda
 
Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Matt Ray
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryAmazon Web Services
 
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...SPS Monaco
 
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?Vincent Biret
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NIErnest Mueller
 
Boris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on AzureBoris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on AzureOutlyer
 
Chef Automate - Wellington DevOps August 2, 2017
Chef Automate - Wellington DevOps August 2, 2017Chef Automate - Wellington DevOps August 2, 2017
Chef Automate - Wellington DevOps August 2, 2017Matt Ray
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterAmazon Web Services
 
Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Amazon Web Services
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Amazon Web Services
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?Vincent Biret
 
Enabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarEnabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarAaron Walker
 
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017Amazon Web Services
 

Similar to Infrastructure as Code (20)

DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef Automate
 
My personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsMy personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev ops
 
Building a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioBuilding a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual Studio
 
Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software Delivery
 
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
 
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NI
 
Boris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on AzureBoris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on Azure
 
Chef Automate - Wellington DevOps August 2, 2017
Chef Automate - Wellington DevOps August 2, 2017Chef Automate - Wellington DevOps August 2, 2017
Chef Automate - Wellington DevOps August 2, 2017
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver Faster
 
Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013
 
Devops on AWS
Devops on AWSDevops on AWS
Devops on AWS
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
 
Enabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarEnabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinar
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 

More from Robert Greiner

Portfolio Rationalization - Making Sound Financial and Strategic Decisions in...
Portfolio Rationalization - Making Sound Financial and Strategic Decisions in...Portfolio Rationalization - Making Sound Financial and Strategic Decisions in...
Portfolio Rationalization - Making Sound Financial and Strategic Decisions in...Robert Greiner
 
Virtual Team Best Practices
Virtual Team Best PracticesVirtual Team Best Practices
Virtual Team Best PracticesRobert Greiner
 
Becoming the Ideal Team Player
Becoming the Ideal Team PlayerBecoming the Ideal Team Player
Becoming the Ideal Team PlayerRobert Greiner
 
POV - Practical Containerization
POV - Practical ContainerizationPOV - Practical Containerization
POV - Practical ContainerizationRobert Greiner
 
POV - Enterprise Security Canvas
POV - Enterprise Security CanvasPOV - Enterprise Security Canvas
POV - Enterprise Security CanvasRobert Greiner
 
Foundations of financial independence
Foundations of financial independenceFoundations of financial independence
Foundations of financial independenceRobert Greiner
 
Why feedback is important
Why feedback is importantWhy feedback is important
Why feedback is importantRobert Greiner
 
Fin fest 2014 - Internet of Things and APIs
Fin fest 2014 - Internet of Things and APIsFin fest 2014 - Internet of Things and APIs
Fin fest 2014 - Internet of Things and APIsRobert Greiner
 
Petabytes and Nanoseconds
Petabytes and NanosecondsPetabytes and Nanoseconds
Petabytes and NanosecondsRobert Greiner
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web ServicesRobert Greiner
 
Automated Testing for Websites With Selenium IDE
Automated Testing for Websites With Selenium IDEAutomated Testing for Websites With Selenium IDE
Automated Testing for Websites With Selenium IDERobert Greiner
 
Introduction to Windows Azure Data Services
Introduction to Windows Azure Data ServicesIntroduction to Windows Azure Data Services
Introduction to Windows Azure Data ServicesRobert Greiner
 
Code Quality and Tipster
Code Quality and TipsterCode Quality and Tipster
Code Quality and TipsterRobert Greiner
 
Test Driven Development at 10,000 Feet
Test Driven Development at 10,000 FeetTest Driven Development at 10,000 Feet
Test Driven Development at 10,000 FeetRobert Greiner
 

More from Robert Greiner (15)

Portfolio Rationalization - Making Sound Financial and Strategic Decisions in...
Portfolio Rationalization - Making Sound Financial and Strategic Decisions in...Portfolio Rationalization - Making Sound Financial and Strategic Decisions in...
Portfolio Rationalization - Making Sound Financial and Strategic Decisions in...
 
Virtual Team Best Practices
Virtual Team Best PracticesVirtual Team Best Practices
Virtual Team Best Practices
 
Becoming the Ideal Team Player
Becoming the Ideal Team PlayerBecoming the Ideal Team Player
Becoming the Ideal Team Player
 
POV - Practical Containerization
POV - Practical ContainerizationPOV - Practical Containerization
POV - Practical Containerization
 
POV - Enterprise Security Canvas
POV - Enterprise Security CanvasPOV - Enterprise Security Canvas
POV - Enterprise Security Canvas
 
Foundations of financial independence
Foundations of financial independenceFoundations of financial independence
Foundations of financial independence
 
Why feedback is important
Why feedback is importantWhy feedback is important
Why feedback is important
 
Fin fest 2014 - Internet of Things and APIs
Fin fest 2014 - Internet of Things and APIsFin fest 2014 - Internet of Things and APIs
Fin fest 2014 - Internet of Things and APIs
 
Petabytes and Nanoseconds
Petabytes and NanosecondsPetabytes and Nanoseconds
Petabytes and Nanoseconds
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
 
Automated Testing for Websites With Selenium IDE
Automated Testing for Websites With Selenium IDEAutomated Testing for Websites With Selenium IDE
Automated Testing for Websites With Selenium IDE
 
Introduction to Windows Azure Data Services
Introduction to Windows Azure Data ServicesIntroduction to Windows Azure Data Services
Introduction to Windows Azure Data Services
 
Code Quality and Tipster
Code Quality and TipsterCode Quality and Tipster
Code Quality and Tipster
 
Test Driven Development at 10,000 Feet
Test Driven Development at 10,000 FeetTest Driven Development at 10,000 Feet
Test Driven Development at 10,000 Feet
 
Testing javascript
Testing javascriptTesting javascript
Testing javascript
 

Infrastructure as Code

  • 1. Infrastructure as Code Merging Development and Operations for a more effective application development process FIN talk Ryan Roark Clement Yu Robert Greiner February 19, 2014
  • 2. Table of Contents 1. The Problem 2. Infrastructure 3. Application 4. Code 5. Putting it all together 6. AWS Goodness 7. Wrapping Up
  • 4. Developers • Take requirements • Write Code • Write Tests (Maybe) • Manual Testing • Refactor • Developers create
  • 5. Operations • Server Admins • DBAs • Release • Networking • Security • Monitoring • Operators maintain People who deal with applications after they are created
  • 6. Typical Software Development Flow Write Code (Dev) Create Tests Run all Tests Deploy to Dev/QA (Ops) Integration Tests QA Tests Deploy to UAT More Testing – Regression (QA) Performance Tests Configure Production Environment Buy Hardware Install OS / Software Provision Database Upgrade RAM Deploy to Production Manual Time Consuming
  • 7. Poll: How long does it take to provision a new server at your client?
  • 8. SpaceX launches 1 rocket every 4 weeks
  • 9. DevOps  DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support. (TheAgileAdmin)
  • 10. The New Normal  It’s up to us as developers to help enable our operations counterparts. We can use our skills to teach others how to make their jobs easier, so our jobs become easier.  This requires developers to gain skills in operations: networking, OS, patching, deployments, etc…  Every systems administrator should know Ruby and every Developer should know how to configure an automated deployment on a Windows or Linux server they setup themselves
  • 12. Infrastructure Automation • Write your code and write the infrastructure it runs on • Servers, Networking, Users, etc… • Documented, Repeatable, and Fast • Fixing Deployment Pains • A/B Deployments (blue/green) • Rolling Deployments
  • 13. Infrastructure Tooling • CloudFormation for AWS • Template driven design with JSON • Templates versioned like code • AWS::CloudFormation::Init • Bootstrap other processes • OPSWorks & Elastic BeanStalk for AWS • Demo CloudFormation
  • 14. Non-AWS Infrastructure • Manual Labor • Server admin physical installation • Error Prone • Chef-Provisioning • VMWare VirtualCenter • Heat for OpenStack • Azure PaaS
  • 16. Configuration Management • Transform any server quickly • Build it as a web server, DB server, etc. • Automate build process • Install and configuration steps are saved as code • Re-configure quickly • Avoid dependency issues
  • 17. Configuration Tools • Powerful • Robust • Written in Ruby • Developer- friendly • Steep learning curve for sys- admins • Mature • Built for sys- admins • Easy JSON data structure • Master pushes changes to agents • AWS version of Chef • Free to use with instances
  • 19. Continuous Integration Deploy your code quickly, consistently, and often • Practice Deploying Code • Detect problems faster • Automatically build code & run tests • Eliminate the “well it works on my machine” dilemma • Encourages public shaming
  • 20. CI in the Sky Cloud • Code Deploy • Hook into source control and automate your deployments to an elastic set of resources • Code Pipeline • Continuous delivery and software release automation • Code Commit • Code is ‘closer’ to servers it runs on • Integrates with CodeDeploy and CodePipeline • Demo Code Deploy
  • 21. Automation outside AWS • Jenkins • Self hosted CI Server • Travis-CI • Hosted CI Server • TFS / VisualStudio.com • Does a little of EVERYTHING • Easily integrate with Azure
  • 22. Summary INFRASTRUCTURE • Automatically provision physical hardware • Unique deployment strategies • Documented and versioned environment configurations APPLICATION • Transform a server into web or database server • Reduce number of steps in configuration CODE • Automatically build, test, and deploy code • Identify issues quickly by performing often
  • 24. Putting it all together  Infrastructure Provisioning  Application Provisioning  Code Provisioning  Now it’s your turn  Developers  Operations  Dev + Ops
  • 25. 2015 AWS DevOps Challenge  Design and implement a fully-automated AWS environment suitable for hosting and operating a complex open-source application.  The current plan is to have a panel of judges decide the winning team’s presentation and demo of solution Monitor • Dashboard Status Overview Alert • Active Push Notifications on Error Log • Application / OS log management Audit • Complete History of Interactions Provision • On-Demand Environment Manage • Live Changes to Environment Deploy • Automated Application Deployment Patch • Live Changes to Application
  • 26. What’s in it for me? Gain real world, hands-on experience with automated provisioning (infrastructure, application, code) Showcase your skills to the Dallas office Gain experience on the AWS platform Team up to design a solution that outperforms the competition Win a trip to the AWS re:Invent 2015 conference in Las Vegas, NV on October 6-8, 2015
  • 27. You heard right… Your score will (probably) be determined by Judges
  • 29. New AWS Services At re:Invent, AWS released a number of new services to their line-up. Here are the highlights. Lambda Aurora EC2 Container Service
  • 31. The Automation Dream • Automation is our client’s and your friend • Automation is hard work • Free to experiment • AWS Free Tier • Azure Free Trial