SlideShare a Scribd company logo
1 of 22
Download to read offline
1
Serve Meals,
Not Ingredients
John Sweitzer
john_sweitzer@thirdwaveinsights.com
@tkdsweitz
Christine Draper
christine_draper@thirdwaveinsights.com
@CristineDraper
@3rdwaveinsights
http://www.thirdwaveinsights.com
2
Topology
Meals are topologies, nodes are key ingredients
Nodes
Software on a
Node
Connections
Meal
Ingredients
3
Emulating topologies in Chef starts with grouping nodes
Topology JSON
Minimize collisions
Topology-as-code
Optimized for Chef
Faster iterations
{
"name": "inttest1",
“provisioning” : {
},
"services": [
{
"name": "appserver-elb",
"type": "load_balancer"
}
],
"nodes": [
{
"name": "appserver"
},
{
"name": "dbserver"
}
]}
topo.json
Chef Server
Environments
Data Bags
Cookbooks
Nodes
Chef Server
Nodes Node
Environments
Data Bags
Cookbooks
● Ways to emulate:
– Environments
– Tags
– Node attributes
– Data bags
knife-topo
4
Multi-* Enterprise - This may not be you, exactly, but...
● Multiple lines of business
running business systems
● Multiple deployment across
application pipeline
● Technology Adoption Model
First team First wave Broad adoption Full adoption
Asset
Tracker
Inventory
Customer
Orders
Human
Resources
Application pipeline
Test Stage DeliveryDevelop
5
Jake's charter
More meetings
Less autonomy/control
Endless debates/escalations
Tedious data gathering
Reduce cost
Share skills
Share content
Why increase
consistency?
INCREASE CONSISTENCY ACROSS TEAMS
WITHOUT DECREASING THEIR AGILITY
6
The WORK (and it is work) to increase consistency...
Gather
Organize
Decide
Change
Monitor
Waste Innovation
7
Organize: Topology-Blueprint-Inventory Pattern
BlueprintsPipelineTopologies
Test Stage DeliverDevelop
Inventory
Optimized
Arrangements
Particular
Deployment
Automate.Insights
Organizational
Flow
Bill of
Materials
An IT business system is a collection of IT
resources delivering a business function
● Blueprints evolve
● Topologies are specialized
● Visibility encourages collaboration
8
Decide: What is expected to be common in all deployments?
Software Version Default recipe
mongodb 2.6.5 coolco_mongodb::default
nodeapp 1.0 coolco_nodeapp::deploy_from_
package
nodejs 0.10.29 coolco_nodejs::default
Recipe Inventory
apt
chef_client::config
coolco_handlers::default
coolco_mongodb::default
coolco_nodeapp::deploy_from_package
coolco_nodejs::default
Software Attribute Value
mongodb xxx yyy
xxx yyy
xxx yyy
Software Attribute Value
nodeapp nodeapp.name asset_tracker
nodeapp.user jake
nodeapp.dir /home/automation
RunlistNode
attributes
9
Decide: Look across blueprints...
Automate.
Insights
● Node Types
● Software and Version
● Attribute Values
● Recipes
● Cookbooks
Software attribute
value by blueprint
10
Change – All does not need to change at once
BlueprintsPipelineTopologies
Test Stage DeliverDevelop
Inventory
Optimized
Arrangements
Particular
Deployment
Organizational
Flow
Bill of
Materials
Chef
Server
Actual IT
Resources
Environments
Data Bags
Cookbooks Nodes
Roles
● Prime
● Synchronize
● Local Override
StagedChanges
nodejs 0.10.28 to 0.10.30
11
Gathering and Changing details in Chef Server
knife topo
export YourTopology
node1 node2 node3 …
> YourTopology.json
Topology
JSONChef Server
knife-
topo
Automate.Insights
knife topo
import YourTopology
knife topo
create YourTopology
Create blueprints from nodes
Align topologies with blueprint
Propagate changes to Chef
server
Gather
Organize
Decide
Change
Monitor
12
Fred's Scenario
Meanwhile Shadow IT has sprung up in various
lines of business, using a range of providers
Fred's one of the technical leads who's been
successful bringing consistency across CoolCo's
core business systems...
CoolCo wants Fred to help the Lines of Business
adopt Chef and become more consistent in their
delivery, without impacting their agility
13
Fred meets with one of the lines of
business to understand what they have...
appserver
AMI
appserver
auto scaling groupElastic Load
Balancer
(appserver-
elb)
dbserver
AWS cloud
Launch
Configuration
db url
protocol
& port
instance
protocol
& port
Resources": {
"elbappserverelb": {
"Type": "AWS::ElasticLoadBalancing::LoadBalancer",
"Properties": {
"AvailabilityZones": [
"us-west-2c", "us-west-2b", "us-west-2a"
],
"Listeners": [
{
"InstancePort": "3001",
"LoadBalancerPort": "3001",
"Protocol": "HTTP",
"InstanceProtocol": "HTTP"
}
]}
},
...
Create multiple test topologies
rapidly & consistently
Delete topologies when done
CloudFormation
Template
CloudFormation
Stacks
CloudFormation
AWS Icons: http://aws.amazon.com/architecture/icons/
Hook-Em... a recently-
developed customer
conversion system
14
… and what their challenges are
app
+
nodejs
mongo
db
application &
middleware
"DBServer": {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
"#!/bin/bashn",
"yum update -y aws-cfn-bootstrapn",
<snip 20 lines>
"yum -y install mongo-10gen-server > /tmp/yum-mongo.log 2>&1n",
<snip 50 lines>
"/etc/init.d/mongod start > /tmp/mongod-start.log 2>&1n",
<snip 20 lines>
"/opt/aws/bin/cfn-signal -e 0 -r "Mongo setup complete" '", { "Ref" :
"WaitHandleMongo" }, "'n"
] ] } },
...
}
...
}}}
It's hard to configure &
update the software
Our admin who created our
templates has left...
15
A shared goal emerges...
Deployer Interface
that makes it easy to
customize and
update the topology
Topology-as-code
Deployment lifecycle
actions
Full stack provisioning
Reuse organization
cookbooks & practices
Chef Server
Git
Topology
JSON
chef-
provisioning
...Now to make it happen!
Provisioning
Recipes
Convert from existing
templates
16
Chef Server
What are the steps?
For the Hook'Em business system:
1) Set up Hook'Em System Inventory in Automate.Insights
2) Create a Blueprint based on the existing CloudFormation template
3) Create Topologies and provision them using generated recipes
app +
nodejs
mongo
dbapplication &
middleware
infrastructure
Topology
JSON
chef-
provisioning
Automate.
Insights
Provisioning
recipes
● System inventory
● Existing template
17
1 – Setup Hook'Em System Inventory
Software Version Default recipe
mongodb 2.6.5 coolco_mongodb::default
nodeapp 1.0 coolco_nodeapp::deploy_from_
package
nodejs 0.10.29 coolco_nodejs::default
Recipe Inventory
apt
chef_client::config
coolco_handlers::default
coolco_mongodb::default
coolco_nodeapp::deploy_from_package
coolco_nodejs::default
Software Attribute Value
mongodb xxx yyy
xxx yyy
xxx yyy
Software Attribute Value
nodeapp nodeapp.name hookem
nodeapp.user automation
nodeapp.dir /home/automation
RunlistNode
attributes
Fred primes the System Inventory in Automate.Insights with CoolCo's standard recipes and
recommended attribute values for the software in the HookEm System.
System Inventory
Automate.
Insights
mongodb
nodeapp
nodejsBlueprint
18
2 - Create a Blueprint for Hook'Em
Topology
JSON Automate.
Insights
The Hook'Em team converts the existing CloudFormation template using topo-provision, and uses it
and the System Inventory to create a Blueprint and Topologies in Automate.Insights
topo-
provision
CloudFormation
template
Software
inventory
Full-Stack
Topology JSON
19
3 - Generate recipes & provision the full stack topology
chef-provisioning can handle network resources too!
app +
nodejs
mongo
dbapplication &
middleware
infrastructure
Full Stack
Topology JSON
topo-
provision
Chef-Provisioning recipes
chef-
provisioning
with_driver “aws”
load_balancer ... do
...
end
machine … do
…
end
aws_launch_config … do
...
end
aws_autoscaling_group … do
...
end
● Deploy
● Undeploy
load_balancer "appserver-elb" do
load_balancer_options({
:listeners=> [{
:port=>3001, :protocol=>"HTTP",
:instance_port=>3001, :instance_protocol=>"HTTP"
}],
:availability_zones=>
["us-west-2c", "us-west-2a", "us-west-2b"]})
end
machine "dbserver" do
run_list ["recipe[coolco::db]"]
attribute 'topo', {"node_type"=>"dbserver", "name"=>"test"}
end
deploy.rb:
Supports deployment
lifecycle actions
Sensitive to resource
relationships
Using topo-provision, the Hook'Em team generate topology provisioning recipes that enable chef-
provisioning to provision the full stack.
20
Summary of transformation
Infrastructure templates
Stack create and delete
Customization of parameters
Full stack Topology JSON
Conversion from existing templates
Topology deploy and un-deploy
Integrated provisioning and configuration
management
Customization of attributes & run list
Line-of-sight across topologies
Tool assistance for change propagation
Topology
Template
Deployment
Deployer
Interface
As-Is To-Be
Practices Reuse organization cookbooks
Benefit from Chef test tools
CloudFormation
Template
CloudFormation
Stacks
CloudFormation
Topology JSON
ChefAutomate.Insights
21
A Cloud-neutral topology template has wider value to the
Chef community
Topology
JSON
chef-
provisioning
Provisioning
Recipes
Convert from other
formats
Increase portability
CloudFormation
Terraform
OASIS TOSCA
Home-grown
Integrate with multiple
tools, from Chef and
others
Adoption of a Chef-oriented topology template that is not tied to one Cloud Provider helps increase
portability and tool integration going forward.
Deploy to multiple
providers
This is a vision with proof points for CloudFormation, AWS and Vagrant.
Test
Kitchen
kitchen.
yml
Automate.
Insights
22
Thank you!
Tools:
http://www.thirdwaveinsights.com/automateinsights
https://github.com/christinedraper/topo-provision
https://github.com/christinedraper/knife-topo
Find Out More
Speakers:
john_sweitzer@thirdwaveinsights.com
@tkdsweitz
christine_draper@thirdwaveinsights.com
@CristineDraper

