You are on page 1of 11

Open source cloud Implementation and

Architecture
Unit 4
Contents
• Introduction to openstack
• Components of openstack
• Openstack architecture
• Features of openstack
• Mode of operations, installation and configuration
Introduction to 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.
• 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.
Introduction to Openstack

• OpenStack is a cloud OS that is used to control the large pools of computing,


storage, and networking resources within a data center.
• Open Stack is open-source and free software. This is basically used for cloud
computing and deployed as an IaaS.
• We can call the OpenStack a software platform that uses pooled virtual resources
to create and manage private and public cloud.
• OpenStack offers many cloud-related services (such as networking, storage,
image services, identity, etc.) by default.
• This can be handled by users through a web-based dashboard, a RESTful API, or
command-line tools.
• OpenStack manages a lot of virtual machines; this permits the usage of physical
resources to be reduced.
Components of Openstack
• Compute (Nova): Compute is a controller that is used to manage resources in
virtualized environments. It handles several virtual machines and other instances
that perform computing tasks. Users get access to resources through API.
• Object Storage (Swift): To store and retrieve arbitrary data in the cloud, object
storage is used. In Swift, it is possible to store the files, objects, backups, images,
videos, virtual machines, and other unstructured data. Developers may use a
special identifier for referring the file and objects in place of the path, which
directly points to a file and allows the OpenStack to manage where to store the
files.
• Block Storage (Cinder): This works in the traditional way of attaching and
detaching an external hard drive to the OS for its local use. Cinder manages to
add, remove, create new disk space in the server. This component provides the
virtual storage for the virtual machines in the system.
• Networking (Neutron): This component is used for networking in OpenStack. Neutron
manages all the network-related queries, such as IP address management, routers, subnets,
firewalls, VPNs, etc. It confirms that all the other components are well connected with the
OpenStack.
• Dashboard (Horizon): This is the first component that the user sees in the OpenStack. Horizon
is the web UI (user interface) component used to access the other back-end services. Through
individual API (Application programming interface), developers can access the OpenStack's
components, but through the dashboard, system administrators can look at what is going on in
the cloud and manage it as per their need.
• Identity Service (Keystone): It is the central repository of all the users and their permissions
for the OpenStack services they use. This component is used to manage identity services like
authorization, authentication, AWS Styles (Amazon Web Services) logins, token-based systems,
and checking the other credentials (username & password).
• Image Service (Glance): The glance component is used to provide the image services to
OpenStack. Here, image service means the images or virtual copies of hard disks. When we plan
to deploy a new virtual machine instance, then glance allows us to use these images as
templates. Glance allows virtual box (VDI), VMware (VMDK, OVF), Raw, Hyper-V (VHD)
and KVM (qcow2) virtual images.
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.
Modes of operation
• open stack can mainly operate in two modes i.e. single host mode and multi host mode.
• In single host mode of operation, network service is based on a central server.
• Central server receives traffic from all the compute nodes.
• This traffic is then forwarded to internet.
• Limitation: One point failure. i.e. unavailability of cloud controller will stop the instances from
communicating on the network.
• This limitation is not in multihost node. But it requires the nodes to have a public IP address for
communicating on the internet. If obtaining public IP address is not possible, you might be unable to use
multihost mode of operation in your set up.
• the operation is called multi host mode ,if a copy of the network is run on each of the compute nodes
and the nodes are used as the internet gateway by the instances that are running on individual node.
• A single node installation installs all components like nova, keystone, cinder, etc. in one single node.
Multinode installation installs diferent components along various node. For example keystone and cinder
in one node, neutron in another and 2 novas in 2 diferent servers. Generally speaking a single node setup
of OpenStack is used for testing ,purposes. It is not designed for production and thus most would strongly
discourage such implementation. environment.
• A multi-node setup on the other hand is what most (if not all) production
environments run on.
• Given the various components of OpenStack having all components on one node
can significantly affect performance as you are limited to whatever resources that
one node may have.
• Multi-Node not only provides a solution for this, but it is also highly scalable in
the sense that if you require more compute power all you have to do is add more
compute nodes (same with swift for storage, etc.).
• Additionally, having various nodes for various components can offer a failover in
the case of one of your nodes suffers downtime.

You might also like