OpenStack

 It is a free open standard cloud computing platform that first came into existence on July 21′ 2010. It was a joint project of Rackspace Hosting and NASA to make cloud computing more ubiquitous in nature. It is deployed as Infrastructure-as-a-service(IaaS) in both public and private clouds where virtual resources are made available to the users. The software platform contains interrelated components that control multi-vendor hardware pools of processing, storage, networking resources through a data center. In OpenStack, the tools which are used to build this platform are referred to as “projects”. These projects handle a large number of services including computing, networking, and storage services. Unlike virtualization, in which resources such as RAM, CPU, etc are abstracted from the hardware using hypervisors, OpenStack uses a number of APIs to abstract those resources so that users and the administrators are able to directly interact with the cloud services.

OpenStack components

Apart from various projects which constitute the OpenStack platform, there are nine major services namely Nova, Neutron, Swift, Cinder, Keystone, Horizon, Ceilometer, and Heat. Here is the basic definition of all the components which will give us a basic idea about these components.

  1. Nova (compute service): It manages the compute resources like creating, deleting, and handling the scheduling. It can be seen as a program dedicated to the automation of resources that are responsible for the virtualization of services and high-performance computing.
  2. Neutron (networking service): It is responsible for connecting all the networks across OpenStack. It is an API driven service that manages all networks and IP addresses.
  3. Swift (object storage): It is an object storage service with high fault tolerance capabilities and it used to retrieve unstructured data objects with the help of Restful API. Being a distributed platform, it is also used to provide redundant storage within servers that are clustered together. It is able to successfully manage petabytes of data.
  4. Cinder (block storage): It is responsible for providing persistent block storage that is made accessible using an API (self- service). Consequently, it allows users to define and manage the amount of cloud storage required.
  5. Keystone (identity service provider): It is responsible for all types of authentications and authorizations in the OpenStack services. It is a directory-based service that uses a central repository to map the correct services with the correct user.
  6. Glance (image service provider): It is responsible for registering, storing, and retrieving virtual disk images from the complete network. These images are stored in a wide range of back-end systems.
  7. Horizon (dashboard): It is responsible for providing a web-based interface for OpenStack services. It is used to manage, provision, and monitor cloud resources.
  8. Ceilometer (telemetry): It is responsible for metering and billing of services used. Also, it is used to generate alarms when a certain threshold is exceeded.
  9. Heat (orchestration): It is used for on-demand service provisioning with auto-scaling of cloud resources. It works in coordination with the ceilometer.

These are the services around which this platform revolves around. These services individually handle storage, compute, networking, identity, etc. These services are the base on which the rest of the projects rely on and are able to orchestrate services, allow bare-metal provisioning, handle dashboards, etc.

Features of OpenStack

  • Modular architecture: OpenStack is designed with a modular architecture that enables users to deploy only the components they need. This makes it easier to customize and scale the platform to meet specific business requirements.
  • Multi-tenancy support: OpenStack provides multi-tenancy support, which enables multiple users to access the same cloud infrastructure while maintaining security and isolation between them. This is particularly important for cloud service providers who need to offer services to multiple customers.
  • Open-source software: OpenStack is an open-source software platform that is free to use and modify. This enables users to customize the platform to meet their specific requirements, without the need for expensive proprietary software licenses.
  • Distributed architecture: OpenStack is designed with a distributed architecture that enables users to scale their cloud infrastructure horizontally across multiple physical servers. This makes it easier to handle large workloads and improve system performance.
  • API-driven: OpenStack is API-driven, which means that all components can be accessed and controlled through a set of APIs. This makes it easier to automate and integrate with other tools and services.
  • Comprehensive dashboard: OpenStack provides a comprehensive dashboard that enables users to manage their cloud infrastructure and resources through a user-friendly web interface. This makes it easier to monitor and manage cloud resources without the need for specialized technical skills.
  • Resource pooling: OpenStack enables users to pool computing, storage, and networking resources, which can be dynamically allocated and de-allocated based on demand. This enables users to optimize resource utilization and reduce waste.

Advantages of using OpenStack

  • It boosts rapid provisioning of resources due to which orchestration and scaling up and down of resources becomes easy.
  • Deployment of applications using OpenStack does not consume a large amount of time.
  • Since resources are scalable therefore they are used more wisely and efficiently.
  • The regulatory compliances associated with its usage are manageable.

Disadvantages of using OpenStack

  • OpenStack is not very robust when orchestration is considered.
  • Even today, the APIs provided and supported by OpenStack are not compatible with many of the hybrid cloud providers, thus integrating solutions becomes difficult.
  • Like all cloud service providers OpenStack services also come with the risk of security breaches.

OpenStack on AWS

Comments

Popular posts from this blog

Terraform

Scrum Master Interview help - Bootcamp

Kubernetes