Over the past few years, organizations looking to build private clouds have gained some interesting new options in the form of Azure Stack and AWS Outposts. At the same time, OpenStack remains an important contender in the private cloud ecosystem.
Understanding the strengths and weaknesses of these three platforms is critical for deciding which solution offers the best foundation for building a private cloud today. In this post, we take a look at the similarities and differences between Azure Stack, AWS Outposts and OpenStack, and highlight the standout features (and drawbacks) of each offering.
What Azure Stack, AWS Outposts and OpenStack Have In Common
At a high level, Azure Stack, AWS Outposts and OpenStack all offer the same core functionality: They let you take disparate infrastructure – including public cloud infrastructure, private data centers or a mix of the two – and build a private cloud. (Azure Stack and AWS Outposts also support hybrid cloud models, which vanilla upstream OpenStack is not designed to do.)
In terms of the specific types of cloud services they support, Azure Stack, AWS Outposts and OpenStack are also broadly similar. They can be used to set up the most common types of IaaS services – primarily virtual machines, data storage, serverless functions and containers. Some other types of services, such as data analytics and databases-as-a-service, can be deployed on private clouds created with these platforms as well, although some platforms offer support for more services than others (OpenStack features the most, and Outposts the fewest).
Key Differences Between Azure Stack, AWS Outposts and OpenStack
By and large, however, the similarities between these three private cloud platforms end there. In most respects, although Azure Stack, AWS Outposts and OpenStack can all be used to build private clouds, there are crucial differences in the way they operate.
One key difference lies in the way that each framework actually builds out a private cloud.
AWS Outposts and Azure Stack are similar in that they essentially take public cloud computing services and extend them into on-premises data centers. Thus, using these frameworks, you can run the same services as you would in the public cloud – like AWS EC2 instances, or Azure Virtual Machines – on on-premises hardware. You can also use the same monitoring and management tools that you would in the public cloud.
OpenStack is different in that it is not tied to any particular public cloud platform. Instead, it allows users to deploy their own cloud services using OpenStack components (which provide the core infrastructure functionality for an OpenStack private cloud) and modules (which offer additional functionality that can be added onto an OpenStack cloud).
Another obvious difference is cost. As an open source platform, OpenStack is free to download and use in its core form. You may pay money if you choose to deploy OpenStack using a commercial distribution or use a managed solution (such as Platform9 Managed OpenStack), but overall, your licensing costs will likely be relatively low compared to the costs of Azure Stack and AWS Outposts.
Azure Stack and AWS Outposts charge fees based on the cloud services consumed. Generally, these fees are lower than what you would pay to consume the same type of service in the public cloud (which makes sense, because with a solution like Azure Stack and AWS Outposts, you are paying for your own infrastructure). But they are coupled with all the usual fees that come with the public cloud: Data egress, software licensing costs (if you run workloads like virtual servers that require an operating system license), and so on.
Thus, there are a lot of fees associated with Azure Stack and AWS Outposts, and when you add in your hardware costs, the total cost of ownership to build a private cloud with one of these solutions is likely to be higher than it would be with OpenStack.
Speaking of hardware, a critical difference between OpenStack on the one hand, and AWS Outposts and Azure Stack on the other, is that only OpenStack can be deployed on virtually any type of modern hardware.
Azure Stack requires users to purchase hardware that is certified for the platform if they want to use it to host Azure Stack services on-premises, and AWS Outposts requires that you buy hardware directly from AWS.
Thus, OpenStack makes it much easier to build a private cloud with the infrastructure you already have, and to integrate other infrastructure into it on an ongoing basis. Azure Stack and AWS Outposts are much more restrictive in this sense.
Since OpenStack is an open source project, it doesn’t come with official support or management services from the developers. If you want management solutions, you must find a third-party provider who specializes in OpenStack (such as Platform9). Arguably, the fact that many organizations try to take a DIY approach to OpenStack and end up getting lost in the chaos of its open source ecosystem is part of the reason why OpenStack has not become a bigger deal despite having been around now for a decade; although perhaps that will change as more organizations take advantage of OpenStack management services that make it easier to get past the day-two challenges the platform poses.
Azure Stack and AWS Outposts, meanwhile, offer a greater degree of built-in management. Although Azure Stack essentially requires users to manage their infrastructure themselves, professional support from Microsoft is available as part of the core platform offering. AWS Outposts goes further in that it is a fully-managed – you might even say “white glove” – service, with hands-on support from AWS at every step of the way. (Of course, this level of service is reflected in AWS Outposts pricing and the hardware compatibility restrictions that come with it.)
Lock-in and multi-cloud support
A final key difference (and hopefully an obvious one, although it can be easy to miss if you’re new to these platforms) is that Azure Stack and AWS Outposts are very much tied to their respective vendors’ public cloud platforms. You can’t use Azure Stack to manage workloads hosted on public clouds other than Azure. Nor can AWS Outposts do anything to help you run or manage workloads outside of AWS.
In this sense, these platforms come with considerable lock-in restrictions. They also offer nothing in the way of multi-cloud support (unless you consider having one public cloud and one on-premise infrastructure to be a form of multi-cloud).
OpenStack is more flexible. It is compatible with virtually any type of on-premises infrastructure that you own now or may acquire in the future.
|Azure Stack||AWS Outposts||OpenStack|
|Cloud services supported||Compute, storage, containers, databases, IoT, data analytics, KMS||Compute, storage, containers, databases||Compute, storage, containers, databases, serverless, data analytics, KMS, CI/CD|
|Hardware compatibility||Available from different vendors, but must be Azure Stack-certified||Must be purchased directly from AWS||Runs on any modern on-prem hardware|
|Fees||Fees charged based on cloud services consumed|
Additional fees for data egress, software licenses, etc.
|Fees charged based on cloud services consumed|
Additional fees for data egress, software licenses, etc
|No fee for OpenStack itself|
May pay licensing fees for a commercial OpenStack distribution or managed service
|Management services||Professional-level support||Fully managed||Open source platform itself offers no management or support|
Management services available from third-party vendors, such as Platform9
You could sum it up this way: While OpenStack, Azure Stack and AWS Outposts can all be used to build private clouds, OpenStack is more flexible in terms of the services it supports, the hardware it is compatible with and the types of cloud architectures it supports. On the other hand, Azure Stack and AWS Outposts come with a higher degree of built-in support services, and may therefore pose fewer day-two challenges for the typical organization.
Overall, OpenStack’s greater flexibility means that it is likely to remain the gold-standard of private clouds for the foreseeable future. Although OpenStack (which debuted in 2010) at this point may seem a little dated (compared to Azure Stack and AWS Outposts debuts in 2017 and 2019, respectively), it offers critical features that newer hybrid/private cloud frameworks lack. It’s a safe bet that OpenStack will continue going strong even in the face of the competition that Azure Stack and AWS Outposts have introduced.
- Multi-Cluster Kubernetes Deployments – When and Why? - March 18, 2021
- Kubernetes on Bare Metal: Why and How - March 18, 2021
- Networking and Kubernetes in the World of 5G Edge [Webinar 3 Recap] - November 11, 2020