At lot of advertising and commentators often say; that when comparing the open source cloud orchestration platforms CloudStack and OpenStack that they’re like chalk and cheese, but have you ever tried writing on a blackboard with cheese?
CloudStack or OpenStack -Which one should you pick
To give my view on the difference I’m going to compare these cloud orchestration platforms to cars.
Some people want to design their car down to the nth degree, they want to buy all of the individual components and they will probably hand make some of them and then assemble them. To those people, OpenStack is a framework which explains how to build some engine types, how to make some particular gearboxes and then how to attach them to each other.
Others want to go out and just buy a pre-built car and be done with it, for them there are the commercial distributions from Citrix, HP, RedHat, Ubuntu etc. Which you can’t really change too much without invalidating your warranty, but you’ll find that there are a number of accessories available designed and validated to work with your make/model.
And in between the two of these there is CloudStack. For people who want the more complex parts (like the engine or gearbox) already built for them, and where the parts have already been checked to ensure that they will fit together. You just have to do the final assembly. You still have the option to make whatever changes that you feel like making if there’s something that you’d like to change. And there’s a community of people happy to give you advice or assistance.
Each option balances purchase cost against engineering effort and flexibility to get a running cloud in different ways. The outcomes vary according to the engineering effort put in from completely unique cloud at the OpenStack end of the scale to quite restricted distributions at the other end, with CloudStack offering a middle ground of a ‘default’ model with the opportunity to reskin or replace elements of that default offering.
So (IMHO) OpenStack offers massive flexibility at the price of great engineering effort (and therefore time) while CloudStack offers a much quicker time to market (or production use) if you stick with the ‘default’ offering while allowing you great flexibility if you want to put a bit more resource into it.
When viewed in this way, there is no way we can consider one inherently better than the other – do you want to draw on a blackboard or make a sandwich?