Product and service reviews are conducted independently by our editorial team, but we sometimes make money when you click on links. Learn more.

Cattle vs. Pets: An Analogy For Cloud And Enterprise IT

By - Source: Toms IT Pro

Steve Strutt is IBM's CTO for Cloud Computing in UK and Ireland, contributing this op-ed article to Tom's Expert Voices section. Follow Steve on Twitter: @SteveStrutt

An analogy that caught my interest recently is a comparison of IT delivery styles with how we treat pets versus cattle.

Pets are unique, hand reared and lovingly cared for -- they are, by all considerations, members of the family. Cattle are largely identical, managed in herds, and bought and sold as a commodity -- they are, in effect, food.

I've seen this comparison used by Gavin McCance of CERN, describing how they operate their 12,000 servers and their OpenStack cloud management environment, and it is rapidly becoming a meme in the IT community. From my perspective, I apply this analogy to enterprise IT departments versus born-in-the-cloud businesses.

Commodity cloud users are cattle ranchers. Their applications are designed to require little maintenance, to handle failure and to scale out. Services are loosely coupled and stateless. If a server fails it is easier to replace than fix -- there is no emotional attachment. This concept is ideally suited to Web 2.0 services, social media and scalable apps.

Many traditional IT departments, on the other hand, are pet owners. Their applications are designed from an enterprise perspective -- services are tightly coupled, relying on scale-up systems and relational databases. They are lovingly and expensively cared for, with great attention and affection.

So with the emergence of cloud, are we moving to a new world of only cattle, with no pets? Not necessarily. As CERN's McCance observes, while many new application styles can be treated like cattle, pets still have their place. Most of the systems we rely on to run the global economy, such as core banking systems, airline reservations, etc., run on mainframes or Unix systems -- these definitely need to be treated as pets. The key to straddling the pets-cattle fence is to develop an environment that allows you to effectively manage and integrate both, and initiatives such as OpenStack play a pivotal role.

Originally developed to manage cattle, OpenStack is continuing to evolve to also address pet care, with common development and deployment tools built on open APIs bringing benefits to both. Mobile banking is a great example of a business service where both are needed, pets to record and perform financial transactions, cattle to display credit status and transaction history. Retail follows the same pattern, with a greater preponderance of cattle for browsing and selecting merchandise.

By evolving to support pets and cattle, an OpenStack based cloud simplifies the delivery and operation of business applications that require both. A open set of configuration and management APIs is creating a vibrant marketplace of tools and deployment approaches that can be applied to both. Where in the past application change has been difficult in the enterprise, the agility expected when delivering applications on cattle can also be realised for pets using the same tools. Maybe not the daily enhancements we are becoming familiar with on social media sites, but certainly enough to support evolving and changing business models in the enterprise.

What is the correct ratio of pets and cattle? That, I think, depends on the organization, but for certain both are necessary and play complementary roles in today's world of social and mobile enabled applications. For enterprise IT, the number of cattle will increase and not everything should to be treated as a pet. But the notion that it's an either/or choice is a false one and with OpenStack both can coexist and be managed in a common and consistent approach.

Steve Strutt is IBM's CTO for Cloud Computing in UK and Ireland, and maintains a broad interest in technology, engineering and sustainability both at work and beyond. He has a broad IT background which includes, consulting, systems architecture and technical sales of IBM hardware and software solutions.

Follow Steve on Twitter: @SteveStrutt