More Related Content

What's hot

How to create a secured cloudera cluster
How to create a secured cloudera clusterHow to create a secured cloudera cluster
How to create a secured cloudera clusterTiago Simões
 
Ansible : what's ansible & use case by REX
Ansible :  what's ansible & use case by REXAnsible :  what's ansible & use case by REX
Ansible : what's ansible & use case by REXSaewoong Lee
 
Building and Deploying Application to Apache Mesos
Building and Deploying Application to Apache MesosBuilding and Deploying Application to Apache Mesos
Building and Deploying Application to Apache MesosJoe Stein
 
MySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & GrafanaMySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & GrafanaYoungHeon (Roy) Kim
 
DevOps Enabling Your Team
DevOps Enabling Your TeamDevOps Enabling Your Team
DevOps Enabling Your TeamGR8Conf
 
Rally - Benchmarking_as_a_service - Openstack meetup
Rally - Benchmarking_as_a_service - Openstack meetupRally - Benchmarking_as_a_service - Openstack meetup
Rally - Benchmarking_as_a_service - Openstack meetupAnanth Padmanabhan
 
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종NAVER D2
 
Oracle database - Get external data via HTTP, FTP and Web Services
Oracle database - Get external data via HTTP, FTP and Web ServicesOracle database - Get external data via HTTP, FTP and Web Services
Oracle database - Get external data via HTTP, FTP and Web ServicesKim Berg Hansen
 
