Study About Openstack
Study About Openstack
Compute (Nova): The OpenStack cloud operating system enables service providers to offer
on-demand computing resources, by provisioning and managing large networks of virtual
machines. Resources for compute are accessible via APIs for developers building cloud
applications and via web interfaces for administrators and users. It is written in Python and uses
many external libraries such as Eventlet (for concurrent programming), Kombu (for Advanced
Message Queuing Protocol communication), and SQLAlchemy (for database access).
OpenStack’s Compute is architected to provide flexibility as you design your cloud. The
compute architecture is designed to scale horizontally on standard hardware with no
proprietary hardware or software requirements and provide the ability to integrate with legacy
systems and third-party technologies. It is designed to manage and automate pools of compute
resources and can work with widely available virtualization technologies, as well as bare metal
and high-performance computing (HPC) configurations.
Features & Benefits of Compute
Feature Benefit
Manage virtualized commodity server Racks of commodity servers as pools of computing
resources Improved utilization and automation of resources for
CPU, memory, disk, and network greater cost efficiencies
interfaces
Manage Local Area Networks (LAN) Programmatically allocate IPs and VLANs
Flat, Flat DHCP, VLAN DHCP, IPv6 (for rapid provisioning of network capabilities and
security features)
Flexible networking models to suit needs of each
application and/or user group
API with rate limiting and authentication Designed for automation and security
(to make it easy for you to manage who has access to
compute resources and prevent users from impacting
each other with excessive API utilization)
Distributed and asynchronous Massively scalable and highly available system
architecture (for increased assurance of system uptime)
Virtual Machine (VM) image Easily store, import, share, and query images
management (to make it easy for you to spin up new standardized
VMs)
Live VM management Increase productivity with lifecycle management
Run, reboot, suspend, resize, terminate (from a single user interface and using the APIs)
instances
Floating IP addresses Ability to assign (and re-assign) IP addresses to VMs
Role Based Access Control (RBAC) Ensure security by user, role and project
Projects & Quotas Ability to allocate, track and limit resource utilization
VNC Proxy through web browser Quick and easy CLI administration
Object Storage (Swift): Object Storage is a cost effective, scale-out storage. It provides a
fully distributed, API-accessible storage platform that can be integrated directly into
applications or used for backup, archiving and data retention. It's built for scale and optimized
for durability, availability, and concurrency across the entire data set. Swift is ideal for storing
unstructured data that can grow without bound.
Block Storage (Cinder): Block Storage allows block of storages to be exposed and
connected to compute instances for expanded storage, better performance and integration
with enterprise storage platforms, such as NetApp, Nexenta and SolidFire. Cinder provides
an infrastructure for managing volumes in OpenStack. It was originally a Nova component
called nova-volume, but has become an independent project since the Folsom release.
1. OpenStack provides persistent block level storage devices for use with OpenStack
compute instances.
2. The block storage system manages the creation, attaching and detaching of the
block devices to servers. Block storage volumes are fully integrated into OpenStack
Compute and the Dashboard allowing for cloud users to manage their own storage
needs.
3. In addition to using simple Linux server storage, it has unified storage support for
numerous storage platforms including Ceph, NetApp, Nexenta, SolidFire, and Zadara.
4. Block storage is appropriate for performance sensitive scenarios such as database
storage, expandable file systems, or providing a server with access to raw block level
storage.
5. Snapshot management provides powerful functionality for backing up data stored
on block storage volumes. Snapshots can be restored or used to create a new block
storage volume.
Networking Capabilities
Dashboard Capabilities
1. The dashboard is an extensible web app that allows cloud administrators and users to
control their compute, storage and networking resources.
2. As a cloud administrator, the dashboard provides an overall view of the size and state of
your cloud. You can create users and projects, assign users to projects and set limits on
the resources for those projects.
3. The dashboard provides users a self-service portal to provision their own resources
within the limits set by administrators.
OpenStack has several shared services those cover the three pillars of compute, storage
and networking, making it easier to implement and operate your cloud. They are
Identity Service (Keystone): Keystone is the identity service used by OpenStack for
authentication (authN) and high-level authorization (authZ). It currently supports token-based
authN and user-service authorization. OpenStack Identity provides a central directory of users
mapped to the OpenStack services they can access. It acts as a common authentication system
across the cloud operating system and can integrate with existing backend directory services
like LDAP (Lightweight Directory Access Protocol). . Users and third-party tools can
programmatically determine which resources they can access.
Image Service (Glance): The OpenStack Image Service provides discovery, registration and
delivery services for disk and server images. The ability to copy or snapshot a server image and
immediately store it away is a powerful capability of the OpenStack cloud operating system.
The Image Service can store disk and server images in a variety of back-ends, including
OpenStack Object Storage. A number of periodic processes run on the Image Service to support
caching. Replication services ensures consistency and availability through the cluster. Other
periodic processes include auditors, updaters, and reapers.
1. Administrators can create base templates from which their users can start new compute
instances
2. Users can choose from available images, or create their own from existing servers
3. Snapshots can also be stored in the Image Service so that virtual machines can be
backed up quickly
Telemetry Service (Ceilometer): The OpenStack Telemetry service aggregates usage and
performance data across the services deployed in an OpenStack cloud. This powerful capability
provides visibility and insight into the usage of the cloud across dozens of data points and
allows cloud operators to view metrics globally or by individual deployed resources. The
ceilometer aims to deliver a unique point of contact for billing systems to acquire all form of the
measurements that a provider need for customer billing, across all current OpenStack core
components
1. Provide efficient collection of metering data, in terms of CPU and network costs.
2. Allow deployers to integrate with the metering system directly or by replacing
components.
3. Data may be collected by monitoring notifications sent from existing services or by
polling the infrastructure.
4. Allow deployers to configure the type of data collected to meet their operating
requirements.
5. The data collected by the metering system is made visible to some users through a REST
API.
OpenStack Common Libraries (Oslo): Oslo is to bring together the python libraries
containing code shared by OpenStack projects. The APIs provided by these libraries should be
high quality, stable, consistent, documented and generally applicable.
Havana 17 October 2013 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder,
Heat, Ceilometer
Icehouse 17 April 2014 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder,
Heat, Ceilometer, Trove
Architecture of Openstack
OpenStack APIs are compatible with Amazon EC2 and Amazon S3 and thus client applications
written for Amazon Web Services can be used with OpenStack with minimal porting effort.
1. Service providers offering an IaaS compute platform or services higher up the stack
2. IT departments acting as cloud service providers for business units and project teams
3. Processing big data with tools like Hadoop
4. Scaling compute up and down to meet demand for web resources and applications
5. High-performance computing (HPC) environments processing diverse and intensive
workloads
Users: Different users of OpenStack are AT&T, HP cloud services, PayPal, Rackspace, Sony
online gaming systems, Yahoo, Wikimedia labs, Intel, NASA etc... .
Conceptual Architecture:
Launching a virtual machine or instance involves many interactions among several services. The
following diagram provides the conceptual architecture of a typical OpenStack environment.
Refernces:
http://docs.openstack.org/,
https://wiki.openstack.org/wiki/Main_Page, http://en.wikipedia.org/wiki/OpenStack,