The Pets and Cattle Methods for Deploying Cloud Services
Understand the difference between a pet and cattle.
August 17, 2015
Q. I keep hearing about pets and cattle related to cloud. What does this mean?
A. There is a big movement right now around the best way to deploy services and this relates to pets and cattle. When you have a pet you care for that pet, it requires care and feeding, if its sick you take it to the vet. You are invested in its long term survival. With cattle you have a lot of them, they don't have names and if something is wrong with it then its shot and you carry on.
The common model for OS instances is they are pets. Your OS instances have names, you patch them, care for them and if they have a problem you go through a lot of time to fix them. This is one of the reason we have so many problems moving from Windows Server 2003. It can be difficult to move applications from our these servers as there is so much configuration to migrate. A good example of a pet would be a SQL Server which has a huge investment in its deployment, configuration and maintenance.
The goal is to move for the OS instances to be cattle. They are easily stood up and removed. This enables great scalability as instances can be added and removed as required. If something is wrong with an instance you don't have to troubleshoot it, it is simply deleted and a new one stood up in its place. This could be an example of an IIS farm with 100 IIS servers in it. If one instance has a problem you don't try to fix it but rather delete it and just replace it.
The key to taking the cattle approach is that the instances can easily be created using automation such as PowerShell DSC, Chef and Puppet plus applications and services have to be written to support multiple instances and ensure any stateful data is not stored on the instance itself but on a durable storage medium.
About the Author
You May Also Like