Upload
randy-bias
View
1.031
Download
1
Embed Size (px)
Citation preview
The History of Pets vs. Cattle
Randy BiasVice President
September 30, 2016OpenStack Days Seattle
@randybias
… & Using It Properly
It Wasn’t Really About Buying Online Services
4
2012
How to explain … ???
It’s got to be simple. Dead simple.
“”
In the old way of doing things, we treat our servers like pets. For example,
‘Frodo’ the mail server. If Frodo goes down, it’s all hands on deck. The CEO can’t get his email and it’s the end of
the world.
In the new way, servers are numbered, like cattle in a herd. For example,
www001 to www100. When one server goes down, it’s taken out back, shot,
and replaced on the line.
— Randy Bias (many hundreds of times from 2012-2016)9
11
“Mode 1”, “The Second Platform”, “Legacy”
GUI Driven Ticket Based Hand Crafted
Reserved Scale-Up
Smart Hardware Proprietary
“Waterfall Ops” . . .
Each Server Built This Way is A “Pet”
12
“I love you!”
• Unique & indispensable
• Hand fed, hand-crafted
• Examples:
–mainframes
–HA pairs (LB, firewall, etc.)
–master/slave databases
• A “herd” of cattle is not 2 servers
“Mode 2”, “Third Platform”, “Cloud-Native”
API Driven Self Service Automated On Demand Scale-Out
Smart Apps Open Source Agile DevOps
. . .
Every Server is Just Another Part of the Herd
15
“Lunch!”
• “A herd” is just many homogeneous servers
• 100% automated & designed to fail
• Load balanced & multi-master
• LB: svc discovery, DNS, H/W LB
• Examples: - web server arrays - multi-master data stores (Cassandra) - Hadoop clusters
Pets vs Cattle
16
GUI Driven Ticket Based Hand Crafted
Reserved Scale-Up
Smart Hardware Proprietary
“Waterfall Ops” . . .
API Driven Self Service Automated On Demand Scale-Out
Smart Apps Open Source Agile DevOps
. . .
Disposable, One of the
HerdUnique and
Indispensable
Our Brave New World
17
• Failures happen … always
• Everything must fail without an impact: server components, servers, racks, datacenters … everything
• And most importantly, apps must detect and route around these failures
The Fundamental Difference
18
The Old Way(inelastic)
The New Way(elastic)
99.9%Applications
99.999%Infrastructure
($$$$)
99.999% Applications
99.5% Infrastructure
($)
Responsibility
Shift
An Example: Kubernetes “Pet Sets”
20
Stateful Applications supported by “Pet Sets”
• Cassandra
• Kafka
• MongoDB
These are Cattle-architected data store systems
Source: K8s Blog: Stateful Applications in Containers!? Kubernetes 1.3 Says "Yes!”
Respect the Meme
23
See Also:
• http://tinyurl.com/history-pets-cattle
• http://www.slideshare.net/randybias/pets-vs-cattle-the-elastic-cloud-story
• http://www.lauradhamilton.com/servers-pets-versus-cattle
• http://www.theregister.co.uk/2013/03/18/servers_pets_or_cattle_cern/
• http://www.slideshare.net/randybias/architectures-for-open-and-scalable-clouds