Choose Chef! Choose high availability, consistency and speed!

Embed Size (px)

Citation preview

Choose Chef!
Choose high availability, consistency and speed!

Contents

EHLO

Choose High Availability

Choose Consistency

Choose Speed

Choose Chef

High-Level Chef Architecture

Cooking with Chef in Amazon AWS

Resources

Thanks!

EHLO

I am Silvian Creusysadmin, devops engineer, technical leadsometimes developersome other times DJ, MCall the time geekmore than 10 years of experience in the IT field

1.

Choose High Availability

I'm a 32 year old IT-man who works in a basement

Moss, The IT Crowd

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

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

2.

Choose Consistency

The estimated cost of fixing a bug in production is 150 times that of fixing the same bug in development

the agile cost curve

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

3.

Choose Speed

When do we want it?

all the things meme

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

4.

Choose Chef

IT automation for speed and awesomeness

chef.io

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)

others: Puppet (Ruby DSL), SaltStack, Ansible (Python DSL)

High-Level Chef Architecture

5.

Cooking with Chef in Amazon AWS

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

Resources

http://opensource.com/business/15/9/ato-interview-seth-vargo

http://pixelcog.com/blog/2014/virtualizing-aws-opsworks-with-vagrant/

https://www.chef.io/

https://github.com/scretu/mm15ro

http://docs.aws.amazon.com/opsworks/latest/userguide/best-practices-packaging-cookbooks-locally.html

http://devopsreactions.tumblr.com/post/118432149429/explaining-puppet-to-management

http://www.slidescarnival.com/ursula-free-presentation-template/804

thanks!

Any questions?

You can find me [email protected]://ro.linkedin.com/in/silviancretu