As far as open source pedigree goes, OpenStack is of a pretty high calibre. Born out of a joint initiative between NASA and Rackspace in July 2010, its main goal was to simplify the management of both private and public cloud computing services deployed on traditional computer hardware. Since then it has attracted the support of many high-profile corporate partners such as Intel, IBM, HP, Cisco, Dell, EMC and Red Hat. Under the guidance of the OpenStack Foundation, a non-profit corporate entity formed in September 2012, the platform has steadily matured into a fully-featured cloud-building platform. OpenStack’s current stable version (codenamed "Icehouse") is the ninth release to date.
Integrating OpenStack into a corporate IT strategy can provide several key benefits. By removing the complexity behind managing and deploying on-demand infrastructure, the platform can dramatically reduce the time required to build applications and bring new products to market. OpenStack’s flexible and open design allows seamless integration with existing third-party and in-house business systems. As open source software, OpenStack helps business to avoid the pitfalls of vendor lock-in while at the same time providing compatibility with private cloud providers such as Amazon AWS and facilitate the creation of hybrid clouds.
OpenStack's modular architecture allows great flexibility and the ability to tailor specific Infrastructure-as-a-Service (IaaS) solutions. There are currently ten individual components offered in the OpenStack ecosystem which can be used to build public or private clouds. While major components implement core functionality such as compute, storage and networking, some of the newer, lesser-known components provide key enterprise features previously available only in proprietary cloud computing software.
Here's a quick overview of the OpenStack components and what they do.
Nova, also known as OpenStack Compute, is the control centre of the cloud computing platform. It interfaces with system virtualization software to allow businesses to rapidly provision and manage large networks of virtual machines. Nova is hardware-agnostic and supports a wide variety of standard hardware configurations. It has been part of OpenStack since the first release and is analogous to Amazon EC2 and Microsoft Azure Virtual Machines.
Swift (Object Storage)
Swift implements a distributed, API-driven object storage system for storing and retrieving static files such as photos, videos, emails, disk images or backup archives. It provides a cost effective, scalable storage platform that can be used for backup, archiving and data retention. Swift’s API is compatible with Amazon S3, allowing it to be integrated with many third-party applications already developed.
Cinder (Block Storage)
Cinder provides persistent block storage devices used as virtual disks attached to compute instances managed by Nova. It allows integration with third-party enterprise storage solutions such as Ceph, NetApp, Nexenta, SolidFire, and Zadara. This service is functionally equivalent to Amazon's Elastic Block Storage (EBS).
Neutron is often described as "Networking-as-a-Service" and provides interfaces to configure software-defined networking and address management within the OpenStack platform. It overseas the creation and management of advanced virtual network topologies, such as virtual private networks (VPN) and per-tenant networking. Neutron is a relatively new component having been released as part of OpenStack’s eighth version (codenamed “Havana”) in October 2013.
OpenStack's Dashboard component was initially designed to provide a web-based graphical interface to the Nova Compute service. In recent releases its scope has expanded to become the main user interface for a large number of OpenStack services including Nova, Swift, and Keystone. The dashboard allows users to provision and administer cloud-based resources within their OpenStack ecosystem and provides support for integration with third-party systems such as billing and monitoring software.
Keystone (Identity Service)
Identity management is a fundamental requirement of any enterprise system that supports more than a single user. Keystone implements such a service and maintains a central database of users, services available within the OpenStack platform, and a mapping of services each user has permission to access. It provides a unified authentication system across all OpenStack components, and integration support for external directory services such as LDAP.
Glance (Image Service)
Glance provides services to create, store and retrieve virtual machine images and related metadata in an OpenStack environment. While it can be used to manage disk templates and virtual machine backups, Glance is not directly responsible for storage. It can be integrated with a variety of backend storage systems, ranging from simple filesystem to object storage services such as Swift.
Ceilometer is a data collection framework used to monitor and measure various internal metrics (such as CPU and network usage) within an OpenStack cloud. By aggregating usage and performance data collected across dozens of data points within the cloud, Ceilometer can provide highly granular insight into specific resource usage and can identify possible bottlenecks. It can also provide resource accounting in situations where resource usage is billable.
Heat is a template-driven orchestration engine similar to AWS’s CloudFormation. It can be used by applications developers to define infrastructure requirements and automate provisioning and deployment of cloud infrastructure necessary to run their applications.
Trove (Database Service)
OpenStack’s newest component, Trove is a scalable and reliable cloud-based Database-as-a-Service providing support for both relational and non-relational database engines. Its aim is to reduce the burden of complex administrative tasks normally associated with managing high-performance database systems.
With over 120 companies providing support and more than 1200 active developers contributing code to the latest release, OpenStack continues to flourish. In just four years OpenStack has evolved into a comprehensive, feature-rich toolkit of robust and extensible cloud-building components capable of powering even the largest enterprise cloud. With interest in private cloud technology increasing, OpenStack’s flexible design, open architecture and interoperability feature set provide compelling reasons why it should hold a prominent place within the modern enterprise.