SlideShare uma empresa Scribd logo
1 de 71
Baixar para ler offline
GETTING MORE CHEFS IN THE KITCHEN
Developing Infrastructure as a Team
WHO AM I?
Andrew Gross
Developer at Yipit.com
@awgross
Github
WHO IS YIPIT?
New York City
24 Employees
Codes
15 "Core" Developers
1 Operations Only Developer (me)
Everyone
WHAT DO WE DO?
DAILY DEAL AGGREGATION
E-COMMERCE DEAL AGGREGATION
INVESTOR REPORTS
THE TECHNICAL CHALLENGES
Data Aggregation and Discovery
Fully Customized Emails at Scale
Image Processing
Personalization
AI
Geolocation
PROBLEM SOLVING TOOLS
Python
C
Ruby
Javascript
Django
Flask
Tornado
Chef
AWS
SendGrid
CHEF STACK
LOCAL
Berkshelf
Vagrant
Chef-Solo
Minitest
Rspec
CHEF STACK
PRODUCTION
Chef-Client
Hosted Chef
AWS
Chef 10.18.2
Chef 11
DEVELOPMENT STYLE
Cookbook Development
Master Chef Repo
Git Repo Per Cookbook
Application Cookbooks
Library Cookbooks
"Gangam Style"
WHAT DO WE WANT IN
CHEF?
DEVELOPERS
DEVELOPERS
DEVELOPERS
WHY DO WE WANT
MORE DEVS IN CHEF?
FOR DEVELOPERS
Go beyond  localhost
Insight into:
Resiliency
Distributed Computing
Automation
Monitoring
State Transitions
Be a true full stack developer
FOR OPERATIONS
Development rigor
Testing
CI / CD
Code Review
Versioning
Dependency Management
Sneakily reduce my own workload
WHAT'S STOPPING
DEVELOPERS?
NEW PATTERNS
SOLUTIONS
LOWER THE LEARNING CURVE
SIMPLE INSTALL WIKI
TRIM THE VOCABULARY
Focus on basic parts of cookbooks
Recipes
Templates
Attributes
Hide the rest
FRIENDLY SHELL WRAPPERS
USE A FAMILIAR
COMMAND WRAPPER
( Make,rake,fab)
USE FAMILIAR SYNTAX
Java
node .my_cookbook.my_attribute
Ruby
node[:my_cookbook][:my_attribute]
Python
node['my_cookbook']['my_attribute']
PROVIDE HIGH LEVEL API'S
BE OPINIONATED
Make decisions for them
...because they don't know
(they can change it once they do)
SANE DEFAULTS
YIPIT_BASELINE
Every Machine
ssh
`chef­client` aaS
.bash_profile
YIPIT_WEB
Nginx Version baked in
Devs don't care what version
They just want a working webserver
STYLE GUIDELINES
Force via Commit Hooks
LEAN RECIPES
Chef DSL
Attributes
Library Calls
PUT LOGIC IN LIBRARIES
Easier to Test
Faster to Test
Easier to Reuse
DIRTY SECRET OF PROGRAMMING INCOMING
DEVELOPERS WILL CHEAT
Give them something good to cheat from
Good
Not So Good
COMMUNITY COOKBOOKS
Use them for 'low-level' tasks
Developers should be interacting
with org. specific cookbooks
ROLES
SIMPLE
No (few) Attributes
Short Runlists
Reduce Complexity
Fewer Places to Check for Errors
ENVIRONMENTS
Lock Cookbook Versions
Some static attributes
Versioned via Git
(w/ Knife Spork)
DATABAGS
Endpoint Mappings
Package / Library Versions
Volatile Infrastructure Data
TESTING
Require Tests for Logic
RSpec
simplecov
Minitest Handler
Logic is anything not Chef DSL
CODE REVIEW
USE IT
Gerrit
Phabricator
Github
COMFORT ALLOWS INVESTIGATION
ADVANCTED TOPICS
Handlers
Search
Dynamic
Configuration
LWRPs
RESULTS
'Self-Managed' Services
Easier Service Deployment
The Prestige
(AMInator as a Chef Handler)

Mais conteúdo relacionado

Mais procurados

Deploying a Chef Server
Deploying a Chef ServerDeploying a Chef Server
Deploying a Chef ServerHart Hoover
 
