The main objective of OpenStack is to produce ubiquitous opensource cloud computing platform which would meet the needs of public as well as private cloud providers. OpenStack is an open source project which accepts all the hyper-visors as virtualization host, Object storage , Software defined networking , Orchestration and many more.
This particular OpenStack tutorial gives an overview of OpenStack and its various components.
OpenStack has a very modular design, and because of this design, there are lots of moving parts. It’s overwhelming to start walking through installing and using OpenStack without understanding the internal architecture of the components that make up. OpenStack manages a different resource that can be virtualized for the end user. Separating each of the resources that can be virtualized into separate components makes the OpenStack architecture very modular. If a particular service or resource provided by a component is not required, then the component is optional to an OpenStack deployment. Let’s start by outlining some simple categories to group these services into.
Logically, the components of OpenStack can be divided into three groups:
The control tier runs the Application Programming Interfaces (API) services, web interface, database and message bus. The network tier runs network service agents for networking and compute node is the virtualization hypervisor. It has services and agents to handle virtual machines. All of the components use a database and/ or a message buses can be MySQL, MariaDB, or PostagreSQL. The most popular message buses are RagbbitMQ, Qpid, and ActiveMQ. For smaller deployments, the database and messaging services usually run on the control node, but they could have their own nodes if required.
OpenStack Architecture – Conceptual Diagram :
In a simple multi-node deployment, each of these groups is installed onto a separate server. OpenStack could be installed on one node or two nodes, but a good baseline for being able to scale out later is to put each of these groups on their own node. An OpenStack cluster can also scale far beyond these nodes, and we’ll look at scaling beyond this basic deployment in Chapter 11 scaling Horizontally.
The OpenStack project is an open source cloud computing platform for all types of clouds, which aims to be simple to implement, massively scalable, and feature rich. Developers and cloud computing technologists from around the world create the OpenStack project.
OpenStack Architecture – Logical Diagram :
OpenStack provides and Infrastructure-as-a-service (IaaS) solution through a set of interrelated services. Each service offers an Application Programming Interface (API) that facilitates this integration. Depending on your needs, you can install some or all services.
There are plenty of OpenStack services like ceilometer, neutron, swift, nova, glance, cinder. The below table describes the OpenStack services that make up the OpenStack architecture: