Over the past few months, my team has compiled an extensive look at the costs of acquiring and running an OpenStack based private cloud. If you want to make good financial decisions around your private cloud (any private cloud, not just OpenStack), you need to start with a holistic view of your costs. If you can improve your financial decisions, you free more resources to invest in any of the big-ticket items on your strategic to do-list. Unfortunately, it’s a very challenging task due to the complexity of the financial model you have to develop and the hidden costs you have to consider. This is why a lot of TCO analyses end up being unreliable.
In our specific case, we included the cost of not only the technology and people to build and run your cloud, but also the cost of the people affected by your technology. We had to include the costs of the sysadmins running the VMs and applications on the cloud, as well as the team building and running it.
We performed a TCO analysis to understand what steps businesses can take to reduce the cost of their OpenStack cloud. We found that people costs (salaries, training, etc.), are the single largest cost group in a typical private cloud implementation. And, as a cloud grows, the number of sysadmins needed to run your VMs and applications quickly outnumbers the team building and running the cloud. To reduce the sysadmins’ workload and thus the need to rapidly hire more of them as the cloud grows, a good cloud implementation looks to self-service portals, eliminating high-touch for repetitive tasks, and reducing the effort to deploy and manage complex environments. In one word: automation.
You should keep track of your hardware costs, but don’t put much effort into it until you have the rest under solid control.
When a restaurant has the lucky problem of becoming popular and overwhelmed by customers, they need to make some upgrades to keep up with the demand. They can choose to hire more people to stir the soup and clean the dishes, or they can invest in additional appliances that take care of low level tasks, such cutting vegetables or kneading the dough. Removing these tasks makes the preparation of every dish simpler, and the chef and kitchen staff can prepare more meals without additional help, leaving them time to care for the details that make the meals special. While you can make a soufflé completely by hand, if you’re making a lot of them, equipment such as mixers and flour sifters, can make each preparation simpler and free your time to begin preparing the next dish.
Your time is important because there is little to no economy of scale in hiring people. You may get better recruiter rates if you hire a lot of people, or be able negotiate bulk training rates, but these costs are small compared to salary and benefits. While there isn’t an economy of scale to speak of on the cost side, you can create one on the output side. Taking a holistic view of your costs, you will be able to see the benefit of automation – more VMs and applications managed per sysadmin. The potential savings through automation, even after including the cost of extra software, is tremendous. When your cloud doubles next year, you won’t need to double the team.
With people and software accounted for, we also looked at the possible impact of VM density on the total costs. Surprisingly, even halving hardware spend was significantly smaller than the impact of either the people or software on the total costs. You should keep track of your hardware costs, but don’t put much effort into it until you have the rest under solid control.
When we looked across these costs, the model also showed us that how you look at costs is important to your decision making. If you want to identify economies of scale, you can’t look at total costs alone. Measure and track your costs on a per-VM basis, and costs year-by-year (or Q-by-Q). Total costs hide cost improvements when use increases, whereas per-VM shows improvements and economies of scale as they develop over time and increasing usage. If your per-VM costs continue to drop over time, there is a good chance you’ve been successful making your cloud easier, and consequently, cheaper.
We already know that if we want a restaurant to be economically successful, we need a great bunch of people in an efficient kitchen. But, those great people only have so much time to prepare a meal. Measure the costs of the dish over time, and continually make it easier to prepare with the right set of tools. When you make it easier to prepare, you’ll find you spend less time preparing it. Make it easier, and you’ll make it cheaper.