SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Chef + AWS + CodeIgniter

        @_kennyk_
Me
•   Co-authored Sparks
•   Reactor Engineer
•   Former Yahoo, Freelancing w/ Mozilla
•   Closet Ops guy
Deployment Before
• Collection of bash scripts
• Not all installed software is known
• Homebrew tools (Yahoo’s Taxi, Pogo, Etsy’s
  Deployinator)
• Didn’t integrate well with infrastructure
  – Provision new boxes? Probably not
• Terrifying to edit once the guy who wrote it is
  gone
Now
•   Capistrano
•   Rubber
•   Puppet
•   Chef
•   .. and a bunch more
Why Chef?
• Integration with AWS and Rackspace
• Extremely flexible
• Platform-agnostic
  – And linux-variant agnostic
• Code sharing in the community
• Very popular
• Back by OpsCode, founded by former Amazon
  Ops guys
Any Downsides?
• So flexible, so open-ended, big learning curve
• 30-40 hours before you feel comfortable
  – According to me
• You’ll rely on mostly blog posts to get your
  specific stack running
  – Or presentations like this
But just imagine …
• Your server stops taking requests
• You don’t know why
• You can
  – Run one command that provisions a new box in
    AWS with your full stack and configuration
  – Run commands on all of your nodes at once
Uh yea, so what about
        Heroku/Pagoda/PHP Fog?
• Just my opinion
• When they go down, so do you
• You trust Heroku to manage infrastructure
  intelligently with a black box
• But sometimes they don’t, apparently
  – Heroku, June xx, whoops
• Don’t be someone else’s bitch
Pre-reqs
• You know a little something about AWS
• You’re comfortable with the command line
Demo
By the Way
• You can’t learn what you really need to know
  in a 45 minute talk
• In ruby
  – Can still use it without knowing much
Chef Terms (the basics)
•   Cookbooks
•   Recipes
•   Knife
•   Roles
•   Attributes
•   Environments
•   Data bags
Cookbooks
• A module for installing and configuring a
  software package
  – PHP
  – Apache2
  – New Relic monitoring
  – Your webapp
  –…
• A cookbook contains at least one recipe
Recipes
• A component of each cookbook
  – For Apache2
     • mod_rewrite
     • mod_php5
     •…
• Each cookbook has a default recipe
Resources
• Build in tools/building blocks for writing
  recipes
  – Need a symlink? Got that
  – Need an apt package? Got that
• http://wiki.opscode.com/display/chef/Resour
  ces
Attributes
• Cascading configuration settings that are used
  by recipes
  – What port does Apache listen on?
  – What user does this process run as?
• You can make anything a setting
• Set them at the
  – Cookbook level (defaults)
  – Environment level (dev, staging, prod, w/e)
  – Any role level
Roles (rolls)
• Categories for your servers/nodes
• In sophisticated setups
  – Database server role
  – Webapp role
  – Load balancer role
  – Utility box role
• A single server can play multiple roles
  – In dev, maybe one box plays all roles to save $
Environments
• Just a container/construct for different env
  settings
• Each node is assigned an environment on
  creation
• Can be changed
Data bags
• More settings, usually used for sensitive
  settings
  – Database passwords
  – API keys
  –…
  – Settings which aren’t strictly associated with a role
    or environment type
• Can be encrypted
Actual node
• Has environment
• Has run_list
  – Usually set once on node creation
  – Recipes
  – Roles
• Has chef-client installed
  – Pulls settings
  – Figures out what’s needed
  – Installs
Knife
•   Command line tool to rule your world
•   See what your nodes are up to
•   Search, run remote commands
•   Deploy at scale
    – 14,000 adserving nodes?
• Executes in parallel
Hosted Chef
• OpsCode is the central repository for your
  configuration
