CI Tools and Best Practices in the Cloud

Continuous Integration

Subscribe to Continuous Integration: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Continuous Integration: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Continuous Integration Authors: Stackify Blog, Aruna Ravichandran, Plutora Blog, Dalibor Siroky, PagerDuty Blog

Related Topics: Cloud Computing, Continuous Integration, DevOps Journal

Blog Post

Cloud: Pets, Cattle and...Chickens? By @BernardGolden | @DevOpsSummit [#DevOps]

There’s no sentiment associated with cloud infrastructure. It’s treated as a useful resource, used as needed

Cloud Computing: Pets, Cattle and ... Chickens?

If you've spent any time at leading cloud computing conferences, you may have come across the meme "pets vs cattle." (Here is a lengthy slideshare presentation by Randy Bias of EMC/Cloudscaling discussing the difference between pets and cattle in a cloud computing world.) The message associated with this meme is that we should have different attitudes about traditional infrastructure versus today's cloud infrastructure.

Traditional infrastructure is expensive and individuated - we give servers names, we lavish attention on them, and when they suffer problems we do evaluation, diagnosis, and nurse them back to health via hands-on administration. In other words, we treat them as part of a family. This is true whether the server is physical or virtual; they are long-lived and stable, and therefore deserve personal attention and emotional attachment - just like a pet.

By contrast, cloud infrastructure is treated as transitory and disposable; due to the highly erratic workloads typical of cloud applications, virtual machines come and go, with lifespans measured in hours, if not minutes. Because of the temporary nature of cloud infrastructure, it's pointless to get attached to specific resources; therefore, cloud servers more nearly resemble cattle rather than pets. In other words, instead of getting attached to a cloud server, it's better to view it as a disposable resource, temporarily used and then discarded. And, unlike a pet, one does not think of a steer as part of the family and nursed to keep healthy. Likewise, when a cloud server experiences problems, one does not do analysis and attempt to repair it; instead, the cloud server is terminated and another started in its place.

The point is - there's no sentiment associated with cloud infrastructure. It's treated as a useful resource, used as needed and discarded when no longer necessary. In case of trouble, it's terminated and another launched in its place.

What About Containers?
This got me thinking. If you accept the zoomorphic pets vs. cattle meme for servers compared to cloud resources, what about containers? The animal that immediately sprang to my mind is the chicken, which I think is a useful entry in this comparative exercise.

Chickens grow to maturity much faster than cattle - six weeks for a chicken compared to around 24 months for cattle. They're more efficient than cattle in terms of resource use - a chicken only takes 1.7 pounds of food to add a pound of mass, while a steer requires over three pounds.

This greater efficiency of chickens compared to cattle is exactly mirrored by containers vis a vis virtual machines. Containers launch in seconds rather than the minutes more typical of virtual machines. Containers require far fewer compute resources in comparison to virtual machines.

The meme is correct as far as it goes. It extends the pets vs. cattle original meme. However, and this is where the updated meme gets really interesting is how neatly it reflects what I expect the future reality of containers to demonstrate.

While the faster maturity and greater resource efficiency of chickens is interesting, where they get really fascinating is in their overall numbers. While the U.S. supports around 87 million cattle each year, it has nearly 100 times as many chickens - 8 billion.

Likewise, I expect that in the future there will be perhaps 100 times as many containers in use as there are virtual machines today. A huge driver of resource consumption is convenience - and the more convenience associated with a given good or service, the more that we consume (as the English economist William Stanley Jevons explained 150 years ago, resources that are more efficient, i.e., lower in price than previous resources, result in more consumption rather than less; this is called Jevon's Paradox).

We can look forward to a future of much greater numbers of containers than we've seen in terms of cloud servers. And that, in turn, is going to cause a massive change in IT organizations. The reason, as Hegel originally pointed out, is that at some point a quantitative change becomes a qualitative change.

The Impact of Containers for IT
Today, most IT organizations are struggling to stretch their manual processes to cover the use of cloud computing. The more erratic nature of cloud computing applications causes many more changes to previously static environments, posing a challenge to existing processes, which are designed for long-lived resources that are changed infrequently.

But a stressed system of manual administration, barely capable of addressing an increasingly cloud-oriented IT environment, will prove completely inadequate when asked to encompass a vastly larger pool of container-based resources.

The key for IT organizations to succeed in a container-oriented world will be to transform manual processes to streamlined automation. Said another way, the change in resource type must be matched by a change in management toolchains, capable of directly delivering resources from developer right through to production, with no human touch necessary along the way.

Stackato has been designed to enable the future of applications, with full automation throughout the application lifecycle. We encourage you to download a free version of the product and get started on the future.

The post Cloud Computing: Pets, Cattle and ... Chickens? appeared first on ActiveState.

More Stories By Bernard Golden

Bernard Golden has vast experience working with CIOs to incorporate new IT technologies and meet their business goals. Prior to joining ActiveState, he was Senior Director, Cloud Computing Enterprise Solutions, for Dell Enstratius. Before joining Dell Enstratius, Bernard was CEO of HyperStratus, a Silicon Valley cloud computing consultancy that focuses on application security, system architecture and design, TCO analysis, and project implementation. He is also the Cloud Computing Advisor for CIO Magazine and was named a "Top 50 Cloud Computing Blog" by Sys-Con Media. Bernard's writings on cloud computing have been published by The New York Times and the Harvard Business Review and he is the author of Virtualization for Dummies, Amazon Web Services for Dummies and co-author of Creating the Infrastructure for Cloud Computing. Bernard has an MBA in Business and Finance from the University of California, Berkeley.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.