OpenStack vs AWS is a discussion that almost every organisation must conduct when adopting a cloud strategy. This is because OpenStack and AWS are undoubtedly some of the most popular cloud technologies in both public and private cloud space. While AWS is the most popular commercial cloud platform, OpenStack remains its most popular open source equivalent. Both have their own pros and cons.
But which one is better for you? Or even more importantly, can you use both to reap their benefits at no extra cost? In the following blog post, we will try to answer these questions. But first, let’s start with exploring the differences between OpenStack and AWS.
What is the difference between OpenStack and AWS?
The OpenStack project originally started as an open source implementation of the AWS EC2 service. Over time, it has evolved into a standalone platform, driven by the community as well as its commercial adopters. As a result, the two platforms differ somewhat in their architecture, the features included and the use cases for which they were designed.
What is AWS?
Founded in 2006, AWS is the most mature commercial public cloud platform. It provides access to highly scalable compute, network and storage resources through a company website and charges for their consumption based on a pay-as-you-go billing method. By entering the cloud market as the first and ensuring simplicity of the service, AWS has gained thousands of customers over the years and continues to occupy an unwavering position in the cloud platform popularity ranking. AWS was initially started as a public cloud platform only, but Amazon later extended their offering towards private clouds with the AWS Outposts service.
What is OpenStack?
Contrary to AWS, OpenStack is an open source cloud platform. It was designed to manage distributed compute, network and storage resources in the data centre and enable on-demand resource provisioning capabilities, providing a similar experience to AWS. OpenStack allows for bare metal, virtual machine, container and serverless workloads provisioning. Furthermore, it is the foundation for private cloud, public cloud and telco network function virtualisation infrastructure (NFVI) implementation. It is the most popular open source cloud platform, with ~25M of cores running in production, a market size of ~$5.6B and thousands of commercial adopters all over the world.
When to use OpenStack vs AWS?
Since it sounds like there is no significant difference in the way AWS and OpenStack work and what value they bring, you might be wondering now where this whole dilemma around OpenStack vs. AWS comes from. Is it just because AWS is proprietary and OpenStack is open source? Well, not really. The main difference is in the cost model. But this is more complex than one being cheaper and the other one being more expensive. Let’s explore in detail.
Understanding OpenStack vs AWS differences
In principle, the main difference between AWS and OpenStack is that the former already exists, while the latter one you have to build yourself. Since building cloud infrastructure from scratch entails significant upfront investments (setting up a data centre, hardware purchase, cloud deployment consulting fee, etc.), AWS is usually a more compelling option at the beginning of the cloud migration journey. At the end of the day, all you need to do is to create an account on AWS and attach a credit card, and you can start using cloud resources right away. AWS will charge you based on the actual resource consumption.
On the other hand, those costs can quickly become significant as the number of workloads continues to increase. Over time, it may turn out that the aggregated recurring cost of using AWS will exceed the cost of OpenStack deployment. Of course, running cloud infrastructure on-premises also comes with some recurring costs (hosting facilities, power consumption, staff salary, etc.), but these are lower when running workloads in the long-term and at scale, according to Canonical’s Cloud Pricing Report from 2021.
Combine and conquer!
So which one is better for you? Well, you’ve probably got it already: it depends on your use case. If you need immediate access to cloud resources with no upfront costs, use AWS and enjoy their pay-as-you-go billing approach. In turn, if you are looking for a dedicated cloud infrastructure for years and you can afford to build one on-prem, use OpenStack. As simple as that.
Interestingly, you can also use both at the same time in a hybrid/multi-cloud architecture. This approach enables you to optimise infrastructure costs even further. You can start small with AWS and build a cost-effective private cloud platform based on OpenStack once the demand for resources increases. You can then move the majority of your workloads there, benefitting from cost reduction, while still using highly scalable AWS resources during heavy load periods and for periodic compute-intensive operations execution. Divide and conquer? Not this time. Combine and conquer!
Move to hybrid/multi-cloud incrementally
The biggest advantage of OpenStack and AWS is that they both enable incremental adoption of the hybrid/multi-cloud strategy at no extra cost. Take the following baby steps before first before you overinvest:
- Read the whitepaper about hybrid/multi-cloud to learn more about the rationale behind the hybrid/multi-cloud strategy and the migration path.
- Get started with OpenStack small. There is always time to scale it out later on. You can get started with OpenStack on Ubuntu on a single machine in ~20 minutes.
- Get in touch with Canonical for more information about consulting, support and fully managed services for OpenStack.
There is no one size fits all cloud architecture.
Developing the optimum cloud strategy requires evaluating your business needs and aligning them with the different solutions available.