Background
So, most of us have heard the pets vs. cattle analogy. The saying goes, that in a cloud environment, you don't waste time fixing individual virtual machines or containers - instead - you just delete them and re-provision. But, does this apply to the entire cloud environment? The analogy is that you don't take cattle to the vet, you just send them to slaughter. But, is this really true? Cattle are worth a lot of money. I have never really liked the pets vs. cattle analogy. I think it lacks sensitivity and may not be appropriate when talking to a CIO. The real problem, however, is that the analogy fails to fully relate the changes in IT that are happening.
I propose that Pets vs. cattle is not really about how or when we kill animals - instead it's about the simplicity of consuming animals, and the complexity of maintaining the environment in which they live.
Pets
At the end of the day - in small quantities, pets are actually quite easy to take care of - when they are young, you take them to the vet for their shots. As they grow, you provide them with food, water, and a clean litter box (or take them outside once in awhile) and they are pretty much "good to go".
Like pets, you give traditional virtual machines their "shots" when they are first created (via Puppet, Chef, Ansible, or through manual updates) and they are pretty much "good to go". Of course, if they get "sick", you take virtual machines to "the vet" - you log into them, troubleshoot problems, fix problems, or run update scripts. Usually by hand, or driven by some automation, but managed individually.
The problem is, raising pets in a house doesn't scale. I don't want 2000 cats and dogs at my house (and, let's be honest, neither do you).
Cattle
Raising cattle is quite different than a household pet. It's actually quite a bit more complex. Cows, sheep, and chickens are raised on farms because it's more efficient. Farms are set up to handle the scale. This requires large amounts of land, tractors, fences, silos for grain/feed, specialized trailers for your truck, specialized train cars, and specialized processing plants. In addition, farms have to keep shifting which fields are used for grazing so that they don't become unusable over time. If you really think about it - I'm only just skimming the surface. Farms are more efficient, but quite a bit more expensive than a house to run day to day.
Clouds (e.g. OpenStack, OpenShift) are more akin to farms than houses. Firing up a cloud is like setting up a farm from scratch. It requires a lot of planning and execution. After firing up your cloud, there is constant technical care and maintenance - e.g. adding/removing storage - fixing hung instances - adding/removing VLANS - fixing pods stuck in a pending state, returning highly available services (Cinder, API nodes, OSE/Kube Master, Hawkular Metrics) back to production, upgrading the cloud platform, etc. etc. There is a lot of farm work with a cloud.
Farms are quite efficient at raising thousands of animals. I do not think, however, that you just tear down an entire farm when it is no longer running in an optimal state - instead - you fix it. Clouds are quite similar. Clouds are more work for operators, but less work for developers. Just like farms are a lot of work for farms, but much less work for shoppers at the store. Raising large amounts of chicken is harder for farmers and easier for consumers. The farmers hide the complexity from consumers.
Conclusion
I propose that it's not really about pets vs. cattle, but really about houses vs. farms. It's far easier to buy chicken breast at the store than it is to raise hundreds of chickens in your backyard. I propose this as an improved analogy. Farms require quite a bit of work, are sophisticated and more expensive than a house, but quite efficient at supporting a lot more animals. At scale, I would take a farm any day over raising thousands of animals at my house. The same is true with a cloud environment. At scale, a cloud wins every time.
On a side note, people often conflate the notion of scale up and scale out with pets vs. cattle. In my mind, bigger and smaller bulls (scale up/down) or a greater number of smaller bulls (scale out) is arbitrary and a constant challenge in terms of both pets and cattle....
Finally, for those that still don't like pets vs. cattle or houses vs. farms - let's try a beer analogy. Bottles vs. home brew - while it's easy to drop by the store and buy a bottle of beer... it's way more fun to brew it. Let's brew some beer together, leave a comment below!
À propos de l'auteur
Parcourir par canal
Automatisation
Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements
Intelligence artificielle
Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement
Cloud hybride ouvert
Découvrez comment créer un avenir flexible grâce au cloud hybride
Sécurité
Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies
Edge computing
Actualité sur les plateformes qui simplifient les opérations en périphérie
Infrastructure
Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde
Applications
À l’intérieur de nos solutions aux défis d’application les plus difficiles
Programmes originaux
Histoires passionnantes de créateurs et de leaders de technologies d'entreprise
Produits
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Services cloud
- Voir tous les produits
Outils
- Formation et certification
- Mon compte
- Assistance client
- Ressources développeurs
- Rechercher un partenaire
- Red Hat Ecosystem Catalog
- Calculateur de valeur Red Hat
- Documentation
Essayer, acheter et vendre
Communication
- Contacter le service commercial
- Contactez notre service clientèle
- Contacter le service de formation
- Réseaux sociaux
À propos de Red Hat
Premier éditeur mondial de solutions Open Source pour les entreprises, nous fournissons des technologies Linux, cloud, de conteneurs et Kubernetes. Nous proposons des solutions stables qui aident les entreprises à jongler avec les divers environnements et plateformes, du cœur du datacenter à la périphérie du réseau.
Sélectionner une langue
Red Hat legal and privacy links
- À propos de Red Hat
- Carrières
- Événements
- Bureaux
- Contacter Red Hat
- Lire le blog Red Hat
- Diversité, équité et inclusion
- Cool Stuff Store
- Red Hat Summit