Using Chef and Vagrant at Gengo
Using Chef and Vagrant at GengoUsing Chef and Vagrant at Gengo
Using Chef and Vagrant at GengoGengo
 
Chef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rbChef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rbNicolas Ledez
 
San Antonio Chef Users Meetup, Jun 2014 - Chef Metal
San Antonio Chef Users Meetup, Jun 2014 - Chef MetalSan Antonio Chef Users Meetup, Jun 2014 - Chef Metal
San Antonio Chef Users Meetup, Jun 2014 - Chef MetalHart Hoover
 
Continous delivery with Jenkins and Chef
Continous delivery with Jenkins and ChefContinous delivery with Jenkins and Chef
Continous delivery with Jenkins and Chefdefrag2
 
Application Automation with Habitat
Application Automation with HabitatApplication Automation with Habitat
Application Automation with HabitatChef
 
Introduction To Continuous Compliance & Remediation
Introduction To Continuous Compliance & RemediationIntroduction To Continuous Compliance & Remediation
Introduction To Continuous Compliance & RemediationNicole Johnson
 
Growing Pains with Chef – a Tale of DevOps in a Large Organization
Growing Pains with Chef – a Tale of DevOps in a Large OrganizationGrowing Pains with Chef – a Tale of DevOps in a Large Organization
Growing Pains with Chef – a Tale of DevOps in a Large OrganizationChef Software, Inc.
 
Vagrant, Chef and TYPO3 - A Love Affair
Vagrant, Chef and TYPO3 - A Love AffairVagrant, Chef and TYPO3 - A Love Affair
Vagrant, Chef and TYPO3 - A Love AffairMichael Lihs
 
Docker Docker Docker Chef
Docker Docker Docker ChefDocker Docker Docker Chef
Docker Docker Docker ChefSean OMeara
 
Tips and Tricks for Automating Windows with Chef
Tips and Tricks for Automating Windows with ChefTips and Tricks for Automating Windows with Chef
Tips and Tricks for Automating Windows with ChefChef Software, Inc.
 
Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4Chef
 
Michelin Starred Cooking with Chef
Michelin Starred Cooking with ChefMichelin Starred Cooking with Chef
Michelin Starred Cooking with ChefJon Cowie
 
Testing all your code through HipChat in Docker
Testing all your code through HipChat in DockerTesting all your code through HipChat in Docker
Testing all your code through HipChat in DockerMike Pavlenko
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionFabio Kung
 
AWS Meetup - Sydney - February
AWS Meetup - Sydney - February AWS Meetup - Sydney - February
AWS Meetup - Sydney - February markghiasy
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chefkevsmith
 

Mais procurados (20)

The Environment Restaurant
The Environment RestaurantThe Environment Restaurant
The Environment Restaurant
 
Deploying a Chef Server
Deploying a Chef ServerDeploying a Chef Server
Deploying a Chef Server
 
Using Chef and Vagrant at Gengo
Using Chef and Vagrant at GengoUsing Chef and Vagrant at Gengo
Using Chef and Vagrant at Gengo
 
Chef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rbChef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rb
 
San Antonio Chef Users Meetup, Jun 2014 - Chef Metal
San Antonio Chef Users Meetup, Jun 2014 - Chef MetalSan Antonio Chef Users Meetup, Jun 2014 - Chef Metal
San Antonio Chef Users Meetup, Jun 2014 - Chef Metal
 
Continous delivery with Jenkins and Chef
Continous delivery with Jenkins and ChefContinous delivery with Jenkins and Chef
Continous delivery with Jenkins and Chef
 
Cooking with Chef
Cooking with ChefCooking with Chef
Cooking with Chef
 
Application Automation with Habitat
Application Automation with HabitatApplication Automation with Habitat
Application Automation with Habitat
 
Introduction To Continuous Compliance & Remediation
Introduction To Continuous Compliance & RemediationIntroduction To Continuous Compliance & Remediation
Introduction To Continuous Compliance & Remediation
 
Growing Pains with Chef – a Tale of DevOps in a Large Organization
Growing Pains with Chef – a Tale of DevOps in a Large OrganizationGrowing Pains with Chef – a Tale of DevOps in a Large Organization
Growing Pains with Chef – a Tale of DevOps in a Large Organization
 
