SlideShare ist ein Scribd-Unternehmen logo
1 von 32
BUILDING AND MANAGING
RELIABLE
INFRASTRUCTURE
Mandi Walls, Chef Software
IPExpo Europe, October 8, 2015
With Chef and Chef Delivery
WHO IS CHEF?
• Founded about 8 years ago
• Seattle-based, with offices in London and San
Francisco
• Customers include web-natives, retail, financial
services
• Core product, Chef, is client/server configuration
management
WHOAMI?
• Director of Consulting and Customer Success
EMEA
• Joined Chef in November 2011
• @lnxchk
• These slides will be uploaded
• http://www.slideshare.net/lnxchk
CORE CHEF
• Sophisticated toolset to produce reliable
infrastructure
• Tested, versioned, recorded
THE CODED BUSINESS
• Infrastructure as Code – the underlying idea
that computing components should be
describable in software, versioned, and tested
• Expanded to include risk-reduction, value
acceleration, and expanded trust
EASIER TO FIX BUGS
BEFORE CODE GETS TO
PRODUCTION
PUSHING MORE INTO
PRE-DEPLOY
• Testing with ChefSpec, Test Kitchen, Food
Critic
• Additional system controls via Chef Audit
• Don’t get to production and discover that the
security rules prevent the app from working
• Full 360° view of the application, no
assumptions, everything documented in code
NEED A TOOL THAT MAKES
SUBMITTING, APPROVING,
AND BUILDING FAST AND
EASY
WHY DELIVERY?
• Production of a repeatable pipeline for
software delivery
• Software isn’t creating value at the end of the
build; it creates value after deployment
• Application of key concepts to all code,
including the code that builds other code
NOT JUST APPLICATION
CODE
• We’re now working with infrastructure code,
too
• It should be auditable and traceable
• Incorporate good change management
behaviors
• Reduce risk
CHEF DELIVERY
HOW IT WORKS
CLI
Web
Browser
Job Dispatch
Push
Chef Server
erlang
Delivery
erlang
pgSQL
DB
git
SCM
Build NodeBuild NodeBuild Nodes
U-071982-C
U-071982-C
THE PIPELINE CONCEPT
• The build server should reflect modern
distributed infrastructures
• Preference for smaller, independent, loosely
coupled but dependent services to deliver a
fully functioning application
• Individual software projects ship on their own
schedule, but must integrate!
FAILURE TO SUCCESSFULLY
INTEGRATE MEANS THE BUILD
SHOULD FAIL BEFORE
PRODUCTION
STABLE PIPELINE
Steps
Create a new
change1
Test Change
Locally2
Verification Tests
Submit
Change3
Review
Change4
Build Artifacts
Acceptance Tests
Approve
Change5
Release Process
Deliver
Change6
manual automated
U-071982-C
THE SHARED PIPELINE
• Across various products and teams
• Coordination, integration
• New releases can trigger refreshes on
dependent components
COMMON PIPELINE
One
Pipeline
Delivery Pipeline - Shared
union rehearsal delivered
Acceptance Pipelines - Private
review approve deliverChange
Cookbook [A]
review approve deliverChange
Cookbook [B]
review approve deliverChange
Application [A]
review approve deliverChange
Application [B]
U-071982-C
Infrastructure & Applications
UNIFIED SHAPE
• The stages are fixed. No change goes to
production without flowing through the stages
• Stages include specific phases to reduce
confusion and increase predictability and
stability – these are made up of tasks you’re
probably already doing
• Your goal is to build software that has value
for you, not bikeshed on the pipeline. We did
that.
COMMON PIPELINE
Steps
manual automated
Verify
Lint
Syntax
Unit
Build
Merge
Lint
Syntax
Unit
Quality
Security
Publish
Provision
Deploy
Smoke
Functional
Compliance
Acceptance Union
Provision
Deploy
Smoke
Functional
Compliance
Rehearsal
Provision
Deploy
Smoke
Functional
Compliance
Delivered
Provision
Deploy
Smoke
Functional
Compliance
Stages
customizable
Verify Build
Acceptance
Union
Rehearsal
Delivered
Submit
Change3
Review
Change4
Approve
Change5
Deliver
Change6
Chef Delivery
Create a new
change1
Test Change
Locally2
Workstation
U-071982-C
CUSTOMIZE ACTIVITIES
• Within the phases, the actions taken are
customized to meet the needs of the
application
• Syntax checking, usability testing, etc, can
make use of existing tools
• Test nodes can be provisioned on a variety of
platforms and environments to meet
application needs
BUILD COOKBOOK
├── recipes
├── default.rb
├── lint.rb
├── syntax.rb
├── unit.rb
├── quality.rb
├── security.rb
├── publish.rb
├── provision.rb
├── deploy.rb
├── smoke.rb
└── functional.rb
U-071982-C
BUILD COOKBOOK
• Treating the definition of the build process
with the same care as the code that is going
through it
• Allows for versioning of the build definition,
tracking of changes, linking of new build
definition to new components
PHASE EXECUTION
log "Running unit"
repo = node['delivery_builder']['repo']
execute “run my junit tests" do
command "mvn test"
cwd repo
end
U-071982-C
COOKBOOK WORKFLOW
U-071982-C
Supermarket
Chef Server
review approve deliverChange
Cookbook
Node Node Node
Node Node Node
Node Node Node
APPLICATION WORKFLOW
U-071982-C
review approve deliverChange
Application
Node Node Node
Node Node Node
Node Node Node
Deploy
1 2 3
2 2 3
3 3 3
U-071982-C
CREATE NEW PIPELINES
• Project code repository
• Build cookbook *versioned!*
• Project configuration file *also versioned!*
CONFIG.JSON
{
"version": "1",
"build_cookbook": "./.delivery/build_cookbook",
"build_nodes": {
"default": [“name:*buildnode-*”],
"unit": [“name:*-unittest*”],
"lint": [“name:*-linttest*”],
"build": [“name:*-builder*”]
}
}
U-071982-C
• Delivery gives you a mechanism to create
fully-described build process for complex
applications
• The build process itself benefits from the same
version control and software practices the
code uses
• Prevent bugs and regressions from getting to
production with full integration retrospective
testing
MORE ABOUT DELIVERY
https://www.chef.io/delivery/
VISIT US
BOOTH GG8
UPCOMING EVENTS
• Next London Chef Meetup: October 20
• http://www.meetup.com/Chef-Users-London
• Chef Cookbook Workflow @ AWS Popup Loft
• https://www.chef.io/blog/event/chef-cookbook-workflow-
2/
• Chef Community Summit
• November 3-4 in London
• https://www.chef.io/summit/london/
NEW TO CHEF?
• https://learn.chef.io/
• Online trainings, in-person classroom training,
dates announced regularly
U-071982-C