Manage Add-on Services in Apache Ambari
Manage Add-on Services in Apache AmbariManage Add-on Services in Apache Ambari
Manage Add-on Services in Apache AmbariJayush Luniya
 
DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016Maarten Balliauw
 
Using ngx_lua in UPYUN 2
Using ngx_lua in UPYUN 2Using ngx_lua in UPYUN 2
Using ngx_lua in UPYUN 2Cong Zhang
 
Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017Jonathon Brouse
 
Administering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud ClustersAdministering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud ClustersSematext Group, Inc.
 
Spark performance tuning eng
Spark performance tuning engSpark performance tuning eng
Spark performance tuning enghaiteam
 
Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013Mohan Arumugam
 
Failsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo HomepageFailsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo HomepageKit Chan
 

What's hot (19)

How to create a secured cloudera cluster
How to create a secured cloudera clusterHow to create a secured cloudera cluster
How to create a secured cloudera cluster
 
Ansible : what's ansible & use case by REX
Ansible :  what's ansible & use case by REXAnsible :  what's ansible & use case by REX
Ansible : what's ansible & use case by REX
 
Building and Deploying Application to Apache Mesos
Building and Deploying Application to Apache MesosBuilding and Deploying Application to Apache Mesos
Building and Deploying Application to Apache Mesos
 
MySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & GrafanaMySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & Grafana
 
Intro to Terraform
Intro to TerraformIntro to Terraform
Intro to Terraform
 
DevOps Enabling Your Team
DevOps Enabling Your TeamDevOps Enabling Your Team
DevOps Enabling Your Team
 
Rally - Benchmarking_as_a_service - Openstack meetup
Rally - Benchmarking_as_a_service - Openstack meetupRally - Benchmarking_as_a_service - Openstack meetup
Rally - Benchmarking_as_a_service - Openstack meetup
 
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
 
Oracle database - Get external data via HTTP, FTP and Web Services
Oracle database - Get external data via HTTP, FTP and Web ServicesOracle database - Get external data via HTTP, FTP and Web Services
Oracle database - Get external data via HTTP, FTP and Web Services
 
Refactoring terraform
Refactoring terraformRefactoring terraform
Refactoring terraform
 
Manage Add-on Services in Apache Ambari
Manage Add-on Services in Apache AmbariManage Add-on Services in Apache Ambari
Manage Add-on Services in Apache Ambari
 
DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016
 
Using ngx_lua in UPYUN 2
Using ngx_lua in UPYUN 2Using ngx_lua in UPYUN 2
Using ngx_lua in UPYUN 2
 
Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017
 
Administering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud ClustersAdministering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud Clusters
 
Spark performance tuning eng
Spark performance tuning engSpark performance tuning eng
Spark performance tuning eng
 
Tuning Solr & Pipeline for Logs
Tuning Solr & Pipeline for LogsTuning Solr & Pipeline for Logs
Tuning Solr & Pipeline for Logs
 
Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013
 
Failsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo HomepageFailsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo Homepage
 

Viewers also liked

Huong dan zen (phan 2)
Huong dan zen (phan 2)Huong dan zen (phan 2)
Huong dan zen (phan 2)viet_aids
 
Curio ,, (1)
Curio ,, (1)Curio ,, (1)
Curio ,, (1)SibinSA
 
Chuong2 cautrucplc
Chuong2 cautrucplcChuong2 cautrucplc
Chuong2 cautrucplcviet_aids
 
5.1 fragments introduction to idhafah v2
5.1 fragments introduction to idhafah v25.1 fragments introduction to idhafah v2
5.1 fragments introduction to idhafah v2Mujahidul Islam
 
"Best Practice Business Case Modeling"
"Best Practice Business Case Modeling""Best Practice Business Case Modeling"
"Best Practice Business Case Modeling"ProjectAcom
 
