The one about pets
Most of our startups have tech background and when we are considering a new investment, my time comes and we chat with the CTO of the object of our interest about IT. I am trying to get a feel if the company can scale – both the team and technology.
Everyone already learned to say they “run in the cloud”, even if it means just that they rent some virtual servers with their provider. If you are not in the cloud, it’s like you don’t exist at all, so that’s not useful. But I have one heuristic, which tells me a bit about your infrastructure maturity. I want to know, what are the names of your servers.
If your servers are called “smurfette”, “voldemort” or “spock”, not only does it tell me what your favourite shows or movies are, but also that you treat your servers like pets. One of the main characteristics of a pet is, that you are really sad when they die. This is in contrast with cattle, where their demise is actually expected.
What does that have to do with IT maturity? It’s a well established fact, that the only way to efficient and reliable infrastructure is thru automation. The result of work of a modern admin is not a configured server, but the scripts that allow the server to configure itself. In that case, you don’t mind if you are installing one server or a hundred, it’s scales. You don’t mind if one of your servers dies. You bring up a new one in a matter of minutes, ideally automatically. Some go even further and periodically destroy and recreate the servers, to ensure 100% consistency. The servers are not pets anymore, they are cattle. You don’t name cattle, you assign it numbers, maybe. So I like it more if your server is named rather unpoetically “ec2-54-215-47-44.us-west-1”.
It will be much easier to onboard a new engineer, because she will not have to ask around what is installed where. She will not have to wade thru obsolete documentation, last updated previous winter, but she can read the code and be sure that’s what is installed.
And do you know what impresses me even more? If you don’t have (almost) any servers at all and you are utilizing the full spectrum of services offered by major cloud providers. It may be a bit more expensive, but you are buying amazing flexibility. It is enough to watch for resources consumed needlessly. You will have time to cost-optimize your infrastructure later, when you have the scale. But first you need to get there and for that you need to be faster than your competition.
More articles on