In the beginning, there was Amazon Web Services (AWS). And AWS set a standard for cloud computing. AWS was fast, flexible, convenient to use and geo-redundant. Definitely much better than legacy IT infrastructure or VMware. A lot of enterprises all over the world started migrating their business applications to AWS.
Over the next few years, Microsoft and Google joined the party with their Azure and Google Cloud Platform (GCP) solutions, and today 99% of cloud workloads run in the three leading public clouds, right?
Well, not exactly …
High costs, security and compliance concerns, and vendor lock-in have deterred several large and mid-size enterprises from fully going public cloud. Some of them have even ended up repatriating their workloads back to an on-prem infrastructure. But does it really mean that they got back to their mainframes, blade servers and all other kinds of legacy “pets”?
Of course not. They went open source and built their own clouds instead!
The use of an open-source cloud
The modern cloud computing landscape is much wider than AWS, Azure and GCP. Sure, these three giants are leading the way, but you must have heard about Oracle Cloud, Alibaba Cloud or OVHcloud too. In fact, hundreds of smaller public cloud providers exist all over the world, delivering cloud services to local markets. A number of them used open source to build those clouds.
On the other side of the house, there is an enterprise sector with many companies running their own data centres. While both Amazon, Microsoft and Google provide public cloud extension capabilities, enabling businesses to build proprietary private clouds on their premises, this approach leads to the same challenges described above. It results in high costs and vendor dependency. For enterprises willing to avoid such issues, open-source cloud platforms proved to be a reasonable alternative.
All of the presented solutions meet on a common ground called hybrid multi-cloud. With the vast majority of organisations using more than one cloud platform at the same time these days, the hybrid multi-cloud architecture simply reflects their daily reality. Open-source cloud platforms fit very well in this broader cloud computing spectrum, providing a cost-effective extension to the hyperscaler infrastructure and helping organisations optimise their infrastructure costs.
Open-source cloud with OpenStack
All right! That all sounds reasonable, but where do I start?
You probably know this feeling very well. You want an app for tracking your fitness activities, you search for an app like that in the Apple Store or Google Store, and suddenly you realise that there are hundreds of fitness tracking apps that are available out there. And you quickly get lost …
This is not much different in the open-source cloud computing space. Over the years, developers worldwide have created several open-source cloud platforms. Each of them had its ups and downs. Some of those projects are still alive. Some are not. While some are available with optional enterprise support, others aren’t. It doesn’t really matter if you’re just willing to learn. But if your open-source cloud is going to power a production environment, you better choose the winning one, right?
OpenStack is the world’s leading open-source cloud platform. It is used by hundreds of local public cloud providers, telcos and thousands of enterprises, with over 25 million cores running in production, according to the OpenStack User Survey 2021. OpenStack has undoubtedly dominated the market and become the de facto standard for open-source cloud infrastructure implementations. Its adoption continues to grow, and its market share is expected to reach $8B in 2023.
How does OpenStack work?
OpenStack was originally launched as an open-source implementation of the AWS Elastic Compute Cloud (EC2) service, and it mostly resembles its behaviour. A lot of typical cloud concepts, such as image catalogue, ephemeral storage or security groups, are present in OpenStack too. As a result, anyone with AWS, Azure or GCP experience can get up to speed with OpenStack relatively quickly.
OpenStack has a modular architecture and consists of several interconnected services. Each service handles some principal cloud functions, such as image catalogue management, instance provisioning or storage snapshotting. This approach makes OpenStack’s code base much more scalable as each module is developed independently by a dedicated team of developers. But this is, again, the nature of open-source software.
OpenStack provides both a web dashboard and a command line interface (CLI). Moreover, each service exposes application programming interfaces (APIs) endpoints. Those are used by other services to communicate with each other. OpenStack APIs can also be used by any third-party software that’s plugged into the OpenStack ecosystem. Examples of such software include cloud management platforms (CMPs), proprietary backup solutions, etc.
Getting started with your open-source cloud
Even though OpenStack is a pretty complex ecosystem, there are tools that tame its complexity, enabling straightforward installation and post-deployment operations.
Refer to the official installation instructions on Ubuntu for the most up-to-date instructions on how to get started with OpenStack today. The website covers several use cases, from single-node installations to large-scale cluster deployments. The most simplistic scenario shouldn’t take longer than 20 minutes!
Another good way to get familiar with OpenStack is to learn it through a series of tutorials. Since getting OpenStack up and running is just the beginning of the journey, these tutorials will walk you through some basic steps, such as how to interact with OpenStack services, how to launch your first instance, etc.
Whether you’re working for a service provider who wants to build its own public cloud or you’re working for an enterprise that is looking for cost optimisation in hybrid multi-cloud environments, OpenStack is your way to go. It’s the best option in the open-source cloud computing market these days. Being 12 years old, OpenStack is stable and mature enough to power large-scale production environments in all market sectors worldwide.
Getting OpenStack up and running on Ubuntu takes less than half an hour. Is there any reason why you couldn’t try it during your lunch break today?
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.