OpenStack

OpenStack
Stable release Kilo (2015.1.0)[1] / 30 April 2015
Written in Python
Operating system Cross-platform
Type Cloud computing
License Apache License 2.0
Website openstack.org

OpenStack is a free and open-source cloud computing software platform.[2] Users primarily deploy it as an infrastructure as a service (IaaS) solution. The technology consists of a series of interrelated projects that control pools of processing, storage, and networking resources throughout a data center—which users manage through a web-based dashboard, command-line tools, or a RESTful API. OpenStack.org released it under the terms of the Apache License.

OpenStack began in 2010 as a joint project of Rackspace Hosting and NASA. Currently, it is managed by the OpenStack Foundation, a non-profit corporate entity established in September 2012[3] to promote OpenStack software and its community.[4] More than 200 companies have joined the project, including Acelio, Arista Networks, AT&T, AMD, Avaya, Canonical, Cisco, Citrix, Dell, Dreamhost, EMC, Ericsson, Go Daddy, Hewlett-Packard, Huawei, IBM, Intel, Internap, Juniper Networks, Mellanox, Mirantis, NEC, NetApp, Nexenta, Oracle, PLUMgrid, Pure Storage, Qosmos, Red Hat, SolidFire, SUSE Linux, VMware, VMTurbo and Yahoo!.[5][6][7][8][9][10][11][12]

The OpenStack community collaborates around a six-month, time-based release cycle with frequent development milestones.[13] During the planning phase of each release, the community gathers for the OpenStack Design Summit to facilitate developer working-sessions and to assemble plans.[14]

The most recent OpenStack Summit was held in Paris in November 2014.[15] The previous summit in May 2014 in Atlanta drew 4,500 attendees — a 50% increase from the Hong Kong Summit six months earlier.[16][17]

History

NASA's Nebula platform

In July 2010, Rackspace Hosting and NASA jointly launched an open-source cloud-software initiative known as OpenStack. The OpenStack project intended to help organizations offer cloud-computing services running on standard hardware. The community's first official release, code-named Austin, appeared four months later, with plans to release regular updates of the software every few months. The early code came from NASA's Nebula platform as well as from Rackspace's Cloud Files platform.

In 2011, developers of the Ubuntu Linux distribution adopted OpenStack[18] with an unsupported technology preview of the OpenStack "Bexar" release for Ubuntu 11.04 "Natty Narwhal".[19] Ubuntu's sponsor Canonical then introduced full support for OpenStack clouds, starting with OpenStack's Cactus release.

OpenStack became available in Debian Sid from the Openstack "Cactus" release in 2011, and the first release of Debian including OpenStack was Debian 7.0 (code name "Wheezy"), including OpenStack 2012.1 (code name: "Essex").[20][21]

In 2012, Red Hat announced a preview of their OpenStack distribution,[22] beginning with the "Essex" release. After another preview release, Red Hat introduced commercial support for OpenStack with the "Grizzly" release, in July 2013.[23]

In July 2013, NASA released an internal audit citing lack of technical progress and other factors as the agency's primary reason for dropping out as an active developer of the project and instead focus on the use of public clouds.[24] This report is contradicted in part by remarks made by Ames Research Center CIO, Ray Obrien.[25]

In December 2013, Oracle announced it had joined OpenStack as a Sponsor and planned to bring OpenStack to Oracle Solaris, Oracle Linux, and many of its products.[26] It followed by announcing Oracle OpenStack distributions for Oracle Solaris [27][28] and for Oracle Linux using Icehouse on 24 September 2014.[29]

In May 2014, HP announced HP Helion and released a preview of HP Helion OpenStack Community, beginning with the IceHouse release. HP has operated HP Helion Public Cloud on OpenStack since 2012.[30]

As of March 2015, NASA still makes use of OpenStack private cloud[31] and has RFQs out for OpenStack public cloud support.[32]

Components

Cisco Cloud Computing CTO, Cloud Computing on OpenStack and network-as-a-Service

OpenStack has a modular architecture with various code names for its components.[33]

Compute (Nova)

