SlideShare a Scribd company logo
1 of 47
Download to read offline
Infrastructure as
Code
Mike McGarr, Director of Learn DevOps
Blackboard, Inc.
ABOUT ME
Mike McGarr
Director of Learn DevOps
Blackboard Inc.
michael.mcgarr@blackboard.com
I have been at Blackboard for 8 months.
Software Engineer for 12+ years
Founder of the DC Continuous Integration,
Delivery and Deployment Meetup
LEARN DEVOPS TEAM
Purpose: Provide development support to the rest of
Learn‟s Product Development (PD) team.
Includes:
• Build/Release Engineering
• Manage Enterprise Applications
• Manage Data Center
• Help desk for PD
ENTERPRISE
APPLICATIONS
Problems:
• Manually managed
• Little/No Version
Control
• No history/context
DATA CENTER
Problems:
• Few knew how to run
CM
• Fewer knew how to fix
CM tool
• Lots of firefighting to
resolve CM issues
FIREFIGHTING
INFRASTRUCTURE AS
CODE
Automate the creation and maintenance of
servers (to the farthest extent possible)
• Build from source control
• Utilize open source tools
• Ensure testability
A practice popularized by the DevOps
movement.
TOOLS
CONFIGURATION
SYNCHRONIZATION
http://martinfowler.com/bliki/ConfigurationSynchronization.html
CONFIGURATION
DRIFT
http://kief.com/configuration-drift.html
NO MANUAL
CHANGES
http://www.agileweboperations.com/devops-protocol-no-manual-changes
PHOENIX SERVERS
http://martinfowler.com/bliki/PhoenixServer.html
IMMUTABLE SERVERS
http://martinfowler.com/bliki/ImmutableServer.html
REMINDER:
CULTURE FIRST
Simple
Example
Infrastructure as Code
BUILD A
JENKINS SERVER
CHEF‟S
ARCHITECTURE
CREATE COOKBOOK
http://youtu.be/Yu3--aljnJ0
VAGRANT
$> vagrant box add
$> vagrant init
$> vagrant up
$> vagrant ssh
$> vagrant provision
$> vagrant suspend
$> vagrant destroy
VAGRANT UP
http://youtu.be/I0Kd7mzEOD4
USE CHEF
http://youtu.be/UhXWrQvwsyE
INSTALLING JENKINS
INSTALL JDK VIA
CHEF
1. Include Java default recipe (recipe/default.rb)
2. Add cookbook dependency (metadata.rb)
3. Download Java cookbook
4. Run „vagrant provision‟
INSTALL JDK
http://youtu.be/Pt7cg3oa4Hs
0%
http://youtu.be/Pt7cg3oa4Hs
ADD JENKINS USER
http://youtu.be/2VhvHXPKR6M
REUSE LIBRARIES
SECURITY
templates/defaults/port_jenkins.erb
recipes/default.rb
YUM REPOSITORY
recipes/default.rb
INSTALL PACKAGE
SERVICE IS RUNNING
LEARN CHEF
Software Server
Craftsmen
CONFIGURATION
WORKFLOW
VERSION CONTROL
https://www.youtube.com/watch?v=ZDR433b0HJY
$> git init
$> git add .
$> git commit –m “new commit”
$> git remote add git:git@...
$> git push origin master
Chef/Puppet Server
is not Version Control!!
DEPENDENCY
MANAGEMENT
Tools:
Berkshelf
librarian-chef
UNIT TESTING
chefspec
(ruby gem)
https://github.com/acrmp/chefspec
Test a cookbook
fast and from
anywhere
spec/default_spec.rb
CONTINUOUS
TESTING
guard
(ruby gem)
https://github.com/guard/guard
When a local file
changes, then
run unit tests.
Guardfile
INTEGRATION
TESTING
test kitchen
(ruby gem)
https://github.com/opscode/test-kitchen
Run and test
cookbook in
Vagrant or LXC
container.
.kitchen.yml
STATIC ANALYSIS
foodcritic
(ruby gem)
http://acrmp.github.io/foodcritic/
Style guide and
find defects in
cookbook source
code.
CONTINUOUS
INTEGRATION
Jenkins
(Java app)
When a change
is checked in,
then run tests
and deploy to
Chef Server.
Best Practices
Infrastructure as Code
FORWARD ONLY
AVOID SCRIPTING
SEPARATE CONFIG
FROM DATA
USE & BUILD
PACKAGES
https://github.com/jordansissel/fpm
LEARN TO PROGRAM
Ops acting like developers…
Learn the language!
Learn the environment:
• rvm
• rbenv
• gems
• bundler
THANK YOU!
Mike McGarr
Director of Learn DevOps
Blackboard Inc.
michael.mcgarr@blackboard.com
@jmichaelmcgarr
http://earlyandoften.wordpress.com