• Diagram next slide
Pushing settings
•   knife cookbook upload [cookbook]
•   knife role from file roles/webapp.json
•   knife data bag from file webapp [path]
•   knife environment from file [path]
More demo
• Download a community cookbook
• Execute in paralell
Thanks!
• @_kennyk_
• codefury.net
• https://github.com/katzgrau/chef-ec2-
  codeigniter-quickstart

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Ansible - Jan 28 - Austin MeetUp
Introduction to Ansible - Jan 28 - Austin MeetUpIntroduction to Ansible - Jan 28 - Austin MeetUp
Introduction to Ansible - Jan 28 - Austin MeetUptylerturk
 
Chef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation SetupChef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation SetupChef Software, Inc.
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance DrupalJeff Geerling
 
Monitor-Driven Development Using Ansible
Monitor-Driven Development Using AnsibleMonitor-Driven Development Using Ansible
Monitor-Driven Development Using AnsibleItamar Hassin
 
Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014Michael Lihs
 
Server Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsServer Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsJeff Geerling
 
Introduction to Cooking with Chef
Introduction to Cooking with ChefIntroduction to Cooking with Chef
Introduction to Cooking with ChefJohn Osborne
 
Chef, Devops, and You
Chef, Devops, and YouChef, Devops, and You
Chef, Devops, and YouBryan Berry
 
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...Chef Software, Inc.
 
A Supermarket of Your Own: Running a Private Chef Supermarket
A Supermarket of Your Own: Running a Private Chef SupermarketA Supermarket of Your Own: Running a Private Chef Supermarket
A Supermarket of Your Own: Running a Private Chef SupermarketNell Shamrell-Harrington
 
Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Alan Lok
 
Building a Private Supermarket for your Organization - ChefConf 2015
Building a Private Supermarket for your Organization - ChefConf 2015 Building a Private Supermarket for your Organization - ChefConf 2015
Building a Private Supermarket for your Organization - ChefConf 2015 Chef
 
Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36aleonhardt
 
Automate your Development Environment with Vagrant & Chef
Automate your Development Environment with Vagrant & ChefAutomate your Development Environment with Vagrant & Chef
Automate your Development Environment with Vagrant & Chef Michael Lihs
 
Using Ansible at Scale to Manage a Public Cloud
Using Ansible at Scale to Manage a Public CloudUsing Ansible at Scale to Manage a Public Cloud
Using Ansible at Scale to Manage a Public CloudJesse Keating
 
Automating Your Daily Tasks with Scripting - RubyConf 2015 Taiwan
Automating Your Daily Tasks with Scripting - RubyConf 2015 TaiwanAutomating Your Daily Tasks with Scripting - RubyConf 2015 Taiwan
Automating Your Daily Tasks with Scripting - RubyConf 2015 TaiwanAdler Hsieh
 

Was ist angesagt? (20)

Introduction to Ansible - Jan 28 - Austin MeetUp
Introduction to Ansible - Jan 28 - Austin MeetUpIntroduction to Ansible - Jan 28 - Austin MeetUp
Introduction to Ansible - Jan 28 - Austin MeetUp
 
Chef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation SetupChef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation Setup
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance Drupal
 
Monitor-Driven Development Using Ansible
Monitor-Driven Development Using AnsibleMonitor-Driven Development Using Ansible
Monitor-Driven Development Using Ansible
 
Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014
 
Server Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsServer Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.js
 
Introduction to Cooking with Chef
Introduction to Cooking with ChefIntroduction to Cooking with Chef
Introduction to Cooking with Chef
 
Chef, Devops, and You
Chef, Devops, and YouChef, Devops, and You
Chef, Devops, and You
 
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
 
A Supermarket of Your Own: Running a Private Chef Supermarket
A Supermarket of Your Own: Running a Private Chef SupermarketA Supermarket of Your Own: Running a Private Chef Supermarket
A Supermarket of Your Own: Running a Private Chef Supermarket
 
Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016
 