OpenStack Compute (Nova) is a cloud computing fabric controller, which is the main part of an IaaS system. It is designed to manage and automate pools of computer resources and can work with widely available virtualization technologies, as well as bare metal and high-performance computing (HPC) configurations. KVM, VMware, and Xen are available choices for hypervisor technology, together with Hyper-V and Linux container technology such as LXC.[34][35]

It is written in Python and uses many external libraries such as Eventlet (for concurrent programming), Kombu (for AMQP communication), and SQLAlchemy (for database access).[36] Compute's architecture is designed to scale horizontally on standard hardware with no proprietary hardware or software requirements and provide the ability to integrate with legacy systems and third-party technologies.

Object Storage (Swift)

OpenStack Object Storage (Swift) is a scalable redundant storage system. Objects and files are written to multiple disk drives spread throughout servers in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster. Storage clusters scale horizontally simply by adding new servers. Should a server or hard drive fail, OpenStack replicates its content from other active nodes to new locations in the cluster. Because OpenStack uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used. The Total Cost of Ownership (TCO) can be higher than using enterprise-class storage due to many copies required to get high availability.

In August 2009, Rackspace started the development of the precursor to OpenStack Object Storage, as a complete replacement for the Cloud Files product. The initial development team consisted of nine developers.[37] SwiftStack, an object storage software company, is currently the leading developer for Swift.

Block Storage (Cinder)

OpenStack Block Storage (Cinder) provides persistent block-level storage devices for use with OpenStack compute instances. The block storage system manages the creation, attaching and detaching of the block devices to servers. Block storage volumes are fully integrated into OpenStack Compute and the Dashboard allowing for cloud users to manage their own storage needs. In addition to local Linux server storage, it can use storage platforms including Ceph, CloudByte, Coraid, EMC (ScaleIO, VMAX and VNX), GlusterFS, Hitachi Data Systems, IBM Storage (Storwize family, SAN Volume Controller, XIV Storage System, and GPFS), Linux LIO, NetApp, Nexenta, Scality, SolidFire, HP (StoreVirtual and 3PAR StoreServ families) and Pure Storage. Block storage is appropriate for performance sensitive scenarios such as database storage, expandable file systems, or providing a server with access to raw block level storage. Snapshot management provides powerful functionality for backing up data stored on block storage volumes. Snapshots can be restored or used to create a new block storage volume.

Networking (Neutron)

OpenStack Networking (Neutron, formerly Quantum[38]) is a system for managing networks and IP addresses. OpenStack Networking ensures the network is not a bottleneck or limiting factor in a cloud deployment, and gives users self-service ability, even over network configurations.

OpenStack Networking provides networking models for different applications or user groups. Standard models include flat networks or VLANs that separate servers and traffic. OpenStack Networking manages IP addresses, allowing for dedicated static IP addresses or DHCP. Floating IP addresses let traffic be dynamically rerouted to any resources in the IT infrastructure, so users can redirect traffic during maintenance or in case of a failure.

Users can create their own networks, control traffic, and connect servers and devices to one or more networks. Administrators can use software-defined networking (SDN) technology like OpenFlow to support high levels of multi-tenancy and massive scale. OpenStack Networking provides an extension framework that can deploy and manage additional network services—such as intrusion detection systems (IDS), load balancing, firewalls, and virtual private networks (VPN).

Dashboard (Horizon)

OpenStack Dashboard (Horizon) provides administrators and users a graphical interface to access, provision, and automate cloud-based resources. The design accommodates third party products and services, such as billing, monitoring, and additional management tools. The dashboard is also brandable for service providers and other commercial vendors who want to make use of it. The dashboard is one of several ways users can interact with OpenStack resources. Developers can automate access or build tools to manage resources using the native OpenStack API or the EC2 compatibility API.

Identity Service (Keystone)

OpenStack Identity (Keystone) provides a central directory of users mapped to the OpenStack services they can access. It acts as a common authentication system across the cloud operating system and can integrate with existing backend directory services like LDAP. It supports multiple forms of authentication including standard username and password credentials, token-based systems and AWS-style (i.e. Amazon Web Services) logins. Additionally, the catalog provides a queryable list of all of the services deployed in an OpenStack cloud in a single registry. Users and third-party tools can programmatically determine which resources they can access.