More Related Content

What's hot

Immutable Infrastructure: Rise of the Machine Images
Immutable Infrastructure: Rise of the Machine ImagesImmutable Infrastructure: Rise of the Machine Images
Immutable Infrastructure: Rise of the Machine ImagesC4Media
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Mike McGarr
 
Sam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering SystemSam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering SystemWinOps Conf
 
Infrastructure as Microservices - OReillySACon London 2016
Infrastructure as Microservices - OReillySACon London 2016Infrastructure as Microservices - OReillySACon London 2016
Infrastructure as Microservices - OReillySACon London 2016Kief Morris
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf
 
Continuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondContinuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondMike McGarr
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017James Strong
 
Database deployments - dotnetsheff
Database deployments - dotnetsheffDatabase deployments - dotnetsheff
Database deployments - dotnetsheffGiulio Vian
 
Introduction Asp.Net MVC5 |MVC5 Tutorial for Beginners & Advanced | Dot Net T...
Introduction Asp.Net MVC5 |MVC5 Tutorial for Beginners & Advanced | Dot Net T...Introduction Asp.Net MVC5 |MVC5 Tutorial for Beginners & Advanced | Dot Net T...
Introduction Asp.Net MVC5 |MVC5 Tutorial for Beginners & Advanced | Dot Net T...Dot Net Tricks
 
Boris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on AzureBoris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on AzureOutlyer
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...David Rosen
 
Evolutionary infrastructure agile 2018 - kief morris
Evolutionary infrastructure   agile 2018 - kief morrisEvolutionary infrastructure   agile 2018 - kief morris
Evolutionary infrastructure agile 2018 - kief morrisKief Morris
 
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows ServerWinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows ServerWinOps Conf
 
WinOps Conf 2015 - Microsoft Azure & Open Source
WinOps Conf 2015 - Microsoft Azure & Open SourceWinOps Conf 2015 - Microsoft Azure & Open Source
WinOps Conf 2015 - Microsoft Azure & Open SourceWinOps Conf
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksInCycleSoftware
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS BuildGian Maria Ricci
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Vadym Kazulkin
 
Microsoft and DevOps - Presented by Atidan
Microsoft and DevOps - Presented by AtidanMicrosoft and DevOps - Presented by Atidan
Microsoft and DevOps - Presented by AtidanDavid J Rosenthal
 
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSCWinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSCWinOps Conf
 

What's hot (20)

Immutable Infrastructure: Rise of the Machine Images
Immutable Infrastructure: Rise of the Machine ImagesImmutable Infrastructure: Rise of the Machine Images
Immutable Infrastructure: Rise of the Machine Images
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)
 
Sam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering SystemSam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering System
 
Infrastructure as Microservices - OReillySACon London 2016
Infrastructure as Microservices - OReillySACon London 2016Infrastructure as Microservices - OReillySACon London 2016
Infrastructure as Microservices - OReillySACon London 2016
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release Pipelines
 
Continuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondContinuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyond
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017
 
Database deployments - dotnetsheff
Database deployments - dotnetsheffDatabase deployments - dotnetsheff
Database deployments - dotnetsheff
 
Introduction Asp.Net MVC5 |MVC5 Tutorial for Beginners & Advanced | Dot Net T...
Introduction Asp.Net MVC5 |MVC5 Tutorial for Beginners & Advanced | Dot Net T...Introduction Asp.Net MVC5 |MVC5 Tutorial for Beginners & Advanced | Dot Net T...
Introduction Asp.Net MVC5 |MVC5 Tutorial for Beginners & Advanced | Dot Net T...
 
Boris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on AzureBoris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on Azure
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
 
Evolutionary infrastructure agile 2018 - kief morris
Evolutionary infrastructure   agile 2018 - kief morrisEvolutionary infrastructure   agile 2018 - kief morris
Evolutionary infrastructure agile 2018 - kief morris
 
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows ServerWinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
 
WinOps Conf 2015 - Microsoft Azure & Open Source
WinOps Conf 2015 - Microsoft Azure & Open SourceWinOps Conf 2015 - Microsoft Azure & Open Source
WinOps Conf 2015 - Microsoft Azure & Open Source
 
