Providing an open source platform for cloud computing, OpenStack allows the use of multi-vendor commodity hardware in a data centre to process and store data, and deliver networking resources. It’s managed through a dashboard or an API and is used by many major companies around the world to manage their IT infrastructure.
OpenStack grew out of a joint project between NASA and Rackspace Hosting and launched in 2010. It’s currently managed by the not-for-profit OpenStack Foundation created in 2012. More than 500 companies are now members of the OpenStack project. OpenStack has a six-month release cycle with each release planned at a design summit. The software is modular with components focusing on different services.
Despite the fact that it’s a relatively recent development, OpenStack is incorporated into many popular Linux distributions including Ubuntu, Debian, SUSE and RedHat. Oracle has OpenStack distributions for its Solaris and Linux products, and HP’s Helion Public Cloud operates on OpenStack.
There are six core service components of OpenStack, these are:
* Nova, which handles computing
* Swift, which looks after object storage
* Neutron, which manages networking
* Cinder, which controls block storage
* Keystone, which manages identity
* Glance, which handles disk and server images
At its original launch OpenStack consisted of just Nova and Swift, joined the following year by Glance. Additional services have since been added on a regular basis as the product has developed. When implementing OpenStack it’s possible to choose any combination of services to achieve the desired aim.
Nova is at the core of OpenStack systems, it’s designed to manage and automate pools of computing resource, it also works with virtualisation technologies like VMware. It’s designed to be scalable on commodity hardware with no proprietary equipment or software required.
The Swift storage service is designed to offer scalability and redundancy. Files and objects are written to multiple disk drives spread across servers in the data centre. The OpenStack software is responsible for ensuring data integrity across the storage cluster. Increasing storage is simply a matter of adding extra servers. In the event of a server failure, Swift can rebuild the content from other active nodes. Because all of this is done in software, low cost commodity drives can be used.
Neutron is designed to ensure that networking doesn’t become a bottleneck to cloud deployments. It can operate in a number of ways to support different network architectures and can use static and DHCP IP addresses. This gives a good deal of flexibility allowing traffic to be rerouted in the event of failure or maintenance. Administrators can use software defined networking technologies to help with scalability, there’s also an extension framework for additional services like firewalls and VPNs.
The Cinder block storage service allows OpenStack to use different types of storage technology. Block storage volumes are integrated into OpenStack computing and dashboard services which allows cloud users to manage their own storage. The underlying physical storage can be a standard Linux server system or popular platforms like EMC, Hitachi Data Systems and IBM Storage.
Keystone handles security by offering a central user directory. This is mapped to the OpenStack functions they’re allowed to use, there’s also a registry of services that third-party tools can query to find the resources they’re allowed to access. It acts as a common authentication system but it can also be integrated with back-end directory systems and support an number of different authentication systems including standard usernames and passwords as well as token-based logins.
The Glance service allows stored images of disks and servers to be used as templates. In addition it can store and catalogue backups. It can be integrated with VMware and provide services like dynamic resource scheduling. This means the data centre can optimise itself and allow maintenance to be carried out with zero or minimal downtime.
In addition there is a wide range of optional services for things like dashboards (Horizon), messaging services (Zaqar), key management (Barbican), containers (Magnum) and databases (Trove).
Advantages for business
More and more companies are turning to the cloud and often they’re doing so via public cloud services. Whilst this is a straightforward and cost effective route there’s always the fear that you’re going to get locked into a particular model.
Many businesses therefore take the route of setting up a private cloud in order to test the water. Since many public clouds use the same technology, using OpenStack to implement this ensures that you have a system that’s able to connect, both to in-house systems and public clouds, so you’re not closing the door on taking a different or hybrid route in the future.
Adopting the OpenStack standard ensures that cloud networks will be compatible and it will be easy to transfer workloads to virtual machines. Many of the advantages of OpenStack – in terms of cost, scalability, adaptability, and so on – are the same as the advantages of the cloud generally. But by adopting OpenStack protocols you gain the flexibility to transition to other private and public clouds in future with minimum disruption. The existence of a readily available API also helps reduce the risks of lock in.
In only six years OpenStack has gone from newcomer to established mainstream technology. The attractions of a stable, open source platform are just as compelling for end user companies planning their cloud strategy as they are for infrastructure providers looking to market their services.
In its early stages lack of container support was a road block to OpenStack adoption though this is now being addressed with Magnum, which offers a container-as-a-service system, and Kolla which allows OpenStack itself to be containerised.
There is a risk that with more services becoming available the six month release schedule of OpenStack may start to look unrealistic. The way round this may be for different parts of the project to adopt their own development cycles rather than remain tied to the whole.
The fact that the industry has already invested heavily in OpenStack suggests that it’s here to stay. It’s likely to be the platform of choice for private and hybrid clouds for some time to come.