Tags: howto,cloudstack
Date: 20251031
A probably regularly changing list of items that I consider "best practices" when deploying and working with CloudStack. Probably opinionated, so take with a grain of salt.
DOs:
1 - Do thorough research on CloudStack to see if it's what you need, perhaps you just need 1-2 hypervisors without any abstraction layers. 2 - CloudStack is complex, make sure you have trained staff to do the installation and then run it. You'll need people comfortable with hardware, Linux, DNS, backups, monitoring, automation etc etc. 3 - When planning & deploying, Keep It Simple! There's a fine line between "simple" and "insufficient", so there's a balance to be reached. 4 - Make sure you have good monitoring and graphs for all your stack, going from the hardware up, including network and storage. This will prove very valuable in debugging problems and avoiding downtime. 5 - Try to use redundancy wherever you can: network bonds, RAID etc. 6 - Backups are sacred! Take regular backups of everything you can, particularly before doing any significant maintainance operation and so on. At the very least take storage snapshots and dumps of your DBs. 7 - Stick to the beaten track in terms of network and particularly storage. I.e. use VLANs, stick to NFS etc. 8 - If you must stray away from mature solutions like NFS or local storage, make sure your managed storage provider pay proper attention to CloudStack development cycle, are clued on the project and do regular proper testing for every release. 9 - CloudStack has a strong community, use it, get involved, it could mean free and experienced support!
DONTs:
1 - Don't ignore the DOs above! 2 - Do not overthink or overengineer, it's highly unlikely you'll need that and it causes more headaches and downtime than it solves. 3 - Do not turn on all the bells and whistles that you find, stick to a minimal feature-set and test it thoroughly. 4 - Don't mix hypervisors, it introduces complexity! Sometimes you can't help it, but if you can, then it's for the best.