Accommodating the whole barnyard: Cattle and Pets, and what 2020 holds
Cattle and pets as a technological concept has been around for some time, and there can be many different meanings attributed to them.
To set the record straight: Pets are servers that system administrators spend a lot of time and care to look after. Much like the beloved Fido at home, pet servers have names, personalities, and get taken to the proverbial vet when they are sick.
Pets are continually backed up to ensure everything is fully documented. When they ‘get sick,’ they are rebooted and system logs are thoroughly checked. It can be challenging to justify pets to IT business decision-makers because they require a lot of effort to maintain. However, it may be the only way some organisations can reasonably run.
Cattle is the opposite of pets. Cattle servers do not get named – they get numbered and tagged. When they get sick, they put down and replaced with healthier ones. Engineers still need to patch them and back them up, but when you look at them from afar – like a herd of cattle on a field in the distance – it’s automation that does this work for you.
But what does all this mean for build engineers, and how are the two concepts housed on Amazon Web Services (AWS).
How does AWS lend itself to cattle or pet build functionalities?
Designing a server for failure is one of the most important things to keep in mind when building a server in AWS. Manually patching, fixing, and installing your application generally means the server is a pet. However, when a server is in the cloud, it isn’t necessarily a cattle.
Happily, for engineers, AWS has the tools and capacity to allow your server to work like a herd of cattle, including features such as auto-scaling group, that allow horizontal scaling across multiple availability zones.
AWS has the tools and capacity to allow your server to work as a herd of cattle, feature such auto-scaling group that allows horizontal scaling across multiple availability zones. AWS’s Elastic Container Services (ECS) allows containers to start and terminate to the capacity demanded, which improve efficiency by running multiple tasks on the same compute resource. As one task demand increases, ECS able to scale up to meet the demand while other tasks at minimum capacity or removed.
How Rackspace can help
Through working with a managed cloud provider like Rackspace, businesses can architect and provision their infrastructure in AWS to be more resilient and designed to absorb various different failures.
Rackspace’s expertise means businesses have additional tools and experience to navigate complexities such as backup automation. Automation capabilities on AWS can and should extend to proactively checking spending and optimising usage.
And when it comes to the choice between cattle and pets for your business’s project Rackspace has the expertise and resources to make that recommendation based on each unique project and team. Increasingly though, pets are being created in such a way that they can run for years with good uptime.
What’s next for Cattle and Pets?
The term has been around for 10 years now. In 2020 and beyond, we’ll see more animal analogies added to the mix, such as chicken (referring to containers; they’re more efficient than cattle, have a shorter life expectancy, and you can crowd many of them into a small space) and insects (referring to a serverless approach with a lifespan of only a few hours in some cases).
As cattle builds become increasingly common, the next logical step is to start thinking of containerisation of applications. In 2020, we’ll see containerisaton is so popular that application owners can deploy and run their applications in any cloud provider.