Vagrant, Chef and TYPO3 - A Love Affair
Vagrant, Chef and TYPO3 - A Love AffairVagrant, Chef and TYPO3 - A Love Affair
Vagrant, Chef and TYPO3 - A Love Affair
 
Introduction to chef
Introduction to chefIntroduction to chef
Introduction to chef
 
Docker Docker Docker Chef
Docker Docker Docker ChefDocker Docker Docker Chef
Docker Docker Docker Chef
 
Tips and Tricks for Automating Windows with Chef
Tips and Tricks for Automating Windows with ChefTips and Tricks for Automating Windows with Chef
Tips and Tricks for Automating Windows with Chef
 
Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4
 
Michelin Starred Cooking with Chef
Michelin Starred Cooking with ChefMichelin Starred Cooking with Chef
Michelin Starred Cooking with Chef
 
Testing all your code through HipChat in Docker
Testing all your code through HipChat in DockerTesting all your code through HipChat in Docker
Testing all your code through HipChat in Docker
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to Production
 
AWS Meetup - Sydney - February
AWS Meetup - Sydney - February AWS Meetup - Sydney - February
AWS Meetup - Sydney - February
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 

Destaque

Kitchen tools and equipment
Kitchen tools and equipmentKitchen tools and equipment
Kitchen tools and equipmentJonel Ascutia
 
Kitchen equipment: www.chefqtrainer.blogspot.com
Kitchen equipment: www.chefqtrainer.blogspot.comKitchen equipment: www.chefqtrainer.blogspot.com
Kitchen equipment: www.chefqtrainer.blogspot.comCulinary Training Program
 
(TLE) Kitchen Layouts Presentation
(TLE) Kitchen Layouts Presentation(TLE) Kitchen Layouts Presentation
(TLE) Kitchen Layouts Presentationmarklynbanaynal21
 
Commercial Kitchen Design and Planning
Commercial Kitchen Design and Planning Commercial Kitchen Design and Planning
Commercial Kitchen Design and Planning ReitanoDesignGroup
 
Food Handling and Restaurant Workplace Safety
Food Handling and Restaurant Workplace SafetyFood Handling and Restaurant Workplace Safety
Food Handling and Restaurant Workplace SafetyHireReady
 
Intro to commercial kitchen design
Intro to commercial kitchen designIntro to commercial kitchen design
Intro to commercial kitchen designMichelleWidner
 
Designing a commercial kitchen
Designing a commercial kitchenDesigning a commercial kitchen
Designing a commercial kitchenPatrick Colley
 
Kitchen powerpoint
Kitchen powerpointKitchen powerpoint
Kitchen powerpointksovon31
 
Commercial cooking-learning-module
Commercial cooking-learning-moduleCommercial cooking-learning-module
Commercial cooking-learning-moduleBogs De Castro
 

Destaque (9)

Kitchen tools and equipment
Kitchen tools and equipmentKitchen tools and equipment
Kitchen tools and equipment
 
Kitchen equipment: www.chefqtrainer.blogspot.com
Kitchen equipment: www.chefqtrainer.blogspot.comKitchen equipment: www.chefqtrainer.blogspot.com
Kitchen equipment: www.chefqtrainer.blogspot.com
 
(TLE) Kitchen Layouts Presentation
(TLE) Kitchen Layouts Presentation(TLE) Kitchen Layouts Presentation
(TLE) Kitchen Layouts Presentation
 
Commercial Kitchen Design and Planning
Commercial Kitchen Design and Planning Commercial Kitchen Design and Planning
Commercial Kitchen Design and Planning
 
Food Handling and Restaurant Workplace Safety
Food Handling and Restaurant Workplace SafetyFood Handling and Restaurant Workplace Safety
Food Handling and Restaurant Workplace Safety
 
Intro to commercial kitchen design
Intro to commercial kitchen designIntro to commercial kitchen design
Intro to commercial kitchen design
 
Designing a commercial kitchen
Designing a commercial kitchenDesigning a commercial kitchen
Designing a commercial kitchen
 
Kitchen powerpoint
Kitchen powerpointKitchen powerpoint
Kitchen powerpoint
 
Commercial cooking-learning-module
Commercial cooking-learning-moduleCommercial cooking-learning-module
Commercial cooking-learning-module
 