Building a Private Supermarket for your Organization - ChefConf 2015
Building a Private Supermarket for your Organization - ChefConf 2015 Building a Private Supermarket for your Organization - ChefConf 2015
Building a Private Supermarket for your Organization - ChefConf 2015
 
20131002
2013100220131002
20131002
 
CommandBox at CFCamp 2014
CommandBox at CFCamp 2014CommandBox at CFCamp 2014
CommandBox at CFCamp 2014
 
Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36
 
Automate your Development Environment with Vagrant & Chef
Automate your Development Environment with Vagrant & ChefAutomate your Development Environment with Vagrant & Chef
Automate your Development Environment with Vagrant & Chef
 
Ansible
AnsibleAnsible
Ansible
 
Using Ansible at Scale to Manage a Public Cloud
Using Ansible at Scale to Manage a Public CloudUsing Ansible at Scale to Manage a Public Cloud
Using Ansible at Scale to Manage a Public Cloud
 
Automating Your Daily Tasks with Scripting - RubyConf 2015 Taiwan
Automating Your Daily Tasks with Scripting - RubyConf 2015 TaiwanAutomating Your Daily Tasks with Scripting - RubyConf 2015 Taiwan
Automating Your Daily Tasks with Scripting - RubyConf 2015 Taiwan
 
Automating with Ansible
Automating with AnsibleAutomating with Ansible
Automating with Ansible
 

Andere mochten auch

MACEDONIAN hillary clinton stingers
MACEDONIAN   hillary clinton stingersMACEDONIAN   hillary clinton stingers
MACEDONIAN hillary clinton stingersVogelDenise
 
Programes de formació i inserciò (pfi)
Programes de formació i inserciò  (pfi)Programes de formació i inserciò  (pfi)
Programes de formació i inserciò (pfi)Ferran Piñataro
 
092909 EMAIL TO OLYMPIC COMMITTEE (SERBIAN)
092909   EMAIL TO OLYMPIC COMMITTEE (SERBIAN)092909   EMAIL TO OLYMPIC COMMITTEE (SERBIAN)
092909 EMAIL TO OLYMPIC COMMITTEE (SERBIAN)VogelDenise
 
072712 usa ku klux klan runned government - indonesian
072712 usa ku klux klan runned government - indonesian072712 usa ku klux klan runned government - indonesian
072712 usa ku klux klan runned government - indonesianVogelDenise
 
072712 usa ku klux klan runned government - chinese (simplified)
072712 usa ku klux klan runned government - chinese (simplified)072712 usa ku klux klan runned government - chinese (simplified)
072712 usa ku klux klan runned government - chinese (simplified)VogelDenise
 
MOTION TO STRIKE - Motion To Stay (PKH)
MOTION TO STRIKE - Motion To Stay (PKH)MOTION TO STRIKE - Motion To Stay (PKH)
MOTION TO STRIKE - Motion To Stay (PKH)VogelDenise
 
062112 latvian (supreme court)
062112   latvian (supreme court)062112   latvian (supreme court)
062112 latvian (supreme court)VogelDenise
 
062112 hatian creole (supreme court)
062112   hatian creole (supreme court)062112   hatian creole (supreme court)
062112 hatian creole (supreme court)VogelDenise
 
062112 czech (supreme court)
062112   czech (supreme court)062112   czech (supreme court)
062112 czech (supreme court)VogelDenise
 
062112 urdu (supreme court)
062112   urdu (supreme court)062112   urdu (supreme court)
062112 urdu (supreme court)VogelDenise
 
Медицина в умовах зимових походів
Медицина в умовах зимових походівМедицина в умовах зимових походів
Медицина в умовах зимових походівtkg_org_ua
 
063015 - FBI CRIMINAL COMPLAINT(Anna Louise Inn) - FINAL
063015 - FBI CRIMINAL COMPLAINT(Anna Louise Inn) - FINAL063015 - FBI CRIMINAL COMPLAINT(Anna Louise Inn) - FINAL
063015 - FBI CRIMINAL COMPLAINT(Anna Louise Inn) - FINALVogelDenise
 
