NASA and Rackspace cloud’s ‘Openstack’ project is designed to provide just that – a way of using ‘open stack’ servers for public use. It aims to provide an easy and low-cost route into cloud computing on any scale, from small application provision right up to cross-enterprise deployment. The OpenStack project itself aims to offer an ‘Infrastructure as a Service’ (IaaS) layer that makes running a cloud computing environment across a range of hardware – from a range of hardware providers – as easy as possible.
It’s open-source, which means there’s no licensing involved and anyone can edit it as much as they like. The main reason for that is that the Openstack project sees cloud computing as the next frontier in doing computing itself, and not just a proprietary service-provision enclave of paid programmers. As such, one of the project’s main aims is to establish standards for doing cloud computing.
Those standards are malleable – like the development of HTML5 and CSS driven by the W3C. This article will look at the currently proposed IaaS standards available for use by the community, current as of the latest OpenStack release (‘Essex’ , on the 5th of April 2012).
Openstack’s computing offers a cloud computing fabric controller – the principle IaaS component – for managing distributed computing. ‘Distributed computing’ encompasses a key idea behind cloud computing – that of hardware-agnostic scalability (i.e. you can rack up the power of your cloud service using hardware from a variety of different providers).
It allows you to provision, administrate and manage large numbers of virtual machines (which are machines comprising several different physical hardware machines). Commodity resource management is built-in – you can manage CPU, memory, disk and network interfaces from a single location.
Compute also allows for configuration of your cloud services using server building principle best practice, such as ensuring the principle of least privilege (no user can do more than they need) and logging (all movement within the service is tracked and logged).
Openstack also offers an easily-scalable storage system, with redundancy configuration ready immediately. This means that cloud service providers can leverage commodity hardware, transitioning between hardware – and hardware providers – freely. This, of course, influences market competition for hardware provision and drives down prices correspondingly.
Storage is node failure-agnostic – i.e. if structural nodes (such as individual server machines) fail – say, due to hard drive failure – then multiple redundancies are built-in. Furthermore, Storage offers drive auditing, which can detect HDD failures prior to data corruption.
Since Storage is highly optimized – in part due to the huge developer community behind this open source project – the IaaS service virtually eliminates bottlenecks, speeding data provision. It offers 3x redundancy, as opposed to traditional server-based RAID redundancy which offers 2x redundancy (more if more money is spent).
Similar to the other two IaaS services under inspection here, Network allows for easy and transferable configuration of network parameters.
That includes input and output protocols, identification and encryption and so on.
4. Image Service
The image service allows for the management of virtual disk images. This enables rapid backup – a ‘snapshot’ of a disk image is very easy to schedule.
The service integrates with existing virtualization formats, which makes for simple transfer from hardware-to-hardware (again, a key principle of the project’s hardware agnosticism). Supported formats, and parenthesized associated organizations, include:
- Raw (generic machine imaging)
- Machine (as above)
- VHD (Hyper-V)
- VDI (VirtualBox)
- qcow2 (Qemu/KVM)
- VMDK (VMWare)
- OVF (VMWare, others)
The Dashboard is a recently-released service that aims to offer a user-friendly but powerful GUI to overview administration. From the Dashboard, you can manage the Compute, Storage and Networking services, as well as smaller services such as the Image service above.
This is great for administrators – it’s a single location from which you can manage virtually (pun intended) all the resources your cloud service demands, and adjust them on-the-fly. Service reaction latency is low – Dashboard’s commands are carried out almost instantaneously across your entire cloud service.
Openstack being open-source provides a host of great benefits. Firstly, it’s experiencing massive growth. As of the 12th July 2012, there are 3386 people and 183 companies involved in its development. That means rapid and sustained improvement, as well as lots of support for individual issues.
It also means a durable and expertise-rich service going forward: by drawing on the world’s finest developers, and giving them the opportunity to develop the standards involved in tackling computing’s greatest frontier, the material produced is top-quality. Of course, a huge community like this means many developers-for-hire, technical maintainers and so on.
Because the project is community property, licensing costs from the development of IaaS layer services are not carried forward, which means lower deployment costs. It’s the Linux of cloud computing – while technical variants can be licensed, the exciting prospect is the establishment of community standards for doing distributed computing in this way.
Lots of companies are endorsing the Openstack project, and it’s not difficult to see why. Hardware providers have a one-step solution to leasing hardware resources and cloud providers have a one-stop resource for implementing hardware-agnostic cloud computing.
Of course, this all filters down to the user. A stable and optimized cloud platform will benefit any application layer. The open-source nature has impacts on end-user expenditure – because licensing isn’t carried forward from the IaaS layer, and virtually irrelevant at the hardware provision layer, the cost to the end-user is correspondingly lower as well.
Companies offering their own ecosystem of Openstack – including, for example, proprietary PaaS layer solutions, security protocols or, more widely, consulting and security services – are wide and varied, and so is the quality of the services they offer.
Ultimately, Openstack is a fantastic open-source project being deployed in precisely the way it was strategically envisaged to be. Only in its infancy, We hope to see support for the project grow as interest in cloud computing gathers pace over the next few years.
Title Image Courtesy: SeedRocket