Semelhante a Develop Infrastructure as a Team with Chef

Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...Weaveworks
 
Building a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntBuilding a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntAshley Roach
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated PlatformsBill Doerrfeld
 
Chef onlinuxonpower
Chef onlinuxonpowerChef onlinuxonpower
Chef onlinuxonpowerMoya Brannan
 
Step away from that knife!
Step away from that knife!Step away from that knife!
Step away from that knife!Michael Goetz
 
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...Edureka!
 
Impact of CD, Clean Code, ... on Team Performance
Impact of CD, Clean Code, ... on Team PerformanceImpact of CD, Clean Code, ... on Team Performance
Impact of CD, Clean Code, ... on Team PerformanceFredrik Wendt
 
GitHub Actions with Node.js
GitHub Actions with Node.jsGitHub Actions with Node.js
GitHub Actions with Node.jsStefan Stölzle
 
API Centric Development in PHP
API Centric Development in PHPAPI Centric Development in PHP
API Centric Development in PHPJoe Stagner
 
Intro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler JewellIntro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler Jewelljwi11iams
 
Typescript kata The TDD style 2 edition
Typescript kata The TDD style 2 editionTypescript kata The TDD style 2 edition
Typescript kata The TDD style 2 editionRonnie Hegelund
 
Odo improving the developer experience on OpenShift - hack & sangria
Odo   improving the developer experience on OpenShift - hack & sangriaOdo   improving the developer experience on OpenShift - hack & sangria
Odo improving the developer experience on OpenShift - hack & sangriaJorge Morales
 
API workshop by AWS and 3scale
API workshop by AWS and 3scaleAPI workshop by AWS and 3scale
API workshop by AWS and 3scale3scale
 
The Chef Prince of Azure - ChefConf 2015
The Chef Prince of Azure - ChefConf 2015The Chef Prince of Azure - ChefConf 2015
The Chef Prince of Azure - ChefConf 2015Chef
 
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...Creating a Scalable and Decentralized API Management Architecture with WSO2 A...
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...WSO2
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Gibran Badrulzaman
 
Project Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the EnterpriseProject Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the EnterpriseLeon Stigter
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Ethan Ram
 

Semelhante a Develop Infrastructure as a Team with Chef (20)

Ivy renderer
Ivy rendererIvy renderer
Ivy renderer
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 
Building a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntBuilding a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger Hunt
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated Platforms
 
Chef onlinuxonpower
Chef onlinuxonpowerChef onlinuxonpower
Chef onlinuxonpower
 
Step away from that knife!
Step away from that knife!Step away from that knife!
Step away from that knife!
 
DevOps demystified
DevOps demystifiedDevOps demystified
DevOps demystified
 
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
 
Impact of CD, Clean Code, ... on Team Performance
Impact of CD, Clean Code, ... on Team PerformanceImpact of CD, Clean Code, ... on Team Performance
Impact of CD, Clean Code, ... on Team Performance
 
GitHub Actions with Node.js
GitHub Actions with Node.jsGitHub Actions with Node.js
GitHub Actions with Node.js
 
API Centric Development in PHP
API Centric Development in PHPAPI Centric Development in PHP
API Centric Development in PHP
 
Intro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler JewellIntro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler Jewell
 
Typescript kata The TDD style 2 edition
Typescript kata The TDD style 2 editionTypescript kata The TDD style 2 edition
Typescript kata The TDD style 2 edition
 
Odo improving the developer experience on OpenShift - hack & sangria
Odo   improving the developer experience on OpenShift - hack & sangriaOdo   improving the developer experience on OpenShift - hack & sangria
Odo improving the developer experience on OpenShift - hack & sangria
 
API workshop by AWS and 3scale
API workshop by AWS and 3scaleAPI workshop by AWS and 3scale
API workshop by AWS and 3scale
 
The Chef Prince of Azure - ChefConf 2015
The Chef Prince of Azure - ChefConf 2015The Chef Prince of Azure - ChefConf 2015
The Chef Prince of Azure - ChefConf 2015
 
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...Creating a Scalable and Decentralized API Management Architecture with WSO2 A...
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
 
Project Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the EnterpriseProject Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the Enterprise
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++
 

Develop Infrastructure as a Team with Chef