Weitere ähnliche Inhalte

Was ist angesagt?

DevOps: What, who, why and how?
DevOps: What, who, why and how?DevOps: What, who, why and how?
DevOps: What, who, why and how?Red Gate Software
 
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...XebiaLabs
 
DevOps, Agile methods and Continuous Improvement in the Software development ...
DevOps, Agile methods and Continuous Improvement in the Software development ...DevOps, Agile methods and Continuous Improvement in the Software development ...
DevOps, Agile methods and Continuous Improvement in the Software development ...Paulo Traça
 
5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps Culture5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps CultureJumpCloud
 
DevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday KumarDevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday KumaroGuild .
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseXebiaLabs
 
DevOps MythBusters
DevOps MythBustersDevOps MythBusters
DevOps MythBustersXebiaLabs
 
Navvia's DevOps journey
Navvia's DevOps journeyNavvia's DevOps journey
Navvia's DevOps journeyNavvia
 
5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps CultureMandi Walls
 
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaDevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaEdureka!
 
Continuous Delivery and DevOps at Rabobank
Continuous Delivery and DevOps at RabobankContinuous Delivery and DevOps at Rabobank
Continuous Delivery and DevOps at RabobankXebiaLabs
 
Metrics to Power DevOps
Metrics to Power DevOpsMetrics to Power DevOps
Metrics to Power DevOpsCollabNet
 
Diving Into Docker
Diving Into Docker Diving Into Docker
Diving Into Docker XebiaLabs
 
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014johnfcshaw
 
DevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devopsDevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devopsBasis Technologies
 
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...Gene Kim
 

Was ist angesagt? (20)

DevOps: What, who, why and how?
DevOps: What, who, why and how?DevOps: What, who, why and how?
DevOps: What, who, why and how?
 
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
 
DevOps, Agile methods and Continuous Improvement in the Software development ...
DevOps, Agile methods and Continuous Improvement in the Software development ...DevOps, Agile methods and Continuous Improvement in the Software development ...
DevOps, Agile methods and Continuous Improvement in the Software development ...
 
5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps Culture5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps Culture
 
DevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday KumarDevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday Kumar
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the Enterprise
 
DevOps for Database webinar
DevOps for Database webinarDevOps for Database webinar
DevOps for Database webinar
 