Image Service (Glance)

OpenStack Image Service (Glance) provides discovery, registration, and delivery services for disk and server images. Stored images can be used as a template. It can also be used to store and catalog an unlimited number of backups. The Image Service can store disk and server images in a variety of back-ends, including OpenStack Object Storage. The Image Service API provides a standard REST interface for querying information about disk images and lets clients stream the images to new servers.

OpenStack.org updates Glance every six months, along with other OpenStack modules. Some of the updates are to catch-up with existing cloud infrastructure services, as OpenStack is comparatively new. Glance adds many enhancements to existing legacy infrastructures. For example, if integrated with VMware, Glance introduces advanced features to the vSphere family such as, vMotion, high availability and dynamic resource scheduling (DRS). vMotion is the live migration of a running VM, from one physical server to another, without service interruption. Thus, it enables a dynamic and automated self-optimizing datacenter, allowing hardware maintenance for the underperforming servers without downtimes.[39][40]

OpenStack's image is an operating system installed on a virtual machine (VM). If a developer adds a variation to an image (as a configuration job) the result is an instance of that image. Subsequently, that instance is an image that developers can add more variations to.

Glance—OpenStack's image service module—is a compute module, as it does not store images, variations, or instances—but rather catalogs them and holds their metadata from Swift or a storage backend datastore. Other modules must communicate with the images metadata through Glance—for example, Heat. Also, Nova can present information about the images, and configure a variation on an image to produce an instance. However, Glance is the only module that can add, delete, share, or duplicate images.[41]

Telemetry (Ceilometer)

OpenStack Telemetry Service (Ceilometer) provides a Single Point Of Contact for billing systems, providing all the counters they need to establish customer billing, across all current and future OpenStack components. The delivery of counters is traceable and auditable, the counters must be easily extensible to support new projects, and agents doing data collections should be independent of the overall system.

Orchestration (Heat)

Heat is a service to orchestrate multiple composite cloud applications using templates, through both an OpenStack-native REST API and a CloudFormation-compatible Query API.[42]

Database (Trove)

Trove is a database-as-a-service provisioning relational and non-relational database engines.[43]

Bare Metal Provisioning (Ironic)

Ironic is an incubated OpenStack project that aims to provision bare metal machines instead of virtual machines. It was initially forked from the Nova Baremetal driver and has evolved into a separate program. It is best thought of as a bare-metal hypervisor API and a set of plugins that interact with the bare-metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on and off machines, but Ironic supports and can be extended with vendor-specific plugins to implement additional functionality.[44][45]

Multiple Tenant Cloud Messaging (Zaqar)

Zaqar is a multi-tenant cloud messaging service for Web developers. It combines the ideas pioneered by Amazon's SQS product with additional semantics to support event broadcasting. The service features a fully RESTful API, which developers can use to send messages between various components of their SaaS and mobile applications by using a variety of communication patterns. Underlying this API is an efficient messaging engine designed with scalability and security in mind. Other OpenStack components can integrate with Zaqar to surface events to end users and to communicate with guest agents that run in the "over-cloud" layer. Cloud operators can leverage Zaqar to provide equivalents of SQS and SNS to their customers. Zaqar was formerly known as Marconi.[46][47]

Elastic Map Reduce (Sahara)

Sahara aims to provide users with simple means to provision Hadoop clusters by specifying several parameters like Hadoop version, cluster topology, nodes hardware details and a few more. After a user fills all the parameters, Sahara deploys the cluster in a few minutes. Sahara also provides means to scale an already-provisioned cluster by adding and removing worker nodes on demand.[48][49]

Amazon Web Services compatibility

OpenStack APIs are compatible with Amazon EC2 and Amazon S3 and thus client applications written for Amazon Web Services can be used with OpenStack with minimal porting effort.[50][51]

Governance

OpenStack is governed by a non-profit foundation and its board of directors, a technical committee and a user committee. The board of directors is made up of eight members from each of the eight platinum sponsors, eight members from the 24 defined maximum allowed Gold sponsors, and eight members elected by the Foundation individual members.[52]

