Cattle, Not Pets: How to Handle Your Infrastructure
21 November 2023
“Cattle, not pets” is a DevOps saying about how you should treat your infrastructure: like replaceable cattle instead of precious pets. It’s quite a captivating image, and it definitely points in the right direction, but it’s not always evident how you can act on it. To clear things up, we sat down with Kilian Niemegeerts, FlowFactor’s managing partner. In this blog, we’ll discuss where this saying comes from, how these approaches differ, and how to change trajectories as an organisation.
Where Does the Difference Come From?
In the past, servers were important and singular monoliths with little to no automation (possibilities). Setting up these ‘bare metal’ servers generally required a special recipe that only a select few were able to get working. In time, they even got names, turning them into something resembling pets. However, Kilian points out that times have changed:
In other words, the shift from treating infrastructure as pets to managing them like cattle is not limited to a single technology or phenomenon. Instead, it represents a series of shifts in the way organisations now have to approach their IT operations because of changes in the modern tech landscape.
How to Tell Them Apart
As is often the case with gradual evolutions, it’s not always easy to determine where you’re at as an organisation. As far as we know, there is no generally accepted framework or set of criteria that shows how far along you are in transforming your infrastructure management. To assist you in your assessment, Kilian shares some tell-tale signs whether you’re treating your infrastructure as cattle or pets.
- Manual intervention: If you’re treating your infrastructure as pets, they require regular manual interventions, troubleshooting, and other hands-on care and attention. Cattle mentality, on the other hand, focuses on self-healing: automatically replacing components to minimise interventions.
- Ownership: People understandably like to mark their pets as their own. Your infrastructure shouldn’t have a complicated configuration that requires specialist knowledge, and whose secrets are only known to a select few. Instead, consider using Infrastructure as Code (IaC) to set up simplified and reproducible configurations that emphasise consistency.
- Reaction to failures: If your infrastructure requires a lot of manual troubleshooting to get back online, and the focus is on reviving instances, you’ll keep holding on to it for too long. With a cattle mentality, you prioritise quick recovery and resilience over keeping the same instances running.
- Lifecycle management: Infrequent changes or a reluctance to keep your infrastructure up to date because of the setup’s complexity is not a good sign. People always want to keep their pets alive, but sometimes cattle have to make room for new animals. Deprecating and replacing components will let you embrace change through regular iterations instead of infrequent large shifts.
- Flexibility: Your infrastructure shouldn’t consist of just one virtual machine that runs an entire application. By replacing monolithic applications with independent services, you increase the overall robustness and flexibility of your services. As Kilian often says, you have to think in terms of services instead of servers.
How to Turn Your Pets into Cattle
To transition from a pet-oriented approach to treating your infrastructure like cattle, you’ll need a strategic and gradual shift. Kilian points out that it’s less about technology and more about a fundamental change in approach and mindset.
Changing habits and procedures is a lot more difficult than simply adopting new technologies. We suggest starting with small, non-critical applications and features before progressing to more crucial elements of your infrastructure. This will let your team adapt gradually, minimise disruptions, and build experience and confidence. As Kilian points out, automation is the key to this process:
Even though you can rely on automation to do the heavy lifting, shifting your operational mindset will remain a complex interplay of people and technology. To avoid sticking to the same thought patterns and narrow view, consider bringing in an external expert. Getting a fresh look at your situation from someone who is used to dealing with both technology and organisational change can bring a lot of added value. As luck would have it, that’s precisely what we at FlowFactor do best.
The journey from treating your infrastructure as pets to embracing the cattle mentality is clearly not just a catchy phrase: it represents a transformative shift in how organisations approach their IT operations. We advise starting small, gradually progressing, and using automation wherever possible. Keep in mind that turning your pets into cattle is not just a technological exercise, but a thorough change in your organisations’ mindset. To help navigate these changes, consider the guidance of an experienced third party.
Thinking of taking your infrastructure to the next level, but not sure where to start? At FlowFactor, we specialise in guiding organisations through the intricacies of DevOps and infrastructure modernisation. Contact us today to discuss the possibilities.