DevOps MythBusters
DevOps MythBustersDevOps MythBusters
DevOps MythBusters
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Navvia's DevOps journey
Navvia's DevOps journeyNavvia's DevOps journey
Navvia's DevOps journey
 
5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture
 
DevOps Foundation
DevOps FoundationDevOps Foundation
DevOps Foundation
 
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaDevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
 
Continuous Delivery and DevOps at Rabobank
Continuous Delivery and DevOps at RabobankContinuous Delivery and DevOps at Rabobank
Continuous Delivery and DevOps at Rabobank
 
Metrics to Power DevOps
Metrics to Power DevOpsMetrics to Power DevOps
Metrics to Power DevOps
 
Diving Into Docker
Diving Into Docker Diving Into Docker
Diving Into Docker
 
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
 
DevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devopsDevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devops
 
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
 

Ähnlich wie Building and Managing Reliable Infrastructure with Chef and Chef Delivery

DevOps Transformation: Learnings and Best Practices
DevOps Transformation: Learnings and Best PracticesDevOps Transformation: Learnings and Best Practices
DevOps Transformation: Learnings and Best PracticesQBurst
 
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
 
Chef onlinuxonpower
Chef onlinuxonpowerChef onlinuxonpower
Chef onlinuxonpowerMoya Brannan
 
IP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryIP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryMandi Walls
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneciberkleid
 
Successful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHSuccessful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHMandi Walls
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloudVMware Tanzu
 
Transform Digital Business with DevOps
Transform Digital Business with DevOpsTransform Digital Business with DevOps
Transform Digital Business with DevOpsDaniel Oh
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Marcin Grzejszczak
 
A Bit of Everything Chef
A Bit of Everything ChefA Bit of Everything Chef
A Bit of Everything ChefMandi Walls
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateMatt Ray
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasVMware Tanzu
 
Continuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinContinuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinDiego Garber
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestMarcin Grzejszczak
 
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...WSO2
 
Delivering Applications Continuously to Cloud
Delivering Applications Continuously to CloudDelivering Applications Continuously to Cloud
Delivering Applications Continuously to CloudIBM UrbanCode Products
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapesChris Kernaghan
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerVMware Tanzu
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerGregor Zurowski
 
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...VMworld
 

Ähnlich wie Building and Managing Reliable Infrastructure with Chef and Chef Delivery (20)

DevOps Transformation: Learnings and Best Practices
DevOps Transformation: Learnings and Best PracticesDevOps Transformation: Learnings and Best Practices
DevOps Transformation: Learnings and Best Practices
 
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
 
Chef onlinuxonpower
Chef onlinuxonpowerChef onlinuxonpower
Chef onlinuxonpower
 
IP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryIP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous Delivery
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOne
 
Successful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHSuccessful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPH
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloud
 
Transform Digital Business with DevOps
Transform Digital Business with DevOpsTransform Digital Business with DevOps
Transform Digital Business with DevOps
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017
 
A Bit of Everything Chef
A Bit of Everything ChefA Bit of Everything Chef
A Bit of Everything Chef
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef Automate
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour Dallas
 
Continuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinContinuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 Medellin
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfest
 
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
 
Delivering Applications Continuously to Cloud
Delivering Applications Continuously to CloudDelivering Applications Continuously to Cloud
Delivering Applications Continuously to Cloud
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile Manufacturer
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile Manufacturer
 
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
 

Mehr von Mandi Walls

DOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdfDOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdfMandi Walls
 
Addo reducing trauma in organizations with SLOs and chaos engineering
Addo  reducing trauma in organizations with SLOs and chaos engineeringAddo  reducing trauma in organizations with SLOs and chaos engineering
Addo reducing trauma in organizations with SLOs and chaos engineeringMandi Walls
 
Full Service Ownership
Full Service OwnershipFull Service Ownership
Full Service OwnershipMandi Walls
 
PagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call TeamsPagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call TeamsMandi Walls
 
InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020Mandi Walls
 
Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Mandi Walls
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityMandi Walls
 
Adding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17xAdding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17xMandi Walls
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Mandi Walls
 
BuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec WorkshopBuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec WorkshopMandi Walls
 
InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018Mandi Walls
 
DevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopDevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopMandi Walls
 
Adding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpecAdding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpecMandi Walls
 
InSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beInSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beMandi Walls
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker budMandi Walls
 
Ingite Slides for InSpec
Ingite Slides for InSpecIngite Slides for InSpec
Ingite Slides for InSpecMandi Walls
 
