The first part of this article recounted the origins of OpenStack and described the philosophy behind its architecture. It gave a brief overview of several of the major OpenStack components and the specific functionality the provided. Here are the remaining components within the OpenStack suit:
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.