Let’s first discuss what is an OpenStack?
In simple words, we can say that an OpenStack is a software platform which is free and open source generally used for cloud computing and mostly installed as an IaaS service i.e. Configuration-as-a-Service, due to which some other resources and virtual servers are made available to the clients.
This software platform is composed of associated components which manage multiple mixed vendor hardware pools of the processing; networking resources and storage all round a data center. Users can manage this software platform either using a web-based dashboard or using command line tools or using RESTful web services.
RESTful Web Services: –
These services are developed for working on the web in the best possible way. It stands for Representational State Transfer (REST). It is also a configurational style which describes some prerequisites like uniform interface which is applied to a web service adds required properties like performance, versatility, and flexibility which allows services to work in a best possible way on the web.
OpenStack started in 2010 as a collective plan of Rackspace Hosting and NASA. Since 2016 it is being managed by an OpenStack Foundation which is a non-profit corporate body founded in September 2012 for promoting OpenStack software and its related community. There are more than around 500 companies which have joined this project.
History of OpenStack:
First start with Nebula platform of NASA:
OpenStack which is open source cloud computing software was launched jointly by the Rackspace Hosting and NASA in July 2010. Their aim was “to develop a universal open source cloud computing platform which will fulfill the requirements of the people and also requirements of the private clouds irrespective of size, thus being simple for utilization and largely versatile.
The OpenStack project was planned to help all the organizations which offer cloud computing services which are carried on standard hardware. Their first official announcement was a code-named “Austin” which came around three months later i.e. on 21st Oct. 2010 with plans to regularly announce the updates of this software after every few months.
The first code came from Nebula platform of NASA and also from the Rackspace’ Cloud Files Platform. The NASA Ames Web Manager has developed the earliest cloud architecture the Megan A. Eskey and it was a 2009 open source configuration which was called OpenNASA v2.0. Then they merged the Cloud Stack and Open Stack components and released them as an open source by the Nebula team of NASA in a gala with Rackspace Hosting.
In the year 2011, the OpenStack was adopted by the developers of the Ubuntu Linux distribution, using an unsupportive technology screening of the OpenStack “Bexar” announced for the Ubuntu 11.04 called “Natty Narwhal”. The sponsor of Ubuntu’ i.e. Canonical then offered full support to the OpenStack clouds, at the time when the OpenStack’ Cactus was released.
Then since the release of the OpenStack’ “Cactus” in 2011, OpenStack became available in Debian Sid and the Debian 7.0 was the first release of Debian containing OpenStack, the code name used was “Wheezy” also containing OpenStack 2012.1 where the code name was: “Essex”.
The first preview for the public regarding the industry’ fully configured OpenStack was powered appliance which was based on the “Diablo” was announced by SUSE in Oct. 2011. Then again in Aug. 2012 SUSE announced their commercially supported enterprise OpenStack distribution which was based on “Essex” release.
Then in Nov. 2012 UK’s Government Digital Service i.e. GDS was introduced inside the government which was based on OpenNASA v2.0 Government as a GaaP platform model.
In 2012, Red Hat declared a screening of OpenStack distribution by releasing “Essex” and when they released one more screening, they started giving commercial support to OpenStack along with the release of “Grizzly” in July 2013.
Now the OpenStack organization is progressing quickly and it is being supported by more than around 540 companies.
In 2012, NASA separated from the OpenStack as an active participant and decided to use Amazon Web Services for their cloud based operations. NASA then issued an internal audit specifying the absence of technical progress and some other factors as the main reason for withdrawal as an active participant in the development of the project and started to concentrate on usage of public clouds. This audit was then denied by remarks given by Ames Research Center CIO, Ray Obrien.
Now in Dec. 2013, Oracle declared that they have now joined with OpenStack as a contributor and also decided to take OpenStack into Oracle Solaris, Oracle Linux and many such other products. It was then followed up by declaring Oracle OpenStack distribution for Oracle Solaris and also for Oracle Linux they used Icehouse on 24th Sept. 2014.
Then HP also declared HO Helion and issued a screening of HP Helion OpenStack community, starting with the release of the Icehouse. Since 2012, HP has worked on HP Helion Public cloud present on OpenStack.
Then a software-defined networking was shown by Avaya with the help of Shortest path bridging and OpenStack which was used as self operating grounds. This extended the automation from the data centers till the last device, eliminating physical resourcing from the service delivered.
Since March 2015, NASA still takes help of OpenStack private cloud and they have sent out RFPs for supporting the OpenStack public cloud.
Development of OpenStack:
The community of OpenStack unites in around six months, release cycle is time based with periodic development achievements.
At the time of planning phase of each distribution, their community comes together for attending OpenStack Design Summit to make it easy for the developers which are working on the project and also to make it easy to combine the plans. These Design Summits occur together with the OpenStack Summit Conference.
Now, this Design Summit has been split up into different Project Teams Gathering (PTG) occasion. This decision was taken for avoiding the developers from getting distracted due to presentations and also due to customer meetings which used to happen at the OpenStack meet up and also to authorize the design discussions to be happened before the beginning of the next cycle.
OpenStack Components: –
As mentioned earlier OpenStack has a customizable architecture with different code names used for its components:
We will be discussing these OpenStack components through a series of blogs. Today we will be discussing only 2 components:
- Compute (Nova)
- Networking (Neutron)
Let’s discuss them in brief:
- Compute (Nova):-
The Compute (Nova) component of OpenStack is a web controller for the cloud computing and it is also the heart of IaaS system. This component was developed for managing and automating the incorporated computer resources and also to work with extensively available virtualization techniques at the same time High-Performance Configurations (HPC), KVM, VMware, and Xen are also offered choices for virtual machine monitoring, along with Hyper-V and Linux container technology like LXC.
Compute (Nova) is written in Python and it also takes helps of various external libraries like Evenlet especially for contemporary programming, Kombu especially for AMQP communication and SQLAlchemy specially for accessing the database.
Its structure is designed in such a way that it scales up horizontally on hardware which is standard and with not proprietor hardware or also software needs and allows the capability to merge with the traditional systems and with the intermediator technologies.
Because of its widespread presence in enterprise level configurations, scanning OpenStack performance, and performance of Nova especially. Scaling up is the most important concern. Scanning back-to-back performance needs tracking benchmarks for Nova, Keystone, Neutron, Cinder, and some other services, plus for scanning RabbitMQ that is used by OpenStack services for transferring the message. All of these services create their log files on their own which specifically in enterprise level configurations are also scanned.
2. Networking (Neutron)
The Networking (Neuron) component of OpenStack is a system which manages networks and also the IP addresses. This OpenStack Networking guarantees that the network is not a blockage or any restricting factor in the installation of cloud and it also gives user’s self-serving capability that too on the network configurations.
This OpenStack Networking supplies networking models for various applications or for various user groups. The standard models contain flat networks or VLANs which differentiates servers and traffic. As mentioned earlier the OpenStack Networking controls IP addresses, used for dedicated static IP addresses or for DHCP. Floating IP addresses makes the traffic rerouted dynamically to any resource in the IT configuration, thus users can redirect the traffic at the time of maintenance or in the situation crisis.
It is possible for users to create their own networks, manage their traffic and connect the servers and devices to only one network or more than one network. Administrators can also use Software Defined Networking (SDN) techniques such as OpenFlow for supporting a high level of multitasks and huge scaling.
OpenStack Networking offers an extension framework which can install and control some additional network services like Intrusion Detection Systems (IDS), balancing the load, firewalls, and VPN i.e. Virtual Private Networks.
That’s all for today! I hope you find this blog informative. If yes then please leave your comment in the comment section below.