Why servers should be seen like cows, not puppies

Piston Cloud exec trots out a familiar analogy from the animal world

Infrastructure as a service (IaaS) cloud computing is fundamentally about managing hardware resources, and the CTO of OpenStack company Piston Cloud Computing has an interesting way to think about the issue.

"The servers in today's data center are like puppies -- they've got names and when they get sick, everything grinds to a halt while you nurse them back to health," Joshua McKenty, co-founder of Piston Cloud, is quoted as saying in a recent company press release. "Piston Enterprise OpenStack is a system for managing your servers like cattle -- you number them, and when they get sick and you have to shoot them in the head, the herd can keep moving. It takes a family of three to care for a single puppy, but a few cowboys can drive tens of thousands of cows over great distances, all while drinking whiskey."

[ MORE OPENSTACK: OpenStack grows up, but is it grown up enough for enterprise IT? ]

McKenty isn't the first one to broach the idea of hardware resources as "cattle"; former Microsoft BI/SQL executive Bill Baker may have been the first to use it, but McKenty says it's an apt analogy for IaaS cloud computing today.

"Cattle" are the set of virtual machines in a cloud that are alike and no single one is more important than another -- if one, two or a handful go down and stop working, that's fine because there are other VMs that take its place. "Puppies" on the other hand are VMs that have been customized and optimized for running a specific workload. When they get a bug or stop working for some reason -- which is likely to happen, McKenty says -- workers spend time and resources bringing the machine back up and running.

McKenty says the growth of public cloud use has opened people's eyes to the idea of using commodity servers in an IaaS setting -- like in Amazon's cloud. Amazon Web Services is a good example of cattle VMs -- you spin them up, spin them down, and pay for only what you use.

The idea of IT as cattle is not just broached in cloud, but for a variety of other IT functions, says analyst Stuart Miniman. Hyperscale tech companies like Facebook are building out commodity hardware through the company's work in the Open Compute Foundation, he has written. Instead of having specialized, expensive hardware servers, what McKenty would call "puppies," Facebook has its own servers built in house on commodity hardware -- "cows," in McKenty's diction.

Commodity vs. specialized has its pros and cons and, like most things, organizations will likely have a use case for both, Miniman says. On the plus side, commodity resources can reduce prices by allowing for volume discounts, for example. The utility can also be reused, and it's easier to manage, which leads to faster provisioning and a more agile IT shop.

"There are plenty of applications that can fit nicely into the 'new' model where hardware is just the container and software can provide the needed reliability," Miniman says. "There are also some mission-critical apps that won't fit that model today and will have a challenge crossing the chasm between legacy and modern design."

Cows and puppies seems to be a notion apt for the cloud, though.

"I agree with [the cows and puppies] sentiment, though I don't like the callousness of it," says George Reese, CTO of Enstratius, which makes a software tool for businesses to manage cloud resources. "Individual servers don't matter. Individual VMs don't matter. It's the systems that run on top of them that matter. If the infrastructure underneath is failing, don't waste your time trying to figure out why. Throw it out and replace it -- preferably through automation."

Network World senior writer Brandon Butler covers cloud computing and social collaboration. He can be reached at BButler@nww.com and found on Twitter at @BButlerNWW.

Insider Tip: 12 easy ways to tune your Wi-Fi network
Join the discussion
Be the first to comment on this article. Our Commenting Policies