062112 chinese-traditional (supreme court)
062112   chinese-traditional (supreme court)062112   chinese-traditional (supreme court)
062112 chinese-traditional (supreme court)VogelDenise
 
THANK YOU To The Republic of Ecuador (ASYLUM Of Julian Assange)
THANK YOU To The Republic of Ecuador (ASYLUM Of Julian Assange)THANK YOU To The Republic of Ecuador (ASYLUM Of Julian Assange)
THANK YOU To The Republic of Ecuador (ASYLUM Of Julian Assange)VogelDenise
 
Brad sherman wikipedia(highlighted)
Brad sherman   wikipedia(highlighted)Brad sherman   wikipedia(highlighted)
Brad sherman wikipedia(highlighted)VogelDenise
 
HUNGARIAN hillary clinton stingers
HUNGARIAN  hillary clinton stingersHUNGARIAN  hillary clinton stingers
HUNGARIAN hillary clinton stingersVogelDenise
 
PERSIAN hillary clinton stingers
PERSIAN   hillary clinton stingersPERSIAN   hillary clinton stingers
PERSIAN hillary clinton stingersVogelDenise
 
URDU hillary clinton stingers
URDU  hillary clinton stingersURDU  hillary clinton stingers
URDU hillary clinton stingersVogelDenise
 
04/14/13 PUBLIC NOTICE (03/11/13 FAX TO BARACK OBAMA) - estonian
04/14/13   PUBLIC NOTICE (03/11/13 FAX TO BARACK OBAMA) - estonian04/14/13   PUBLIC NOTICE (03/11/13 FAX TO BARACK OBAMA) - estonian
04/14/13 PUBLIC NOTICE (03/11/13 FAX TO BARACK OBAMA) - estonianVogelDenise
 

Andere mochten auch (20)

MACEDONIAN hillary clinton stingers
MACEDONIAN   hillary clinton stingersMACEDONIAN   hillary clinton stingers
MACEDONIAN hillary clinton stingers
 
Programes de formació i inserciò (pfi)
Programes de formació i inserciò  (pfi)Programes de formació i inserciò  (pfi)
Programes de formació i inserciò (pfi)
 
092909 EMAIL TO OLYMPIC COMMITTEE (SERBIAN)
092909   EMAIL TO OLYMPIC COMMITTEE (SERBIAN)092909   EMAIL TO OLYMPIC COMMITTEE (SERBIAN)
092909 EMAIL TO OLYMPIC COMMITTEE (SERBIAN)
 
072712 usa ku klux klan runned government - indonesian
072712 usa ku klux klan runned government - indonesian072712 usa ku klux klan runned government - indonesian
072712 usa ku klux klan runned government - indonesian
 
072712 usa ku klux klan runned government - chinese (simplified)
072712 usa ku klux klan runned government - chinese (simplified)072712 usa ku klux klan runned government - chinese (simplified)
072712 usa ku klux klan runned government - chinese (simplified)
 
MOTION TO STRIKE - Motion To Stay (PKH)
MOTION TO STRIKE - Motion To Stay (PKH)MOTION TO STRIKE - Motion To Stay (PKH)
MOTION TO STRIKE - Motion To Stay (PKH)
 
062112 latvian (supreme court)
062112   latvian (supreme court)062112   latvian (supreme court)
062112 latvian (supreme court)
 
Keramahtamahan
KeramahtamahanKeramahtamahan
Keramahtamahan
 
062112 hatian creole (supreme court)
062112   hatian creole (supreme court)062112   hatian creole (supreme court)
062112 hatian creole (supreme court)
 
062112 czech (supreme court)
062112   czech (supreme court)062112   czech (supreme court)
062112 czech (supreme court)
 
062112 urdu (supreme court)
062112   urdu (supreme court)062112   urdu (supreme court)
062112 urdu (supreme court)
 
