Chef

an introduction

app
env
desktop/laptop
Network
Storage

lifecycle events

build/
provision
configure environment
integrate
update/ patch
deploy
 app
tear down
install
  OS

approaches

Manual
Scripts
IaaC
Golden Images
Scripts
  • Automate repeatable tasks
  • Procedural Programs
  • Focus on HOW
HOW
WHAT
IaaC
user
name = xyz
uid  = 5001
pass = xxx
Resource
user
Resource

P

P

P

Providers
translate
ruby
dsl
IaaC
  • Declartive Approach
  • Revision Control
  • Recreate the Infrastructure out of code repo
  • Migration and DR
  • Absolute Consistency

story

  • Flexible
  • Scalable

Pull Model

convergent

approach

user
name = xyz
uid  = 5001
pass = aaa
user
name = xyz
uid  = 7888
useradd
usermod
user
name = xyz
passwd
user
name = xyz
pass = bbb
uid = 5001
pass = aaa

desired state

code    |    data

properties
code

attributes

data bags

recipes

templates

cookbooks

cookbooks

reuse

Iterative approach to automation

where to use chef?

build/
provision
configure environment
integrate
update/ patch
deploy
 app
tear down
install
  OS

cloud/provisioner/razor/chef plugins

images

audit and compliance
software delivery
application ops/devops
developer
storage admin
build and release engg
network engineer
systems administrator

who is it for

General Purpose Testing Tool
one stop devops solution
CI Tool
agent less system
SCM Tool
UI Oriented Tool

who it IS NOT

thank you

Introduction to Chef

By School of Devops

Introduction to Chef

CCI 01 - Automating environments with Chef

  • 1,012