Pepple's blog provides a nice diagram of how these subsystems combine to create a running OpenStack implementation:
OpenStack modules. (Diagram courtesy of ken.peppel.info.)
Here, Swift provides an image store for VMs at the center left, Glance provides the capability to interact with the OpenStack environment and Horizon supplies the dashboard. Ongoing processing and runtime services come from Nova, while Horizon helps drive the dashboards and monitoring facilities for OpenStack at runtime.
OpenStack's Flexibility Can Be a Blessing - or a Curse
With broad and far-reaching industry support at the hardware, software and services levels, OpenStack makes it possible for companies to create cloud environments of their own, either privately in their own computing infrastructures or publicly through service providers of all sizes and stripes. The OpenStack movement helps keep the cloud open while holding computing costs down and ensuring that both providers and consumers of cloud services can build and use highly customized environments without losing their ability to switch among a sizable pool of cloud providers as changing needs, prices or market conditions might dictate.
The OpenStack environment provides a flexible container within which to craft cloud computing environments. This serves as both a blessing and a curse - or con and pro, if you prefer - because it means that working with OpenStack involves a "DIY" mentality to recognize and remedy missing or less-than-perfect features and functions. Working with OpenStack requires a considerable investment of time and effort, but it offers dramatic returns in exchange for this diligence.
Implementers often speak of finding problems both above and below the OpenStack environment, as described in a report on user feedback from the April 2013 OpenStack Summit in Portland, Ore. A Bloomberg representative indicated that issues arose from the company's need to set up highly available databases (below the stack), along with reliable log aggregation and monitoring metrics (above the stack) to create a completely robust, workable OpenStack environment for trading information.
OpenStack developers must recognize that they must solve intricate and difficult issues on their own. At the same OpenStack Summit, a Samsung representative said that, in its early days, OpenStack is "complex and error-prone." Likewise, upgrading across releases can be challenging and may involve redesign and rebuilding of OpenStack component elements in working implementations.
OpenStack Commitments Can Produce Savings, Competitive Advantages
One key takeaway from analyzing user and developer feedback is that a certain amount of "biting the bullet" is required to delve into OpenStack for cloud development. Organizations should be prepared to devote real, dedicated architect and senior programming talent to any OpenStack efforts, and be ready to spend up to two years working their way into "production mode" for any resulting implementations.
Sign up for Computerworld eNewsletters.