2. Contents
✘ EHLO
✘ Choose High Availability
✘ Choose Consistency
✘ Choose Speed
✘ Choose Chef
✘ High-Level Chef Architecture
✘ Cooking with Chef in Amazon AWS
✘ Resources
✘ Thanks!
3. EHLO
I am Silvian Crețu
sysadmin, devops engineer, technical lead
sometimes developer
some other times DJ, MC
all the time geek
more than 10 years of experience in the IT field
5. “I'm a 32 year old IT-man who
works in a basement
Moss, The IT Crowd
6. So... in the past
✘ … sysadmins used to work in basements
✘ … sysadmins used to care about uptime
✘ … sysadmins used to care about servers
✘ … sysadmins used to fix stuff at night
✘ … developers used to be at the mercy of a sysadmin
✘ … and sysadmins are... lazy
7. Availability
✘ usually the first thing a product owner wants to fix
✘ starts with getting the sysadmin out of the basement and have him
work with the developers
✘ buzz-word alert: DevOps!
✘ automation kicks in: BASH scripts, "caveman's Chef"
✘ being highly available doesn't mean caring and nurturing servers
✘ being highly available doesn't mean panicking when disks fail
9. “The estimated cost of fixing a bug in
production is 150 times that of fixing the
same bug in development
the agile cost curve
10. Consistency
✘ sysadmin and developer (devops?) meet QA: "works on my
machine"
✘ BASH script doesn't work on QA's machine
✘ in real world there are more servers. QA has a machine
✘ where and how do we load test?
✘ size up the QA environment to match production
✘ size up the load test environment to match the traffic peak
13. Speed
✘ well... yesterday... but now should be just fine
✘ buzz-word alert: The Cloud!
✘ let's scale down to keep the costs low, but scale up when needed
✘ and do it fast!
✘ BASH script is not fast enough
16. Chef
✘ automation in a platform independent way
✘ idempotent automation => speedy automation
✘ Ruby based DSL => infrastructure as code
✘ sysadmin starts coding
✘ developer and QA start understanding the infrastructure
✘ did I mention devops?
✘ add Vagrant => your entire production environment is on QA's
machine
✘ can run BASH, Python (etc) scripts (beware to keep idempotence)
✘ can run Ruby blocks (beware to keep idempotence)
19. Workshop
✘ Amazon OpsWorks
✘ Chef cookbooks from Git and/or S3
✘ Berkshelf
✘ automation: provisioning, server life-cycle, deployments
✘ high availability for both your application and your provisioning
infrastructure
✘ speed: idempotence, faster boot times, etc
Tomorrow morning at 10:00, Cloud Workshops room