Habitat at LinuxLab IT
Habitat at LinuxLab ITHabitat at LinuxLab IT
Habitat at LinuxLab ITMandi Walls
 
InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017Mandi Walls
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Mandi Walls
 
InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017Mandi Walls
 

Mehr von Mandi Walls (20)

DOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdfDOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdf
 
Addo reducing trauma in organizations with SLOs and chaos engineering
Addo  reducing trauma in organizations with SLOs and chaos engineeringAddo  reducing trauma in organizations with SLOs and chaos engineering
Addo reducing trauma in organizations with SLOs and chaos engineering
 
Full Service Ownership
Full Service OwnershipFull Service Ownership
Full Service Ownership
 
PagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call TeamsPagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call Teams
 
InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020
 
Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure Security
 
Adding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17xAdding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17x
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
 
BuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec WorkshopBuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec Workshop
 
InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018
 
DevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopDevOpsDays InSpec Workshop
DevOpsDays InSpec Workshop
 
Adding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpecAdding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpec
 
InSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beInSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.be
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
 
Ingite Slides for InSpec
Ingite Slides for InSpecIngite Slides for InSpec
Ingite Slides for InSpec
 
Habitat at LinuxLab IT
Habitat at LinuxLab ITHabitat at LinuxLab IT
Habitat at LinuxLab IT
 
InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017
 
InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017
 

