Chapter 1. Motivation
In this chapter I’ll introduce you to the pets versus cattle approach concerning compute infrastructure as well as what container networking entails. It sets the scene, and if you’re familiar with the basics you may want to skip this chapter.
Introducing Pets Versus Cattle
In February 2012, Randy Bias gave an impactful talk on architectures for open and scalable clouds. In his presentation, he established the pets versus cattle meme:1
-
With the pets approach to infrastructure, you treat the machines as individuals. You give each (virtual) machine a name, and applications are statically allocated to machines. For example,
db-prod-2is one of the production servers for a database. The apps are manually deployed, and when a machine gets ill you nurse it back to health and manually redeploy the app it ran onto another machine. This approach is generally considered to be the dominant paradigm of a previous (non–cloud native) era. -
With the cattle approach to infrastructure, your machines are anonymous; they are all identical (modulo hardware upgrades), they have numbers rather than names, and apps are automatically deployed onto any and each of the machines. When one of the machines gets ill, you don’t worry about it immediately; you replace it—or parts of it, such as a faulty hard disk drive—when you want and not when things break.
While the original meme was focused on virtual machines, we apply the cattle approach to infrastructure.
Go Cattle!
The beautiful ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access