Spinnaker Microsrvices
Spinnaker MicrosrvicesSpinnaker Microsrvices
Spinnaker Microsrvices
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and Tricks
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS Build
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
 
Microsoft and DevOps - Presented by Atidan
Microsoft and DevOps - Presented by AtidanMicrosoft and DevOps - Presented by Atidan
Microsoft and DevOps - Presented by Atidan
 
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSCWinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
 

Viewers also liked

Zero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSZero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSMike McGarr
 
Implementing DevOps
Implementing DevOpsImplementing DevOps
Implementing DevOpsMike McGarr
 
Shepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationShepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationMike McGarr
 
Engineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryEngineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryMike McGarr
 
Deep Dive - Infrastructure as Code
Deep Dive - Infrastructure as CodeDeep Dive - Infrastructure as Code
Deep Dive - Infrastructure as CodeAmazon Web Services
 
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: 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
 
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
 
NFV: Infrastructure as Code
NFV: Infrastructure as CodeNFV: Infrastructure as Code
NFV: Infrastructure as CodeBrockResearch
 
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channels
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channelsE marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channels
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channelsAdCMO
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for NetworkDamien Garros
 
Hybrid Development Workshop Presentation (San Francisco)
Hybrid Development Workshop Presentation (San Francisco)Hybrid Development Workshop Presentation (San Francisco)
Hybrid Development Workshop Presentation (San Francisco)Brian Dawson
 
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
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeGene Kim
 
PAGINA WEB DE JUAN JACOBO ROSSEAU
PAGINA WEB DE JUAN JACOBO ROSSEAUPAGINA WEB DE JUAN JACOBO ROSSEAU
PAGINA WEB DE JUAN JACOBO ROSSEAUJuan Jacobo Rosseau
 

Viewers also liked (19)

Zero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSZero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSS
 
Implementing DevOps
Implementing DevOpsImplementing DevOps
Implementing DevOps
 
Shepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationShepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformation
 
Engineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryEngineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous Delivery
 
(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code(ARC307) Infrastructure as Code
(ARC307) 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
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: 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
 
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
 
NFV: Infrastructure as Code
NFV: Infrastructure as CodeNFV: Infrastructure as Code
NFV: Infrastructure as Code
 
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channels
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channelsE marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channels
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channels
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 
Hybrid Development Workshop Presentation (San Francisco)
Hybrid Development Workshop Presentation (San Francisco)Hybrid Development Workshop Presentation (San Francisco)
Hybrid Development Workshop Presentation (San Francisco)
 
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
 
Infraestrutura como código
Infraestrutura como códigoInfraestrutura como código
Infraestrutura como código
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - Sonatype
 
PAGINA WEB DE JUAN JACOBO ROSSEAU
PAGINA WEB DE JUAN JACOBO ROSSEAUPAGINA WEB DE JUAN JACOBO ROSSEAU
PAGINA WEB DE JUAN JACOBO ROSSEAU
 
Pip
PipPip
Pip
 

Similar to Infrastructure as Code (BBWorld/DevCon13)

Back To Basics
Back To BasicsBack To Basics
Back To Basicskamalikamj
 
Enterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast PresentationEnterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast PresentationCompuware
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringWeaveworks
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
 
Release Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack ProjectRelease Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack ProjectRainya Mosher
 
From Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym FedorovFrom Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym FedorovSoftServe
 
From the sandbox to production
From the sandbox to productionFrom the sandbox to production
From the sandbox to productionVadym Fedorov
 
Agility and Control from AWS [FutureStack16]
Agility and Control from AWS [FutureStack16]Agility and Control from AWS [FutureStack16]
Agility and Control from AWS [FutureStack16]New Relic
 
The Evolution of Application Release Automation
The Evolution of Application Release AutomationThe Evolution of Application Release Automation
The Evolution of Application Release AutomationJules Pierre-Louis
 
Light Speed with Test Data Management
Light Speed with Test Data ManagementLight Speed with Test Data Management
Light Speed with Test Data ManagementKellyn Pot'Vin-Gorman
 
Dev ops intro
Dev ops introDev ops intro
Dev ops introRaju Raju
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010adrian8three
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineDevOps.com
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryAnand Chauhan
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery AppliedExcella
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Mike McGarr
 
Dev ops days berlin damien caro
Dev ops days berlin   damien caroDev ops days berlin   damien caro
Dev ops days berlin damien caroDamien Caro
 

Similar to Infrastructure as Code (BBWorld/DevCon13) (20)

Back To Basics
Back To BasicsBack To Basics
Back To Basics
 
Enterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast PresentationEnterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast Presentation
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform Engineering
 
Bn1006 demo ppt devops
Bn1006 demo ppt devopsBn1006 demo ppt devops
Bn1006 demo ppt devops
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
Release Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack ProjectRelease Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack Project
 
DevOps and DBA- Delphix
DevOps and DBA-  DelphixDevOps and DBA-  Delphix
DevOps and DBA- Delphix
 
From Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym FedorovFrom Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym Fedorov
 
From the sandbox to production
From the sandbox to productionFrom the sandbox to production
From the sandbox to production
 
Agility and Control from AWS [FutureStack16]
Agility and Control from AWS [FutureStack16]Agility and Control from AWS [FutureStack16]
Agility and Control from AWS [FutureStack16]
 
The Evolution of Application Release Automation
The Evolution of Application Release AutomationThe Evolution of Application Release Automation
The Evolution of Application Release Automation
 
Light Speed with Test Data Management
Light Speed with Test Data ManagementLight Speed with Test Data Management
Light Speed with Test Data Management
 
Dev ops intro
Dev ops introDev ops intro
Dev ops intro
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release Pipeline
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software Delivery
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
 
Dev ops days berlin damien caro
Dev ops days berlin   damien caroDev ops days berlin   damien caro
Dev ops days berlin damien caro
 

More from Mike McGarr

Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)Mike McGarr
 
Productivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOpsProductivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOpsMike McGarr
 
Engineering change: leading a transformation
Engineering change: leading a transformationEngineering change: leading a transformation
Engineering change: leading a transformationMike McGarr
 
Dependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocityDependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocityMike McGarr
 
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Mike McGarr
 
Beyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about NetflixBeyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about NetflixMike McGarr
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Mike McGarr
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Mike McGarr
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Mike McGarr
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniquesMike McGarr
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike McGarr
 

More from Mike McGarr (12)

Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)
 
Productivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOpsProductivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOps
 
Engineering change: leading a transformation
Engineering change: leading a transformationEngineering change: leading a transformation
Engineering change: leading a transformation
 
Dependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocityDependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocity
 
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
 
Beyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about NetflixBeyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about Netflix
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniques
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 

Recently uploaded

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 

Recently uploaded (20)

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 

Infrastructure as Code (BBWorld/DevCon13)

Editor's Notes

  1. 2000+ virtual machinesHundreds of learn instancesHundreds of test agentsIn-house CM tool
  2. Constantly fighting firesResulted from high technical debtImpact to team:High WIPContext switchingLarge backlogImage: http://www.ctif.org/CTIF-Commission-Rescue-and-Fire
  3. If your question is Puppet vs. Chef, the answer is yes.Advantages:Provide DSL (easier to read)Community for helpOpen source, corporate backingHandles errors, etc.
  4. ConvergenceIdempotence
  5. Manual changes lead to driftGoal: Avoid Configuration Drift
  6. Fully capable of rebuilding a server from scratch at any timeEasier than troubleshooting unique issuesImage: http://coverlaydown.com/2013/02/the-phoenix-rises-on-coming-back-and-moving-forward/
  7. The logical evolution of Phoenix Servers
  8. DevOps is not about tools, it’s about culture.…however, tools can change behavior, …and behavior change leads to culture change.
  9. Ruby Wrapper to VirtualBox (and others)Simplifies Local VM integrationUnderstands CM ToolsPlugin API
  10. Chef client installed on machine<Vagrant boots machine, passes runlist to client>Describe Chef Server briefly
  11. Discuss how some developer best practices can/should apply to ops.
  12. Depict how changes are made:Change locally, in VagrantUnit test changes/regressionsRun Integration TestsCommit to Git (pre-commit hook to ensure incremented version)Jenkins runs testsIf successful, publish to Chef Server (staging environment)Staging environment updates (daemon or push)Manual testing…if all goodPromote change in Jenkins to production environmentServers update (daemon/push)
  13. Communication mechanism
  14. Requires:Updates to GemfileTo Run: bundle install && bundle exec rspec --color --format documentationUnit Tests: FIRSTFastIndependentRepeatableSelf-VerifyingTimely
  15. Runs
  16. Common gotcha…Removing a resource from
  17. Script has explicit OS dependencies
  18. Don’t forget to backup data prior to upgrade.