Медицина в умовах зимових походів
Медицина в умовах зимових походівМедицина в умовах зимових походів
Медицина в умовах зимових походів
 
063015 - FBI CRIMINAL COMPLAINT(Anna Louise Inn) - FINAL
063015 - FBI CRIMINAL COMPLAINT(Anna Louise Inn) - FINAL063015 - FBI CRIMINAL COMPLAINT(Anna Louise Inn) - FINAL
063015 - FBI CRIMINAL COMPLAINT(Anna Louise Inn) - FINAL
 
062112 chinese-traditional (supreme court)
062112   chinese-traditional (supreme court)062112   chinese-traditional (supreme court)
062112 chinese-traditional (supreme court)
 
THANK YOU To The Republic of Ecuador (ASYLUM Of Julian Assange)
THANK YOU To The Republic of Ecuador (ASYLUM Of Julian Assange)THANK YOU To The Republic of Ecuador (ASYLUM Of Julian Assange)
THANK YOU To The Republic of Ecuador (ASYLUM Of Julian Assange)
 
Brad sherman wikipedia(highlighted)
Brad sherman   wikipedia(highlighted)Brad sherman   wikipedia(highlighted)
Brad sherman wikipedia(highlighted)
 
HUNGARIAN hillary clinton stingers
HUNGARIAN  hillary clinton stingersHUNGARIAN  hillary clinton stingers
HUNGARIAN hillary clinton stingers
 
PERSIAN hillary clinton stingers
PERSIAN   hillary clinton stingersPERSIAN   hillary clinton stingers
PERSIAN hillary clinton stingers
 
URDU hillary clinton stingers
URDU  hillary clinton stingersURDU  hillary clinton stingers
URDU hillary clinton stingers
 
04/14/13 PUBLIC NOTICE (03/11/13 FAX TO BARACK OBAMA) - estonian
04/14/13   PUBLIC NOTICE (03/11/13 FAX TO BARACK OBAMA) - estonian04/14/13   PUBLIC NOTICE (03/11/13 FAX TO BARACK OBAMA) - estonian
04/14/13 PUBLIC NOTICE (03/11/13 FAX TO BARACK OBAMA) - estonian
 

Ähnlich wie Chef + AWS + CodeIgniter

Velocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopVelocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopChef Software, Inc.
 
Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3Chef
 
Introduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen SummitIntroduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen SummitJennifer Davis
 
Chef, Vagrant and Friends
Chef, Vagrant and FriendsChef, Vagrant and Friends
Chef, Vagrant and FriendsBen McRae
 
Managing Distributed Systems with Chef
Managing Distributed Systems with ChefManaging Distributed Systems with Chef
Managing Distributed Systems with ChefMandi Walls
 
OSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsOSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsNETWAYS
 
ITP Spacebrew Workshop - Spring 2014
ITP Spacebrew Workshop - Spring 2014ITP Spacebrew Workshop - Spring 2014
ITP Spacebrew Workshop - Spring 2014Brett Renfer
 
Chef for Openstack
Chef for OpenstackChef for Openstack
Chef for OpenstackMohit Sethi
 
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...Chef Software, Inc.
 
20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnwgarrett honeycutt
 
Configuration manager presentation
Configuration manager presentationConfiguration manager presentation
Configuration manager presentationjeyg
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat OverviewMandi Walls
 
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with ChefOpscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with ChefChef Software, Inc.
 
Workflow Engines for Hadoop
Workflow Engines for HadoopWorkflow Engines for Hadoop
Workflow Engines for HadoopJoe Crobak
 
Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chefLeanDog
 
Opscode Chef for Dummies
Opscode Chef for DummiesOpscode Chef for Dummies
Opscode Chef for Dummiesdilippanwar
 

Ähnlich wie Chef + AWS + CodeIgniter (20)

Velocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopVelocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack Workshop
 
Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3
 
Introduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen SummitIntroduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen Summit
 
