My company is a consultancy service and we design, deploy, and support Apache CloudStack for companies worldwide. CloudStack is generally used as a cloud management solution for public clouds, where it is used as a type of bridge for telecom companies and cloud service providers. This is the most common use case around the world, but we also see a lot of use cases for universities as well private cloud environments that are situated on-premises.
Our typical process when using CloudStack starts with designing the cloud, which includes the infrastructure and everything that the customer needs to provide such as the servers, networking, and storage. Once the design is completed, our team then deploys and installs CloudStack, after which we handle the support and training of the customer's employees.
CloudStack is suitable for companies of all sizes, ranging across small, medium, and large. Some companies use it globally, whereas others may use it with a local cloud provider.
Compared to other open source technology, CloudStack is very easy to deploy and use day-to-day. Because it's so simple, it's oftentimes cheaper to maintain than its competitors. Not only that, but it's also fast and extremely stable.
For example, if you wanted to use OpenStack, you would likely need to get one of the big companies like Red Hat or Canonical to help you implement it, whereas with CloudStack, the packages are provided direct from the community.