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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Horizon (dashboard): It is responsible for providing
a web-based interface for OpenStack services. It is used to manage,
provision, and monitor cloud resources.
- 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.
- 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.
No comments:
Post a Comment