Các quá trình và thiết bị truyền nhiệt luận văn, đồ án, đề tài tốt nghiệp
Các quá trình và thiết bị truyền nhiệt   luận văn, đồ án, đề tài tốt nghiệpCác quá trình và thiết bị truyền nhiệt   luận văn, đồ án, đề tài tốt nghiệp
Các quá trình và thiết bị truyền nhiệt luận văn, đồ án, đề tài tốt nghiệpviet_aids
 

Viewers also liked (11)

Huong dan zen (phan 2)
Huong dan zen (phan 2)Huong dan zen (phan 2)
Huong dan zen (phan 2)
 
Curio ,, (1)
Curio ,, (1)Curio ,, (1)
Curio ,, (1)
 
Midnight rollers
Midnight rollersMidnight rollers
Midnight rollers
 
Midnight rollers 23 - 30.
Midnight rollers 23 - 30.Midnight rollers 23 - 30.
Midnight rollers 23 - 30.
 
Midnight rollers 23 - 30.
Midnight rollers 23 - 30.Midnight rollers 23 - 30.
Midnight rollers 23 - 30.
 
Chuong2 cautrucplc
Chuong2 cautrucplcChuong2 cautrucplc
Chuong2 cautrucplc
 
5.1 fragments introduction to idhafah v2
5.1 fragments introduction to idhafah v25.1 fragments introduction to idhafah v2
5.1 fragments introduction to idhafah v2
 
Flowers
FlowersFlowers
Flowers
 
"Best Practice Business Case Modeling"
"Best Practice Business Case Modeling""Best Practice Business Case Modeling"
"Best Practice Business Case Modeling"
 
Các quá trình và thiết bị truyền nhiệt luận văn, đồ án, đề tài tốt nghiệp
Các quá trình và thiết bị truyền nhiệt   luận văn, đồ án, đề tài tốt nghiệpCác quá trình và thiết bị truyền nhiệt   luận văn, đồ án, đề tài tốt nghiệp
Các quá trình và thiết bị truyền nhiệt luận văn, đồ án, đề tài tốt nghiệp
 
Oral White Lesions
Oral White LesionsOral White Lesions
Oral White Lesions
 

Similar to Serve Meals, Not Ingredients (ChefConf 2015)

Priming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the CloudPriming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the CloudMatt Callanan
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...Nati Shalom
 
Uri Cohen & Dan Kilman, GigaSpaces - Orchestration Tool Roundup - OpenStack l...
Uri Cohen & Dan Kilman, GigaSpaces - Orchestration Tool Roundup - OpenStack l...Uri Cohen & Dan Kilman, GigaSpaces - Orchestration Tool Roundup - OpenStack l...
Uri Cohen & Dan Kilman, GigaSpaces - Orchestration Tool Roundup - OpenStack l...Cloud Native Day Tel Aviv
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Amazon Web Services
 
GeekAustin DevOps
GeekAustin DevOpsGeekAustin DevOps
GeekAustin DevOpsMatt Ray
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsWinston Hsieh
 
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...Uri Cohen
 
Ansible & Salt - Vincent Boon
Ansible & Salt - Vincent BoonAnsible & Salt - Vincent Boon
Ansible & Salt - Vincent BoonMyNOG
 
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013Amazon Web Services
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)QAware GmbH
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menujtimberman
 
Declarative Infrastructure Tools
Declarative Infrastructure Tools Declarative Infrastructure Tools
Declarative Infrastructure Tools Yulia Shcherbachova
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
Yaroslav Nedashkovsky "How to manage hundreds of pipelines for processing da...
Yaroslav Nedashkovsky  "How to manage hundreds of pipelines for processing da...Yaroslav Nedashkovsky  "How to manage hundreds of pipelines for processing da...
Yaroslav Nedashkovsky "How to manage hundreds of pipelines for processing da...Lviv Startup Club
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesChris Bailey
 
MongoDB Server Provisioning - From 2 Months to 2 Minutes
MongoDB Server Provisioning - From 2 Months to 2 MinutesMongoDB Server Provisioning - From 2 Months to 2 Minutes
MongoDB Server Provisioning - From 2 Months to 2 MinutesMongoDB
 
Amazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to productionAmazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to productionPaolo latella
 

Similar to Serve Meals, Not Ingredients (ChefConf 2015) (20)

Priming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the CloudPriming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the Cloud
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
 
Uri Cohen & Dan Kilman, GigaSpaces - Orchestration Tool Roundup - OpenStack l...
Uri Cohen & Dan Kilman, GigaSpaces - Orchestration Tool Roundup - OpenStack l...Uri Cohen & Dan Kilman, GigaSpaces - Orchestration Tool Roundup - OpenStack l...
Uri Cohen & Dan Kilman, GigaSpaces - Orchestration Tool Roundup - OpenStack l...
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
 
GeekAustin DevOps
GeekAustin DevOpsGeekAustin DevOps
GeekAustin DevOps
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Iac d.damyanov 4.pptx
Iac d.damyanov 4.pptxIac d.damyanov 4.pptx
Iac d.damyanov 4.pptx
 
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...
 
Ansible & Salt - Vincent Boon
Ansible & Salt - Vincent BoonAnsible & Salt - Vincent Boon
Ansible & Salt - Vincent Boon
 
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menu
 
Declarative Infrastructure Tools
Declarative Infrastructure Tools Declarative Infrastructure Tools
Declarative Infrastructure Tools
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Yaroslav Nedashkovsky "How to manage hundreds of pipelines for processing da...
Yaroslav Nedashkovsky  "How to manage hundreds of pipelines for processing da...Yaroslav Nedashkovsky  "How to manage hundreds of pipelines for processing da...
Yaroslav Nedashkovsky "How to manage hundreds of pipelines for processing da...
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
 
MongoDB Server Provisioning - From 2 Months to 2 Minutes
MongoDB Server Provisioning - From 2 Months to 2 MinutesMongoDB Server Provisioning - From 2 Months to 2 Minutes
MongoDB Server Provisioning - From 2 Months to 2 Minutes
 
Amazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to productionAmazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to production
 

Recently uploaded

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 

