A few weeks ago I was ruminating on Twitter about the “Cattle not Pets” metaphor for Cloud instances.
“Cattle, not pets” is not a perfect metaphor for cloud servers. Farmers actually do care for individual cows. What about Bees? Ants?
— Jason Brown (@cloudyopspoet) November 17, 2015
I started a vague blog draft on the topic, got a little sidetracked and never fully completed the thought. But it’s something that’s itched at me for some time now. Cattle do in fact get fairly individualised treatment, except on the largest of scales. So they’re not a great metaphor. But I didn’t really have a perfect replacement So when I wandered into the office this morning and checked Twitter, I was gratified to see that Jeffrey Snover had tweeted out an article ruminating on basically the same topic, and which did a lot of the agricultural thinking for me.
I, of course, mentioned that I’d been thinking about this, and Snover replied…
I instantly went into fangasm overload.
Snover said I was ahead of the curve. The man who has revolutionised Microsoft’s server platform more than any other. Said I was. Ahead of. The curve.
Anyway, fanboy time over, I still think we’re grasping for a perfect metaphor in an imperfect and rapidly evolving space. The ZDNet article – which you really should read – stays in the stereotypical barnyard and goes for chickens. You don’t count your chickens in an exacting way. You know you’ve got quite a lot of chickens, and you know you’re producing a fair amount of egg, end of story. Right? Well, maybe. It works.
For my part, I’d pretty much settled on bees. Your nodes are your bees, and the orchestration system you have behind them (Puppet, Ansible, CloudFormation, RobotArmy, whatever) is the Queen Bee. You lose that, your colony will start to die. Your AWS Region (or [insert cloud platform of choice here]) is your hive, and you can have many hives. There are outputs from the swarm – the honey is your ‘derived value’, be that page views, user eyeballs, sales, engagement whatever – and the wax is your logs and data outputs. Your DevOps team (or ops and dev teams operating in concert) are the beekeepers, occasionally coming in to manage things at scale, but never really worrying too much about the individual bees, who just get on with it, collecting pollen and manufacturing the sweet, sweet honey that funds your paycheque.
Better? I don’t know. Metaphor is kind of a secondary skill for me, somewhere behind PowerShell, CloudFormation and beer. But I think it works pretty well. And I must be right, because I’m from the future. Or something.