3 min read

Building an OpenStack Cluster For Your Home Lab | Part 2: OpenStack Introduction

Building an OpenStack Cluster For Your Home Lab | Part 2: OpenStack Introduction
Image credits: https://curiousmatrix.com/10-oldest-artifacts-ever-discovered-in-the-world/

As the second part of this multi-part series, I wanted to provide you, the reader with a proper introduction to OpenStack Ecosystem introduction, history, as well as challenges since the inception of the OpenStack ecosystem.

OpenStack is a project of the OpenInfra Foundation, and is defined as it follows according to the latest information in the OpenStack website:

💡
OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed and provisioned through APIs with common authentication mechanisms.OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed and provisioned through APIs with common authentication mechanisms.

A dashboard is also available, giving administrators control while empowering their users to provision resources through a web interface.

Beyond standard infrastructure-as-a-service functionality, additional components provide orchestration, fault management and service management amongst other services to ensure high availability of user applications.

However before OpenStack became one of the worlds largest Open Source projects in the world, it started with a very interesting story, at least interesting to me since I was employed during the inception of OpenStack at one the organizations who was partly responsible for launching the project: Rackspace Hosting also known these days as Rackspace Technology, although I was not involved with OpenStack until much later in 2014.

OpenStack was created in early 2010 as Rackspace wanted to rewrite the code used to provide infrastructure services for its Cloud servers offering, at the same time, a NASA contractor named Anso Labs had published beta code for Nova, a python-based "cloud computing fabric controller". Between both of these efforts, a base for OpenStack was created with the first design summit being held in Austin, TX with the project being officially announced at OSCON in Portland, OR on July 2010.

Since its inception, OpenStack has gone through periods of mass adoption, in the sense where there was much enthusiasm from many enterprise vendors all creating their own opinionated methods of deploying the OpenStack components. Through the years, many of these OpenStack vendors have since consolidated into a smaller of OpenStack vendors or OpenStack distributions each providing their own opinionated deployment, maintenance, and upgrade methodologies and support which aims to bring the operator an easier to digest OpenStack experience. The same occurred with the sub-projects under the OpenStack umbrella. Given OpenStacks native, API driven architecture, there was much ambition to incorporate anything-as-as-service which resulted in the OpenStack ecosystem to become crowded and complex requiring the users to become heavily invested at times looking deep into the code (mostly Python) to understand why X functionality was not working as expected. This brought frustration to many prospect users/operators which resulted in yet more OpenStack detractors, but as the years have gone by, there has been much consolidation of the number of OpenStack sub-projects which has allowed the community to place focus in improving the projects which are heavily utilized and are considered core projects for OpenStack.

Despite these challenges in growth and maturity of OpenStack, in 2024, OpenStack is used by a vast number of institution throughout the world, ranging from public cloud operators, to private cloud infrastructure operators, to telco service providers. Based on the 2023 OpenStack User Survey, this was the distribution of IT services where OpenStack is being used:

Source: https://www.openstack.org/analytics/


Despite the proliferation of public and private cloud providers available which nearly all of them employ a mix of closed and open sourced software, there is not an open source ecosystem out there that delivers the features, capabilities, and scalability that OpenStack provides as of today.

However, I must say, that with any software with near-infinite configuration options, it does have a learning curve associated which I intend in future posts to help you simplify in your understanding of OpenStack and its core components so that you can be successful in your OpenStack learning journey, regardless of the OpenStack distribution, and or deployment methodology you are planning to implement.

I hope that this was informative to you and keep an eye for the next post in this mini-series as we work through the journey of deploying our first OpenStack cluster in our home labs.


Update as of 10/4/2024: While I have been intending to continuing these series, unfortunately my day job and family life has kept me busy enough where creating content has been a challenge.

With that in mind, this is a good opportunity to re-organize and focus on what I wanted to bring to myself primarily with this blog which is a point of reference for useful insights and learning experiences in the private or hybrid cloud infrastructure and computing space including all currently relevant technology stack which I work with or have interest, all in a shorter , easy to digest format.