The current sitting board of directors is:[53]

  • Gold directors:
    • Simon Anderson, DreamHost
    • Robert Esker, NetApp
    • Tristan Goode, Aptira
    • Steven Hallett, Symantec
    • Chris Kemp, Nebula
    • Boris Renski, Mirantis
    • Sean Roberts, EMC
    • Lew Tucker, Cisco, Vice Chairman of the Board

  • The current user committee is:[55]
    • Tim Bell, CERN
    • Jon Proulx, MIT
    • Subbu Allamaraju, eBay

The Foundation's stated mission is [by] providing shared resources to help achieve the OpenStack Mission by Protecting, Empowering, and Promoting OpenStack software and the community around it, including users, developers and the entire ecosystem. Though, it has little to do with the development of the software, which is managed by the technical committee - an elected group that represents the contributors to the project, and has oversight on all technical matters.[56]

Users

OpenStack has a wide variety of users, from a number of different sectors.[57] Notable users include:

Deployment models

As the OpenStack project has matured, vendors have pioneered multiple ways for customers to deploy OpenStack:

Distributions

Release history

Release name Release date Included Component code names[33] Notes
Austin 21 October 2010[75][76] Nova, Swift Austin Release Notes
Bexar 3 February 2011[77] Nova, Glance, Swift Bexar Release Notes
Cactus 15 April 2011[78] Nova, Glance, Swift Cactus Release Notes
Diablo 22 September 2011[79] Nova, Glance, Swift Diablo Release Notes
Essex 5 April 2012[80] Nova, Glance, Swift, Horizon, Keystone Essex Release Notes
Folsom 27 September 2012[81] Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Folsom Release Notes
Grizzly 4 April 2013[82] Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Grizzly Release Notes
Havana 17 October 2013[83] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer Havana Release Notes
Icehouse 17 April 2014[84] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove Icehouse Release Notes
Juno 16 October 2014[85] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara Juno Release Notes
Kilo 30 April 2015[86] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican Kilo Release Notes

See also

