Amazon’s web infrastructure guru James Hamilton uses Facebook’s recently
released energy data to make an educated guess for how many servers
Facebook now has: potentially 180,000. That’s up from an estimated 30,000
in the winter of 2009, and 60,000 by the Summer of 2010.
google has more than one million servers
10 releases per day!
● 3 engineers
● over 14 million users
● no hardware
● +100 instances on Amazon EC2
Agile : Responding to change..
- Less time to Market.
- Low release cycle time.
- Huge amount of servers on cloud.
- Zero downtime.
- Increasing traffic and user base.
The Dev world
Write Unit Test Cases
The Ops World
Installation of server hardware and OS
Configuration of servers, networks, storage, etc…
Monitoring of servers
Respond to outages
Managing phone systems, network
Backup and disaster recovery planning
Manage active directory
Introducing Mr. DevOps
Mr. Sacha Noam Baron Cohen
Designation : Senior DevOps Engineer
its a culture... its a movement..
Started as devOps days in Belgium in 2009.
Developers interested in cloud, clusters, servers,
deployments, databases learn to write code to maintain
Ops people evolve and start developing the code to
And they are all in one same dev team trying to achieve
Collaboration -> Best practices
Ops learn from developers - > Coding
managed code, versioning.
Dev learn from Ops -> Insights of environment
and deployments, their problems.
Next Hurdle : Configuration
Lets Automate : We had Perl... We had shell scripts..
● How soon can you write this script?
● How maintainable is it?
● Can you write test cases for it?
● Can you have versioning?
● Can you have reusability?
Infrastructure as code
Evolving from Scripts to code
"a flexible model for reuse by enabling users to model
infrastructure as code to easily and consistently configure
and deploy infrastructure across any platform.
Create a blueprint of your infrastructure that enables you to
build or rebuild, automatically in minutes or hours – not
weeks or months."
Tools of the game
What is Chef?
Chef is a configuration management tool.
Using its cookbooks and recipes we can
provisions VMs, environments.
Community maintained code, almost everything
is prebuilt (cookbooks and recipes), need not
reinvent the wheel, just modify as per the need.
Chef Server, Chef node ,Knife,
Cookbook and Recipes
Chef Server : Central hub which keeps the nodes in sync.
A cookbook is the fundamental unit of configuration and policy distribution in Chef.
Recipes reside inside a Cookbook.
Written in Ruby.
Configurations , Policies and Attributes.
Example CookBook of MySQL will contain 2 recipes
1. For MySql Server
2. For MySql Client
Using your workstation you write/modify cookbooks and using knife (a tool) you sync it with chef
repo and chef server.
Provision a VM and put Redis (a key-value
based noSql Database) on an Ubuntu machine.
.1) Provision VM
3.)Get the machine Up
4.)Download installer for Redis
6.)Start the service
Cloud Support : EC2
$ knife ec2 server create "role[Demo] -N "demo.example.
net" -i ami -3e02f257