A Survey of Open Networking Standards, Part 3: OpenStack
June 30, 2015
We've already covered OpenDaylight and Open vSwitch in our series on open-source standards for networking, so next we'll move on to a project that is...
We’ve already covered OpenDaylight and Open vSwitch in our series on open-source standards for networking, so next we’ll move on to a project that is larger in scope than either one of them – OpenStack. Originally conceived by NASA and RackSpace, OpenStack is cloud computing software that uses logical abstractions so that users can get what they want from their infrastructure.
Included in OpenStack are various components that cover tasks such as compute, block storage, object storage, telemetry, networking, and bare metal provisioning. Although OpenStack hasn’t historically been known for its ease of use (especially compared to alternatives in the public cloud such as Amazon Web Services (AWS) or Microsoft Azure), it has prominent backers and has been integral to deployments from firms such as Walmart, who shared at the recent Vancouver OpenStack Summit how they successfully deployed OpenStack at massive scale – 2,500 compute nodes run to support their 2014 holiday season. Quite an endorsement.
OpenStack overview: How the project became a huge presence in the cloud ecosystem
OpenStack is roughly five years old and is overseen by the OpenStack Foundation. As of December 2014, that body contained 111 official stakeholders at varying levels of membership. The top tier of membership – Platinum – includes heavyweights like AT&T, HP, Canonical, Red Hat, and co-founder RackSpace.
As its name suggests, OpenStack is open-source software. Its general functionality is perhaps best understood as that of an operating system for cloud computing. More specifically, users can provision compute, storage, and networking resources via a web interface. Using the OpenStack dashboard (the component called Horizon), developers can create virtual machines (VMs), configure networks, and manage volumes, all from a single location.
Red Hat executive Alan Ho nicely summed up OpenStack’s appeal last July, when he pointed to benefits such as:
- Open-source collaboration: The size of the OpenStack community allows for extensive knowledge sharing.
- No lock-in: OpenStack users can avoid becoming beholden to a particular vendor or proprietary solution.
- Low costs and great agility: Ideally, OpenStack minimizes the impediments to effective IT infrastructure automation, since it can be run on commodity equipment and be tweaked to the user’s needs. In the Walmart OpenStack Summit talk, team members shared that by moving to generic server hardware running OpenStack their new servers are 50 percent cheaper and total operating cost has decreased by 300 percent compared to their previous modus operandi.
Of course, there are some drawbacks to OpenStack. Setup and migration have been traditional pain points. Organizations could avoid these bottlenecks by choosing a more straightforward public cloud option, but picking the right cloud infrastructure isn’t always strictly a matter of convenience (or price, for that matter).
A recent report from 451 Research has estimated that OpenStack-related revenue could top $3 billion by 2018, expanding at a 40 percent compound annual growth rate (CAGR) between 2014 and 2018. Most of the revenue will likely go to OpenStack service providers, with smaller chunks going toward OpenStack distributions, DevOps orchestration tools, cloud management solutions, and platform-as-a-service (PaaS) on OpenStack. It’s possible that there will be continued consolidation in the OpenStack community (i.e., in the mold of Cisco’s acquisition of Metacloud) as big vendors look for a larger slice of this revenue.
OpenStack components and architecture
OpenStack has accumulated many new APIs and components as a result of rapid development over the years. The component list includes:
- Horizon: Dashboard
- Nova: Compute
- Cinder: Block storage
- Swift: Object storage
- Neutron: Networking
- Keystone: Identity
- Ceilometer: Telemetry
- Ironic: Bare metal provisioning
- Sahara: Elastic map reduce
- Heat: Orchestration
- Glance: Images
- Zaqar: Multi-tenant cloud messaging
I mentioned Horizon, the dashboard component of OpenStack, earlier in the discussion of how OpenStack can work on a basic level. As OpenStack has many components, a sample workflow could involve:
- User uses Horizon (dashboard component) to request a VM running SUSE Linux
- Keystone (identity component) authenticates the request
- The request is passed to Nova (compute component), which creates the initial entry for instance
- Nova can now ask Glance (image component) for an image
- Request is passed to Neutron, which maps each VM network interface controller (NIC) to its network and assigns IP addresses
- Request is passed to Cinder to get volume data
- Request is passed back to Nova that starts the instance
OpenStack is a vast and evolving ecosystem. It faces significant competition from public cloud, as well as from arguably more mature open-source solutions such as CloudStack, but its image, branding, and scope mean that it is likely to be an important part of the cloud conversation for years to come.
The takeaway: OpenStack is an open-source operating system for cloud computing. Created by NASA and RackSpace, it provides logical abstractions for managing and orchestrating a network. It contains a variety of components that address functionality such as compute, storage, and identity. The size of the OpenStack community, which includes many prominent service providers and equipment vendors, makes OpenStack one of the most important open-source projects in the world.
1. Read “A survey of open networking standards, part 1: OpenDaylight” at www.embedded-computing.com/23808-a-survey-of-open-networking-standards-part-1-opendaylight.
2. Read “A survey of open networking standards, part 2: Open vSwitch” at www.embedded-computing.com/guest-blogs/a-survey-of-open-networking-standards-part-2-open-vswitch.