Kürzlich hochgeladen

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Kürzlich hochgeladen (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Building and Managing Reliable Infrastructure with Chef and Chef Delivery

  • 1. BUILDING AND MANAGING RELIABLE INFRASTRUCTURE Mandi Walls, Chef Software IPExpo Europe, October 8, 2015 With Chef and Chef Delivery
  • 2. WHO IS CHEF? • Founded about 8 years ago • Seattle-based, with offices in London and San Francisco • Customers include web-natives, retail, financial services • Core product, Chef, is client/server configuration management
  • 3. WHOAMI? • Director of Consulting and Customer Success EMEA • Joined Chef in November 2011 • @lnxchk • These slides will be uploaded • http://www.slideshare.net/lnxchk
  • 4. CORE CHEF • Sophisticated toolset to produce reliable infrastructure • Tested, versioned, recorded
  • 5. THE CODED BUSINESS • Infrastructure as Code – the underlying idea that computing components should be describable in software, versioned, and tested • Expanded to include risk-reduction, value acceleration, and expanded trust
  • 6. EASIER TO FIX BUGS BEFORE CODE GETS TO PRODUCTION
  • 7. PUSHING MORE INTO PRE-DEPLOY • Testing with ChefSpec, Test Kitchen, Food Critic • Additional system controls via Chef Audit • Don’t get to production and discover that the security rules prevent the app from working • Full 360° view of the application, no assumptions, everything documented in code
  • 8. NEED A TOOL THAT MAKES SUBMITTING, APPROVING, AND BUILDING FAST AND EASY
  • 9. WHY DELIVERY? • Production of a repeatable pipeline for software delivery • Software isn’t creating value at the end of the build; it creates value after deployment • Application of key concepts to all code, including the code that builds other code
  • 10. NOT JUST APPLICATION CODE • We’re now working with infrastructure code, too • It should be auditable and traceable • Incorporate good change management behaviors • Reduce risk
  • 12. HOW IT WORKS CLI Web Browser Job Dispatch Push Chef Server erlang Delivery erlang pgSQL DB git SCM Build NodeBuild NodeBuild Nodes U-071982-C
  • 13. U-071982-C THE PIPELINE CONCEPT • The build server should reflect modern distributed infrastructures • Preference for smaller, independent, loosely coupled but dependent services to deliver a fully functioning application • Individual software projects ship on their own schedule, but must integrate!
  • 14. FAILURE TO SUCCESSFULLY INTEGRATE MEANS THE BUILD SHOULD FAIL BEFORE PRODUCTION
  • 15. STABLE PIPELINE Steps Create a new change1 Test Change Locally2 Verification Tests Submit Change3 Review Change4 Build Artifacts Acceptance Tests Approve Change5 Release Process Deliver Change6 manual automated U-071982-C
  • 16. THE SHARED PIPELINE • Across various products and teams • Coordination, integration • New releases can trigger refreshes on dependent components
  • 17. COMMON PIPELINE One Pipeline Delivery Pipeline - Shared union rehearsal delivered Acceptance Pipelines - Private review approve deliverChange Cookbook [A] review approve deliverChange Cookbook [B] review approve deliverChange Application [A] review approve deliverChange Application [B] U-071982-C Infrastructure & Applications
  • 18. UNIFIED SHAPE • The stages are fixed. No change goes to production without flowing through the stages • Stages include specific phases to reduce confusion and increase predictability and stability – these are made up of tasks you’re probably already doing • Your goal is to build software that has value for you, not bikeshed on the pipeline. We did that.
  • 19. COMMON PIPELINE Steps manual automated Verify Lint Syntax Unit Build Merge Lint Syntax Unit Quality Security Publish Provision Deploy Smoke Functional Compliance Acceptance Union Provision Deploy Smoke Functional Compliance Rehearsal Provision Deploy Smoke Functional Compliance Delivered Provision Deploy Smoke Functional Compliance Stages customizable Verify Build Acceptance Union Rehearsal Delivered Submit Change3 Review Change4 Approve Change5 Deliver Change6 Chef Delivery Create a new change1 Test Change Locally2 Workstation U-071982-C
  • 20. CUSTOMIZE ACTIVITIES • Within the phases, the actions taken are customized to meet the needs of the application • Syntax checking, usability testing, etc, can make use of existing tools • Test nodes can be provisioned on a variety of platforms and environments to meet application needs
  • 21. BUILD COOKBOOK ├── recipes ├── default.rb ├── lint.rb ├── syntax.rb ├── unit.rb ├── quality.rb ├── security.rb ├── publish.rb ├── provision.rb ├── deploy.rb ├── smoke.rb └── functional.rb U-071982-C
  • 22. BUILD COOKBOOK • Treating the definition of the build process with the same care as the code that is going through it • Allows for versioning of the build definition, tracking of changes, linking of new build definition to new components
  • 23. PHASE EXECUTION log "Running unit" repo = node['delivery_builder']['repo'] execute “run my junit tests" do command "mvn test" cwd repo end U-071982-C
  • 24. COOKBOOK WORKFLOW U-071982-C Supermarket Chef Server review approve deliverChange Cookbook Node Node Node Node Node Node Node Node Node
  • 25. APPLICATION WORKFLOW U-071982-C review approve deliverChange Application Node Node Node Node Node Node Node Node Node Deploy 1 2 3 2 2 3 3 3 3
  • 26. U-071982-C CREATE NEW PIPELINES • Project code repository • Build cookbook *versioned!* • Project configuration file *also versioned!*
  • 27. CONFIG.JSON { "version": "1", "build_cookbook": "./.delivery/build_cookbook", "build_nodes": { "default": [“name:*buildnode-*”], "unit": [“name:*-unittest*”], "lint": [“name:*-linttest*”], "build": [“name:*-builder*”] } } U-071982-C
  • 28. • Delivery gives you a mechanism to create fully-described build process for complex applications • The build process itself benefits from the same version control and software practices the code uses • Prevent bugs and regressions from getting to production with full integration retrospective testing
  • 30. UPCOMING EVENTS • Next London Chef Meetup: October 20 • http://www.meetup.com/Chef-Users-London • Chef Cookbook Workflow @ AWS Popup Loft • https://www.chef.io/blog/event/chef-cookbook-workflow- 2/ • Chef Community Summit • November 3-4 in London • https://www.chef.io/summit/london/
  • 31. NEW TO CHEF? • https://learn.chef.io/ • Online trainings, in-person classroom training, dates announced regularly

Hinweis der Redaktion

  1. Older build and deployment tools reflect the types of systems built in their times – independent projects rather than a family of services working together to create a larger-value application system.
  2. All production changes ship through this pipeline. Infrastructure changes. Updates to system software. Security fixes. A change is made to the code, it is tested locally on a developer’s workstation for fast response tests with small resource requirements, it’s submitted to the project pipeline, approved, and moves on. We’re in a position now to catch bugs or changes to behavior caused by updates to underlying software. impacts from security updates can be known quickly so system remediation can happen within a shorter window after a vulnerability is announced and fixed by a vendor. Risk is programmatically reduced by employing testing to all code that goes into the Delivery process.
  3. This means the system is able to help coordinate the flow of change across projects and teams from dev workstation all the way out to Production. Each project has its own acceptance pipeline to run its specific internal tests, whether it is java, ruby, php, javascript, etc. The system enforces a single change-at-a-time moving through each of Union, Rehearsal, and Delivered. These changes have already been internally accepted – they’ve passed their own tests and are provably correct for their own behavior, when they come to the shared pipeline, they are tested against all other dependent services in the cluster, constellation, collection to know that their changes don’t impact the whole. This keeps things stable. If something breaks, you can identify the change that introduced the breakage. When a change is made, it is much more obvious that it is changing the entire system, rather than just a small independent component.