Recently uploaded (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 

Serve Meals, Not Ingredients (ChefConf 2015)

  • 1. 1 Serve Meals, Not Ingredients John Sweitzer john_sweitzer@thirdwaveinsights.com @tkdsweitz Christine Draper christine_draper@thirdwaveinsights.com @CristineDraper @3rdwaveinsights http://www.thirdwaveinsights.com
  • 2. 2 Topology Meals are topologies, nodes are key ingredients Nodes Software on a Node Connections Meal Ingredients
  • 3. 3 Emulating topologies in Chef starts with grouping nodes Topology JSON Minimize collisions Topology-as-code Optimized for Chef Faster iterations { "name": "inttest1", “provisioning” : { }, "services": [ { "name": "appserver-elb", "type": "load_balancer" } ], "nodes": [ { "name": "appserver" }, { "name": "dbserver" } ]} topo.json Chef Server Environments Data Bags Cookbooks Nodes Chef Server Nodes Node Environments Data Bags Cookbooks ● Ways to emulate: – Environments – Tags – Node attributes – Data bags knife-topo
  • 4. 4 Multi-* Enterprise - This may not be you, exactly, but... ● Multiple lines of business running business systems ● Multiple deployment across application pipeline ● Technology Adoption Model First team First wave Broad adoption Full adoption Asset Tracker Inventory Customer Orders Human Resources Application pipeline Test Stage DeliveryDevelop
  • 5. 5 Jake's charter More meetings Less autonomy/control Endless debates/escalations Tedious data gathering Reduce cost Share skills Share content Why increase consistency? INCREASE CONSISTENCY ACROSS TEAMS WITHOUT DECREASING THEIR AGILITY
  • 6. 6 The WORK (and it is work) to increase consistency... Gather Organize Decide Change Monitor Waste Innovation
  • 7. 7 Organize: Topology-Blueprint-Inventory Pattern BlueprintsPipelineTopologies Test Stage DeliverDevelop Inventory Optimized Arrangements Particular Deployment Automate.Insights Organizational Flow Bill of Materials An IT business system is a collection of IT resources delivering a business function ● Blueprints evolve ● Topologies are specialized ● Visibility encourages collaboration
  • 8. 8 Decide: What is expected to be common in all deployments? Software Version Default recipe mongodb 2.6.5 coolco_mongodb::default nodeapp 1.0 coolco_nodeapp::deploy_from_ package nodejs 0.10.29 coolco_nodejs::default Recipe Inventory apt chef_client::config coolco_handlers::default coolco_mongodb::default coolco_nodeapp::deploy_from_package coolco_nodejs::default Software Attribute Value mongodb xxx yyy xxx yyy xxx yyy Software Attribute Value nodeapp nodeapp.name asset_tracker nodeapp.user jake nodeapp.dir /home/automation RunlistNode attributes
  • 9. 9 Decide: Look across blueprints... Automate. Insights ● Node Types ● Software and Version ● Attribute Values ● Recipes ● Cookbooks Software attribute value by blueprint
  • 10. 10 Change – All does not need to change at once BlueprintsPipelineTopologies Test Stage DeliverDevelop Inventory Optimized Arrangements Particular Deployment Organizational Flow Bill of Materials Chef Server Actual IT Resources Environments Data Bags Cookbooks Nodes Roles ● Prime ● Synchronize ● Local Override StagedChanges nodejs 0.10.28 to 0.10.30
  • 11. 11 Gathering and Changing details in Chef Server knife topo export YourTopology node1 node2 node3 … > YourTopology.json Topology JSONChef Server knife- topo Automate.Insights knife topo import YourTopology knife topo create YourTopology Create blueprints from nodes Align topologies with blueprint Propagate changes to Chef server Gather Organize Decide Change Monitor
  • 12. 12 Fred's Scenario Meanwhile Shadow IT has sprung up in various lines of business, using a range of providers Fred's one of the technical leads who's been successful bringing consistency across CoolCo's core business systems... CoolCo wants Fred to help the Lines of Business adopt Chef and become more consistent in their delivery, without impacting their agility
  • 13. 13 Fred meets with one of the lines of business to understand what they have... appserver AMI appserver auto scaling groupElastic Load Balancer (appserver- elb) dbserver AWS cloud Launch Configuration db url protocol & port instance protocol & port Resources": { "elbappserverelb": { "Type": "AWS::ElasticLoadBalancing::LoadBalancer", "Properties": { "AvailabilityZones": [ "us-west-2c", "us-west-2b", "us-west-2a" ], "Listeners": [ { "InstancePort": "3001", "LoadBalancerPort": "3001", "Protocol": "HTTP", "InstanceProtocol": "HTTP" } ]} }, ... Create multiple test topologies rapidly & consistently Delete topologies when done CloudFormation Template CloudFormation Stacks CloudFormation AWS Icons: http://aws.amazon.com/architecture/icons/ Hook-Em... a recently- developed customer conversion system
  • 14. 14 … and what their challenges are app + nodejs mongo db application & middleware "DBServer": { "Type" : "AWS::EC2::Instance", "Properties" : { "UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [ "#!/bin/bashn", "yum update -y aws-cfn-bootstrapn", <snip 20 lines> "yum -y install mongo-10gen-server > /tmp/yum-mongo.log 2>&1n", <snip 50 lines> "/etc/init.d/mongod start > /tmp/mongod-start.log 2>&1n", <snip 20 lines> "/opt/aws/bin/cfn-signal -e 0 -r "Mongo setup complete" '", { "Ref" : "WaitHandleMongo" }, "'n" ] ] } }, ... } ... }}} It's hard to configure & update the software Our admin who created our templates has left...
  • 15. 15 A shared goal emerges... Deployer Interface that makes it easy to customize and update the topology Topology-as-code Deployment lifecycle actions Full stack provisioning Reuse organization cookbooks & practices Chef Server Git Topology JSON chef- provisioning ...Now to make it happen! Provisioning Recipes Convert from existing templates
  • 16. 16 Chef Server What are the steps? For the Hook'Em business system: 1) Set up Hook'Em System Inventory in Automate.Insights 2) Create a Blueprint based on the existing CloudFormation template 3) Create Topologies and provision them using generated recipes app + nodejs mongo dbapplication & middleware infrastructure Topology JSON chef- provisioning Automate. Insights Provisioning recipes ● System inventory ● Existing template
  • 17. 17 1 – Setup Hook'Em System Inventory Software Version Default recipe mongodb 2.6.5 coolco_mongodb::default nodeapp 1.0 coolco_nodeapp::deploy_from_ package nodejs 0.10.29 coolco_nodejs::default Recipe Inventory apt chef_client::config coolco_handlers::default coolco_mongodb::default coolco_nodeapp::deploy_from_package coolco_nodejs::default Software Attribute Value mongodb xxx yyy xxx yyy xxx yyy Software Attribute Value nodeapp nodeapp.name hookem nodeapp.user automation nodeapp.dir /home/automation RunlistNode attributes Fred primes the System Inventory in Automate.Insights with CoolCo's standard recipes and recommended attribute values for the software in the HookEm System. System Inventory Automate. Insights mongodb nodeapp nodejsBlueprint
  • 18. 18 2 - Create a Blueprint for Hook'Em Topology JSON Automate. Insights The Hook'Em team converts the existing CloudFormation template using topo-provision, and uses it and the System Inventory to create a Blueprint and Topologies in Automate.Insights topo- provision CloudFormation template Software inventory Full-Stack Topology JSON
  • 19. 19 3 - Generate recipes & provision the full stack topology chef-provisioning can handle network resources too! app + nodejs mongo dbapplication & middleware infrastructure Full Stack Topology JSON topo- provision Chef-Provisioning recipes chef- provisioning with_driver “aws” load_balancer ... do ... end machine … do … end aws_launch_config … do ... end aws_autoscaling_group … do ... end ● Deploy ● Undeploy load_balancer "appserver-elb" do load_balancer_options({ :listeners=> [{ :port=>3001, :protocol=>"HTTP", :instance_port=>3001, :instance_protocol=>"HTTP" }], :availability_zones=> ["us-west-2c", "us-west-2a", "us-west-2b"]}) end machine "dbserver" do run_list ["recipe[coolco::db]"] attribute 'topo', {"node_type"=>"dbserver", "name"=>"test"} end deploy.rb: Supports deployment lifecycle actions Sensitive to resource relationships Using topo-provision, the Hook'Em team generate topology provisioning recipes that enable chef- provisioning to provision the full stack.
  • 20. 20 Summary of transformation Infrastructure templates Stack create and delete Customization of parameters Full stack Topology JSON Conversion from existing templates Topology deploy and un-deploy Integrated provisioning and configuration management Customization of attributes & run list Line-of-sight across topologies Tool assistance for change propagation Topology Template Deployment Deployer Interface As-Is To-Be Practices Reuse organization cookbooks Benefit from Chef test tools CloudFormation Template CloudFormation Stacks CloudFormation Topology JSON ChefAutomate.Insights
  • 21. 21 A Cloud-neutral topology template has wider value to the Chef community Topology JSON chef- provisioning Provisioning Recipes Convert from other formats Increase portability CloudFormation Terraform OASIS TOSCA Home-grown Integrate with multiple tools, from Chef and others Adoption of a Chef-oriented topology template that is not tied to one Cloud Provider helps increase portability and tool integration going forward. Deploy to multiple providers This is a vision with proof points for CloudFormation, AWS and Vagrant. Test Kitchen kitchen. yml Automate. Insights
  • 22. 22 Thank you! Tools: http://www.thirdwaveinsights.com/automateinsights https://github.com/christinedraper/topo-provision https://github.com/christinedraper/knife-topo Find Out More Speakers: john_sweitzer@thirdwaveinsights.com @tkdsweitz christine_draper@thirdwaveinsights.com @CristineDraper