Pets vs. Cattle is an analogy used to emphasise the differences between the pre-cloud and cloud MOs, and a mindset shift which needs to be taken to make use of the elastic scaling capabilities of the cloud.
The real challenge is twofold:
The initial golden cow needs to be bred, from which you clone the rest of the herd.
This usually involves converting the current ephemeral state of servers and databases into concrete IaC (Infrastructure as Code) definitions, which can be used to stamp out new servers or database instances at will, in an automated fashion.
New genes need to be easily introduced into the gene pool.
This usually involves automating the release process, so changes to the IaC can be easily diffed, tested and deployed out to each server or database.
The other big benefit of cattle is that it becomes very easy for developers and testers to have their own prod-like environment, one per feature-branch, which can be created and deleted at will, quickly.
Azure Virtual Machine Scale Sets is Microsoft’s answer to stamping out cattle.