References

  1. "ReleaseNotes/Kilo - OpenStack". Wiki.openstack.org. Retrieved 2015-04-30.
  2. "OpenStack Open Source Cloud Computing Software". Retrieved 29 November 2013.
  3. "OpenStack Launches as Independent Foundation, Begins Work Protecting, Empowering and Promoting OpenStack". BusinessWire. 19 September 2012. Retrieved 7 January 2013.
  4. "OpenStack Foundation Mission". Retrieved 7 January 2013.
  5. "Companies » OpenStack Open Source Cloud Computing Software". Openstack.org. Retrieved 7 January 2013.
  6. "HP Announces Support for OpenStack". H30507.www3.hp.com. 27 July 2011. Retrieved 23 October 2012.
  7. "IBM supports OpenStack (Computerworld)". Computerworlduk.com. Retrieved 23 October 2012.
  8. "Dell OpenStack-Powered Cloud Solution". Content.dell.com. Retrieved 23 October 2012.
  9. "Oracle Sponsors OpenStack Foundation; Offers Customers Ability to Use OpenStack to Manage Oracle Cloud Products and Services". morningstar.com. 2013-12-10. Retrieved 2013-12-11.
  10. "GoDaddy Embraces Open-Source OpenStack Cloud". eweek.com. 3 March 2014. Retrieved 5 March 2014.
  11. Sean Michael Kerner. "Avaya Looks to OpenStack Horizon for the Software Defined Data Center". Enterprise Networking Planet.
  12. Hamilton, David. "How OpenStack is Giving DreamHost a Competitive Edge". The Whir. thewhir.com. Retrieved 2 April 2015.
  13. "OpenStack Release Cycle". OpenStack Foundation. Retrieved 7 January 2013.
  14. "OpenStack Design Summit". OpenStack Foundation. Retrieved 7 January 2013.
  15. "OpenStack Paris Summit 2014".
  16. "Taking Stock of OpenStack's Rapid Growth".
  17. "OpenStack Design Summit Fall 2013".
  18. Vaughan, Steven J. (10 May 2011). "Canonical switches to OpenStack for Ubuntu Linux cloud". ZDNet. Retrieved 23 October 2012.
  19. Vaughan, Steven J. (3 February 2011). "Canonical brings Ubuntu to the OpenStack Cloud". ZDNet. Retrieved 11 January 2014.
  20. "Openstack Folsom fully uploaded to Experimental". Thomas Goirand. 6 February 2013. Retrieved 29 November 2013.
  21. "OpenStack Havana 2013.2 Debian packages available". Thomas Goirand. 17 October 2013. Retrieved 29 November 2013.
  22. "Red Hat Announces Preview Version of Enterprise-Ready OpenStack Distribution". Linux Weekly News. 15 August 2012. Retrieved 26 August 2013.
  23. "Red Hat Announces OpenStack-powered Product Offerings to Deliver on Open Hybrid Cloud Vision". Red Hat Press Release. 12 June 2013. Retrieved 11 January 2014.
  24. "NASA's Progress in Adopting Cloud Computing Technologies" (PDF). NASA. 2013-07-29. Retrieved 2014-03-14.
  25. https://open.nasa.gov/blog/2012/06/04/nebula-nasa-and-openstack/. Missing or empty |title= (help)
  26. "Oracle Sponsors OpenStack Foundation; Offers Customers Ability to Use OpenStack to Manage Oracle Cloud Products and Services". Oracle. 10 December 2013.
  27. "Oracle Introduces Oracle Solaris 11.2—Engineered for Cloud". Oracle. 29 April 2014.
  28. "Oracle Solaris 11.2 Now Generally Available". Oracle. 31 July 2014.
  29. "Oracle OpenStack for Oracle Linux Now Generally Available". Oracle. 24 September 2014.
  30. Press Release "HP Launches HP Helion Portfolio of Cloud Products and Services". 7 May 2014. Retrieved 7 May 2014.
  31. "Jet Propulsion Laboratory Streamlines Cloud Management for Europa Mission Study with Scalr".
  32. "RFP No.LL-2623-879754". NASA. 14 April 2015. Retrieved 21 April 2015.
  33. 33.0 33.1 "OpenStack Roadmap » OpenStack Open Source Cloud Computing Software". Openstack.org. Retrieved 17 April 2014.
  34. "OpenStack Compute: An Overview" (PDF). openstack.org. 2010. Retrieved 2014-03-31.
  35. "HypervisorSupportMatrix". Retrieved 29 November 2013.
  36. "OpenStack — more than just software". Retrieved 29 November 2013.
  37. Cloud Files (Swift) Origin on YouTube
  38. McClain, Mark (19 June 2013). "Quantum's new name is….". openstack-dev mailing list. OpenStack.org. Retrieved 16 July 2013.
  39. "GlanceFeatureMatrix - OpenStack". openstack.org. Retrieved 2014-08-10.
  40. "ReleaseNotes/Icehouse - OpenStack". openstack.org. Retrieved 2014-08-10.
  41. "Chapter 6. Image Service - OpenStack Configuration Reference - juno". openstack.org. Retrieved 2014-08-10.
  42. "Heat - OpenStack". Wiki.openstack.org. Retrieved 2014-05-06.
  43. "Trove - OpenStack". Wiki.openstack.org. Retrieved 2014-05-06.
  44. "Welcome to Ironic's developer documentation!". docs.openstack.org. Retrieved 2014-09-24.
  45. "Ironic". wiki.openstack.org. Retrieved 2014-09-24.
  46. "Welcome to Zaqar's developer documentation!". docs.openstack.org. Retrieved 2014-09-24.
  47. "Zaqar". wiki.openstack.org. Retrieved 2014-09-24.
  48. "Welcome to Sahara's developer documentation!". docs.openstack.org. Retrieved 2014-09-24.
  49. "Sahara". wiki.openstack.org. Retrieved 2014-09-24.
  50. "EC2 API Comparison Matrix". Retrieved 7 January 2013.
  51. "S3 API Comparison Matrix". Retrieved 7 January 2013.
  52. "Foundation". OpenStack Foundation. Retrieved 15 January 2013.
  53. "OpenStack BoD". OpenStack Foundation. Retrieved 3 February 2014.
  54. "OpenStack TC". OpenStack Foundation. Retrieved 20 December 2013.
  55. "OpenStack UC". OpenStack Foundation. Retrieved 18 December 2013.
  56. "Bylaws of the OpenStack Foundation". OpenStack Foundation. Retrieved 15 January 2013.
  57. "OpenStack User Stories". openstack.org. Retrieved 29 November 2013.
  58. "Is AT&T Building the Ultimate Walled Garden?". News.slashdot.org. Retrieved 23 October 2012.
  59. "BBVA Bank on Openstack". Retrieved 30 April 2015.
  60. Marketplace Business: Telecom opens new cloud marketplace (german)
  61. "DreamCompute". Retrieved 17 November 2014.
  62. Craft, Valentina. "OpenStack an Underlying Theme in HP’s Converged Cloud Strategy," June 12, 2013. SiliconAngle.com
  63. "Ubuntu Powers HP Public Cloud". Blog.canonical.com. Retrieved 23 October 2012.
  64. "爱奇艺-爱奇艺视频,高清影视剧,网络视频在线观看". Iqiyi.com. 2013-12-29. Retrieved 2014-04-09.
  65. "KT ucloud storage". KT. August 2010. Retrieved 12 July 2013.
  66. OpenStack: Enabling the Open Cloud Era on YouTube
  67. "Keynote: OpenStack at the National Security Agency (NSA)". Openstack.org. Retrieved 2014-04-09.
  68. "OVH taps open source Power8 architecture, OpenStack for cloud platform". 2014-10-20. Retrieved 2014-11-23.
  69. Cowan, Paris (2013-08-30). "Why PayPal chose OpenStack - Strategy - Business - News". Itnews.com.au. Retrieved 2014-02-13.
  70. "Rackspace Launches Global OpenStack Expansion". InformationWeek. Retrieved 2014-02-13.
  71. http://www.openstack.org/rate/Presentation/rackspace-featuring-sony-how-openstack-will-power-sony-s-online-games-for-playstation-4
  72. "OpenStack User Committee Update and Survey Results". YouTube. Retrieved 2014-04-09.
  73. "Report: Wal-Mart’s Big Data Moves Will Boost Rackspace". Retrieved 11 September 2014.
  74. "Cloudscaling, HP update their OpenStack clouds — Tech News and Analysis". Gigaom.com. 2013-04-15. Retrieved 2014-02-13.
  75. "Software » OpenStack Open Source Cloud Computing Software". Openstack.org. Retrieved 23 October 2012.
  76. "Open Stack history summary on p.6-8" (PDF). Retrieved 23 October 2012.
  77. "BexarReleaseSchedule - Wiki". Wiki.openstack.org. 20 January 2011. Retrieved 23 October 2012.
  78. "CactusReleaseSchedule - Wiki". Wiki.openstack.org. 12 April 2011. Retrieved 23 October 2012.
  79. "DiabloReleaseSchedule - Wiki". Wiki.openstack.org. 6 September 2011. Retrieved 23 October 2012.
  80. "EssexReleaseSchedule - Wiki". Wiki.openstack.org. 7 March 2012. Retrieved 23 October 2012.
  81. "FolsomReleaseSchedule - Wiki". Wiki.openstack.org. 14 May 2012. Retrieved 23 October 2012.
  82. "GrizzlyReleaseSchedule - Wiki". Wiki.openstack.org. Retrieved 4 April 2013.
  83. "Havana_Release_Schedule - Wiki". Wiki.openstack.org. Retrieved 19 June 2013.
  84. "Icehouse Release Schedule - Wiki". Wiki.openstack.org. Retrieved 17 April 2014.
  85. "Juno Release Schedule - Wiki". Wiki.openstack.org. Retrieved 23 September 2014.
  86. "Kilo Release Schedule - Wiki". Wiki.openstack.org. Retrieved 23 September 2014.

External links

Wikimedia Commons has media related to OpenStack.