Chef, Vagrant and Friends
Chef, Vagrant and FriendsChef, Vagrant and Friends
Chef, Vagrant and Friends
 
Managing Distributed Systems with Chef
Managing Distributed Systems with ChefManaging Distributed Systems with Chef
Managing Distributed Systems with Chef
 
OSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsOSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy Hawkins
 
ITP Spacebrew Workshop - Spring 2014
ITP Spacebrew Workshop - Spring 2014ITP Spacebrew Workshop - Spring 2014
ITP Spacebrew Workshop - Spring 2014
 
Chef for openstack
Chef for openstackChef for openstack
Chef for openstack
 
Chef for Openstack
Chef for OpenstackChef for Openstack
Chef for Openstack
 
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
 
Chef: Smart infrastructure automation
Chef: Smart infrastructure automationChef: Smart infrastructure automation
Chef: Smart infrastructure automation
 
20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw
 
Chef For OpenStack Overview
Chef For OpenStack OverviewChef For OpenStack Overview
Chef For OpenStack Overview
 
Configuration manager presentation
Configuration manager presentationConfiguration manager presentation
Configuration manager presentation
 
Full-Stack CakePHP Deployment
Full-Stack CakePHP DeploymentFull-Stack CakePHP Deployment
Full-Stack CakePHP Deployment
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat Overview
 
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with ChefOpscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with Chef
 
Workflow Engines for Hadoop
Workflow Engines for HadoopWorkflow Engines for Hadoop
Workflow Engines for Hadoop
 
Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chef
 
Opscode Chef for Dummies
Opscode Chef for DummiesOpscode Chef for Dummies
Opscode Chef for Dummies
 

Mehr von ciconf

CICONF 2012 - Don't Make Me Read Your Mind
CICONF 2012 - Don't Make Me Read Your MindCICONF 2012 - Don't Make Me Read Your Mind
CICONF 2012 - Don't Make Me Read Your Mindciconf
 
Work Queues
Work QueuesWork Queues
Work Queuesciconf
 
Pretty Good Practices/Productivity
Pretty Good Practices/ProductivityPretty Good Practices/Productivity
Pretty Good Practices/Productivityciconf
 
Who Needs Ruby When You've Got CodeIgniter
Who Needs Ruby When You've Got CodeIgniterWho Needs Ruby When You've Got CodeIgniter
Who Needs Ruby When You've Got CodeIgniterciconf
 
Hosting as a Framework
Hosting as a FrameworkHosting as a Framework
Hosting as a Frameworkciconf
 
Zero to Hero in Start-ups
Zero to Hero in Start-upsZero to Hero in Start-ups
Zero to Hero in Start-upsciconf
 
How to use ORM
How to use ORMHow to use ORM
How to use ORMciconf
 

Mehr von ciconf (7)

CICONF 2012 - Don't Make Me Read Your Mind
CICONF 2012 - Don't Make Me Read Your MindCICONF 2012 - Don't Make Me Read Your Mind
CICONF 2012 - Don't Make Me Read Your Mind
 
Work Queues
Work QueuesWork Queues
Work Queues
 
Pretty Good Practices/Productivity
Pretty Good Practices/ProductivityPretty Good Practices/Productivity
Pretty Good Practices/Productivity
 
Who Needs Ruby When You've Got CodeIgniter
Who Needs Ruby When You've Got CodeIgniterWho Needs Ruby When You've Got CodeIgniter
Who Needs Ruby When You've Got CodeIgniter
 
Hosting as a Framework
Hosting as a FrameworkHosting as a Framework
Hosting as a Framework
 
Zero to Hero in Start-ups
Zero to Hero in Start-upsZero to Hero in Start-ups
Zero to Hero in Start-ups
 
How to use ORM
How to use ORMHow to use ORM
How to use ORM
 

Kürzlich hochgeladen

SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Kürzlich hochgeladen (20)

SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Chef + AWS + CodeIgniter

  • 1. Chef + AWS + CodeIgniter @_kennyk_
  • 2. Me • Co-authored Sparks • Reactor Engineer • Former Yahoo, Freelancing w/ Mozilla • Closet Ops guy
  • 3. Deployment Before • Collection of bash scripts • Not all installed software is known • Homebrew tools (Yahoo’s Taxi, Pogo, Etsy’s Deployinator) • Didn’t integrate well with infrastructure – Provision new boxes? Probably not • Terrifying to edit once the guy who wrote it is gone
  • 4. Now • Capistrano • Rubber • Puppet • Chef • .. and a bunch more
  • 5. Why Chef? • Integration with AWS and Rackspace • Extremely flexible • Platform-agnostic – And linux-variant agnostic • Code sharing in the community • Very popular • Back by OpsCode, founded by former Amazon Ops guys
  • 6. Any Downsides? • So flexible, so open-ended, big learning curve • 30-40 hours before you feel comfortable – According to me • You’ll rely on mostly blog posts to get your specific stack running – Or presentations like this
  • 7. But just imagine … • Your server stops taking requests • You don’t know why • You can – Run one command that provisions a new box in AWS with your full stack and configuration – Run commands on all of your nodes at once
  • 8. Uh yea, so what about Heroku/Pagoda/PHP Fog? • Just my opinion • When they go down, so do you • You trust Heroku to manage infrastructure intelligently with a black box • But sometimes they don’t, apparently – Heroku, June xx, whoops • Don’t be someone else’s bitch
  • 9. Pre-reqs • You know a little something about AWS • You’re comfortable with the command line
  • 10. Demo
  • 11. By the Way • You can’t learn what you really need to know in a 45 minute talk • In ruby – Can still use it without knowing much
  • 12. Chef Terms (the basics) • Cookbooks • Recipes • Knife • Roles • Attributes • Environments • Data bags
  • 13. Cookbooks • A module for installing and configuring a software package – PHP – Apache2 – New Relic monitoring – Your webapp –… • A cookbook contains at least one recipe
  • 14. Recipes • A component of each cookbook – For Apache2 • mod_rewrite • mod_php5 •… • Each cookbook has a default recipe
  • 15. Resources • Build in tools/building blocks for writing recipes – Need a symlink? Got that – Need an apt package? Got that • http://wiki.opscode.com/display/chef/Resour ces
  • 16. Attributes • Cascading configuration settings that are used by recipes – What port does Apache listen on? – What user does this process run as? • You can make anything a setting • Set them at the – Cookbook level (defaults) – Environment level (dev, staging, prod, w/e) – Any role level
  • 17. Roles (rolls) • Categories for your servers/nodes • In sophisticated setups – Database server role – Webapp role – Load balancer role – Utility box role • A single server can play multiple roles – In dev, maybe one box plays all roles to save $
  • 18. Environments • Just a container/construct for different env settings • Each node is assigned an environment on creation • Can be changed
  • 19. Data bags • More settings, usually used for sensitive settings – Database passwords – API keys –… – Settings which aren’t strictly associated with a role or environment type • Can be encrypted
  • 20. Actual node • Has environment • Has run_list – Usually set once on node creation – Recipes – Roles • Has chef-client installed – Pulls settings – Figures out what’s needed – Installs
  • 21. Knife • Command line tool to rule your world • See what your nodes are up to • Search, run remote commands • Deploy at scale – 14,000 adserving nodes? • Executes in parallel
  • 22. Hosted Chef • OpsCode is the central repository for your configuration • Diagram next slide
  • 23.
  • 24. Pushing settings • knife cookbook upload [cookbook] • knife role from file roles/webapp.json • knife data bag from file webapp [path] • knife environment from file [path]
  • 25. More demo • Download a community cookbook • Execute in paralell
  • 26. Thanks! • @_kennyk_ • codefury.net • https://github.com/katzgrau/chef-ec2- codeigniter-quickstart