OpenStack Juno: The Basics

Guest Blog by Mark Voelker, Technical Lead, Cisco http://blogs.cisco.com/author/MarkVoelker/

Today, the OpenStack@Cisco team is in a celebratory mood: OpenStack 2014.2 (“Juno”) has been released! The 10th release of OpenStack contains hundreds of new features and thousands of bugfixes and is the result of contributions from over 1400 developers. You can find out more about Cisco’s contributions to Juno here. What’s more, in just a few short weeks we’ll be joining the rest of the OpenStack Community in Paris for the OpenStack Summit, where plans for the next release (“Kilo“) will be laid. We think that OpenStack’s appeal has never been higher, and are excited to see continued growth forecast for the OpenStack market. Since OpenStack continues to see new growth, we thought this would be a good time to take a step back and review a few basics for those of you that are just beginning to get acquainted with today’s dominant open source cloud platform.

First, a bit of history. OpenStack was founded in the summer of 2010 as an open source project driven primarily by Rackspace Hosting (who contributed a scalable object storage system that is today known as OpenStack Swift) and NASA (who contributed a compute controller that is today known as OpenStack Nova). The announcement quickly attracted attention, and in September of 2012 the OpenStack Foundation was created as an independent body to promote the development, distribution, and adoption of the OpenStack platform. Since then, the Foundation has grown to over 18,800 members spanning over 140 countries and representing over 400 supporting companies.

Simply put, OpenStack is “Open source software for creating private and public clouds.” Not only is it developed by a wide variety of corporate and individual contributors, it is also used by hundreds of companies (including Cisco!) for a variety of purposes. You can find a sampling at the OpenStack User Stories and OpenStack SuperUser websites. The software itself is a set of loosely coupled distributed systems comprised of several discrete pieces of software with a focus on supporting multi-tenancy and scalability for on-demand resources. Whereas OpenStack originally contained just two major components, today’s integrated Juno release contains 11:

OpenStack Compute (aka “Nova”) is a compute controller that pools physical computing resources (CPU, memory, etc). Nova provides API’s to control on-demand scheduling of compute instances (e.g. virtual machines) on multiple virtualization technologies, bare metal, or container technologies.

OpenStack Object Storage (aka “Swift”) provides redundant, scalable object storage using clusters of standard servers.

OpenStack Block Storage (aka “Cinder”) provides persistent block-level storage services for OpenStack Compute instances backed by a variety of block storage technologies.

OpenStack Image Service (aka “Glance”) provides discovery, registration, and delivery services for disk and server images in multiple formats.

OpenStack Networking (aka “Neutron”) is a pluggable, scalable, and API-driven system for managing networks and IP addresses used by compute instances, backed by a variety of traditional or SDN technologies and featuring higher-layer services such as VPN-as-a-Service, Firewall-as-a-Service, and Loadbalancing-as-a-Service.

OpenStack Identity Service (aka “Keystone”) is a central directory of users, a service catalog, and a mapping of users to access rights using a variety of possible backends (such as LDAP or Active Directory).

OpenStack Dashboard (aka “Horizon”) is a graphical user interface for tenants and administrators of a cloud. It provides a simple, browser-based interface for day-to-day operations such as provisioning instances and networks or checking resource utilization.

OpenStack Telemetry (aka “Ceilometer”) is a service that aggregates usage and performance data across all of the services deployed in an OpenStack cloud. It provides all the necessary measurements needed to provide billing as well as insight into usage.

OpenStack Orchestration (aka “Heat”) is a template-driven engine allowing application developers to orchestrate and automate the deployment of infrastructure resources within an OpenStack cloud.

OpenStack Database Service (aka “Trove”) provides on-demand provisioning of relational databases without the burden of handling complex administrative tasks.

OpenStack Data Processing (aka “Sahara”) provides on-demand provisioning and elastic scaling of Hadoop clusters for data processing.

While these projects represent the members of the integrated Juno release, it’s also important to note that there are dozens more projects in the OpenStack ecosystem, many of which can be found on StackForge. StackForge plays an important role in the OpenStack community by providing a forum for projects related to OpenStack to collaborate and use some of the same development and collaboration tools used in integrated projects. StackForge projects include everything from services that are currently in “incubation” (like the Manilla shared filesystem service or the Designate DNS services projects) to installation and configuration management projects (such as the Puppet and Chef OpenStack projects) to additional API support (such as the GCE and EC2 API projects) to benchmarking and testing tools (such as Rally and CloudCafe), and much more. A complete list of projects can be found on the StackForge mirror on GitHub. A lot of work also goes into the tools used to manage OpenStack development, many of which are broadly useful outside of OpenStack itself. Many of these are managed under the OpenStack Project Infrastructure team umbrella.

I’d be remiss if I didn’t close by highlighting some of the many ways to get involved with the OpenStack Community. Whether you’re looking for a local user group near you, mailing lists to join, a career in OpenStack, or ways to make technical contributions, the OpenStack community has a way for you to be involved.

So there you have it: a small taste of OpenStack and a few dozen links to read to start you on your way. Now that we’ve whet your appetite, we hope you’ll be interested in learning more. Stop by and see me at the All Things Open Conference next week in Raleigh where I’ll be talking about OpenStack (here’s a sneak peak), or come say “bonjour!” at the OpenStack Summit in Paris!