As expected, a simple definition should answer this question, but most times, definitions seem to be another level of abstraction away from the reality of what is defined. Anyway, a definition is still needed, even if the definition will need an explanation.
According to Ubuntu:
“OpenStack is an open-source cloud platform that manages distributed compute, network and storage resources, aggregates them into pools, and allows on-demand provisioning of virtual resources through a self-service portal.”
While this definition will seem straightforward to a person with some experience in cloud computing, it will offer little to no help to a newbie to cloud computing.
What is Cloud Computing?
Starting from the basics, we need to understand what Cloud Computing is.
According to the National Institute Of Standards and Technology:
“Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”
In simple terms:
“Cloud computing is the on-demand delivery of IT resources over the Internet with minimal management effort.”
With this definition, it becomes clear that cloud computing is not anything close to magic but just the movement of the management and provision of your infrastructure to a more optimized model.
What was before cloud computing?
Before cloud computing, If a company or an organization needs infrastructure, they buy the server, network cables, storage devices, etc., and set everything up manually in their environment or make use of co-location. There are a couple of problems with this model. Some of them are:
- Upfront cost.
- Time to set up.
With these challenges, a new model has to be introduced to solve these problems. With cloud computing, these problems are solved.
Upfront cost: As cloud computing is a pay-as-you-go model, you will not need an upfront cost because you only pay for what you use and not more. If you need more resources, you pay more.
Time to set up: The time to set up is almost negligible because this has been carried out for you, and all you need are commands to spin up the resources.
These are just some of the problems that cloud computing has solved.
Cloud computing platform
There are a couple of cloud computing platforms such as:
- AWS (Amazon Web Services)
- GCP(Google Cloud Platform)
- Microsoft Azure
- Redhat OpenStack (RHOS)
- Digital Ocean
These platforms provide the service of cloud computing, and AWS is the most popular of them all.
Cloud computing services (components)
Each of the previously mentioned cloud computing platforms has services they offer to their customers, such as compute resources, storage, networking services, etc. Some of these platforms have their own custom services built in, e.g., AWS, while others make use of services from OpenStack, e.g., OpenMetal.
Let’s take a look at some common services from OpenStack and some of its equivalents from AWS (the most popular of all proprietary cloud computing platforms):
- Nova (compute service) can be compared to Amazon EC2.
- Swift (object storage) can be compared to Amazon S3.
- Cinder (block storage) can be compared to Amazon EBS.
- Manilla (file storage) can be compared to Amazon EFS.
- Heat can be compared to Amazon CloudFormation.
- Keystone (identity service) can be compared to Amazon IAM.
- Glance (image service) can be compared to Amazon AMI.
- Horizon (dashboard) can be compared to Amazon Management Console.
The OpenStack Landscape
The most unique thing about OpenStack is that it is open-sourced, transparent and community-driven. OpenStack is not owned by a single company but is contributed to by engineers from various companies and individual contributors.
Lastly, from this section, think about it like this:
“OpenStack is to all other cloud computing services what the Linux Kernel is to all other operating system kernels.”
Not knowing how to perfectly end this masterpiece 😂, all that comes to mind is that if you feel you find OpenStack interesting, check out the resources section below, and perhaps your enthusiasm leads you to become a contributor.
TL: DR ( In summary), when you are asked what is OpenStack, you can simply say “OpenStack is an open-sourced set of components(services) for building and managing cloud computing platforms.” Think about it like this: “OpenStack is to all other cloud computing services as the Linux Kernel is to all other operating system kernels.”
- What is OpenStack by Ubuntu?
- OpenStack Basics By Ben Silverman
- What is OpenStack by opensource.com?
- What is OpenStack by OpenStack?
- How to contribute to OpenStack
- Cloud Computing by the National Institute of Standards and Technology
- How to Join an OpenStack-Related IRC Channel: A Step by Step Guide - August 18, 2023
- What is OpenStack? A Fresh Look From a Clear Mind - July 13, 2023