Main menu

Pages

What is Openstack Platform ?

What is Openstack?

OpenStack Platform is a collection of interacting services (components) called projects. Each project offers a service or feature within the cloud, these services responsible for controlling compute, storage, and networking resources.

OpenStack Platform is a Open Source Cloud Computing platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable.

Each OpenStack service contains a functional group of Linux services and other components.

OpenStack is a cloud computing project aimed at providing an infrastructure as a service (IaaS).

Openstack Components:

Openstack Components

OpenStack depends on the underlying Linux on which it runs.

1- Identity Service (Keystone)

The Identity service in OpenStack Platform, also known as Keystone, responsible for authenticates and authorizes users. It keeps track of users, their roles, and the projects to which the users belong. 

In addition, this service produces a catalog of all OpenStack Platform services that rely on it to verify user requests. 

You can configure Keystone to support many back-end data stores, including LDAP.

2- Compute (Nova)

The OpenStack Platform Compute service, also known as Nova, is responsible for the life cycle of running virtual machines, called instances. By coordinating with other services for storage, images, networking, and so on, OpenStack Platform schedules and starts virtual machines. 

Support for various hypervisors is provided through drivers. Examples of hypervisors, the Kernel-based Virtual Machine (KVM) hypervisor, and VMware vSphere.

3- Networking (Neutron)

The Networking service, also known as Neutron, makes networking possible for and between running instances. Within the service is an API for defining, configuring, and using networks. Neutron then relies on a plug-in architecture to build and manage networks. Possibilities include Open vSwitch, which is the default, as well as Cisco, PLUMgrid, VMware NSX, Arista, Mellanox, and Brocade.

4- Volume Service (Cinder)

The Volume service in OpenStack Platform, also known as Cinder, offers block storage capability to running instances. The storage can be persistent, ephemeral, or both. This service relies on a plug-in and driver architecture, with back-end providers such as Ceph Storage, IBM XIV, HP Leftland, and 3PAR.

5- Image Service (Glance)

The Image service, also known as Glance, stores and retrieves disk images and templates. Many image formats, including qcow2, vmdk, ami, and ovf, work in this service. This service also supports numerous back-end image storage options, including Swift and Ceph Storage.

6- Object Store (Swift)

The Object Store service, also known as Swift, stores and retrieves arbitrary unstructured data. Its object-based interface operates through a RESTful HTTP-based API. This service is highly fault-tolerant, with replication, self-healing, and load-balancing features, and it is built to use commodity compute and storage solutions.

7- Dashboard (Horizon)

The Dashboard service, also known as Horizon, is a web-based portal and administration dashboard that works by using other components through API interactions. Using Horizon, you can create instances, configure networks, and attach block storage. Through an administrative extension you can also perform basic administration tasks such as creating users and projects.

8- Orchestration (Heat)

The Orchestration service, known as Heat, is used to build application stacks from various resources. Heat imports stacks defined by a text file written in a descriptive language with provided templates. This service also manages the automated allocation of resources and their dependencies, enabling dynamic scaling of applications according to customizable metrics. Heat is a valuable service for the TripleO and Director deployment tools, which we will discuss later.

9- Telemetry (Ceilometer)

The Telemetry service, also known as Ceilometer, collects metering and monitoring data, mainly for resource chargebacks. This service consumes data from other components through agents. Its architecture is completely extensible: You meter whatever data you desire and expose it through the API.

Ceilometer can work with the Orchestration service and captured metering values to invoke Autoscale processes in the environment.

10- Bare-Metal Provisioning (Ironic)

Bare-Metal Provisioning, also known as Ironic, was branched from Nova’s bare-metal driver and is integrated with OpenStack Platform services such as Identity and Compute. By enabling physical hardware to be provisioned as easily as cloud instances, Ironic makes it possible for system administrators to efficiently manage physical infrastructure as easily as they do cloud infrastructure.

In brief, Ironic is a bare-metal hypervisor API whose plug-ins communicate with bare-metal hypervisors. By default, it switches machines on or off with PXE and IPMI. Ironic supports vendor plug-ins for other useful features.

Ironic works seamlessly, regardless of whether bare-metal machines are required for high-performance clusters, databases, applications, or project segmentation.

How Do  OpenStack Platform Components Work Together?

Horizon can be considered step 0 if a user starts the process from it. 
  1. After a user asks to deploy an instance, a request is sent to Keystone. 
  2. Once Keystone validates the user credentials, Glance provides the right image for provisioning the instance.
  3. That image is loaded into an instance by Nova 
  4. Nova asks Neutron to provide the requested networking.
  5. Nova also asks Cinder to provide any persistent or backup volumes to the instance.
  6. If orchestration is used, Heat performs any needed customization of the instance.
  7. Ceilometer monitors the system components and provides cloud usage data. Depending on configuration, Heat may initiate various operations based on data collected by Ceilometer. The process then loops back to Horizon, where the user interacts with the instance.

reactions