Turning infrastructures into platforms

June 24, 2011 Off By David
Object Storage
Grazed from Cloud Pro.  Author: Simon Bisson.

Clouds need to be portable, if only to give you the ability to change service provider at the end of a contract or if your current host consistently fails to meet agreed SLAs. If you’re running a private cloud in your own datacenter, portability allows you to take advantage of burst patterns, expanding into hosted services as and when business demands require additional compute capacity.

But today’s cloud services are monolithic and incompatible. While you can use Microsoft’s AppFabric tooling to build services on private clouds that run on the company’s Azure platform, you are still limited to one vendor. It’s harder still to move off a dedicated platform like Heroku or Google’s AppEngine. Even Infrastructure as a Service (IaaS) providers aren’t compatible, so you can’t take an application running on Rackspace Cloud and drop it straight onto Amazon’s EC2.

While IaaS lets you use some of the utility aspects of cloud computing, such as ease of horizontal scaling, it still means you need to manage that infrastructure and develop your own tooling for handling scaling – both up and down.

That’s where OpenStack comes in. Based on an open source mix of Rackspace Cloud and NASA’s Nova cloud computing solution, it’s a way of taking a generic infrastructure and using it to host your own custom platform and applications. With OpenStack you’ll be able to work with multiple infrastructure providers and with multiple virtualisation stacks without affecting the one thing that really matters: your services and your applications. You’ll be able to build on Rackspace and move to EC2, or deploy on your own VMware cloud before switching to a cloud data centre running Cisco servers. It’s the platform that matters, not the infrastructure.

Tools like OpenStack don’t get rid of all of the downsides of working with IaaS, as they still need you to deploy base operating systems on the service hypervisors – or even on your own virtualisation platform. That means you’ll have to manage your image operating systems and handle OS updates and security patches.

However, there is one big difference from traditional infrastructures, as you get frameworks to help manage and deploy services, as well as access to community managed libraries of OS and application images. They also provide tools for managing storage as a service, with simple APIs for your applications – again simplifying the task of migrating from private to public clouds and from one IaaS vendor to another.

Deploying your own Platform as a Service lets you separate the compute function away from your virtual infrastructure – so you can change the roles of your operations team, focusing one part of the team on managing commodity infrastructure (whether it’s your own server hardware or EC2 images) and hypervisors, and the other managing cloud applications and services. Using a cloud platform layer on top of your infrastructure (both physical and virtual) breaks much of the linkage between applications and infrastructure, letting the two functions work without interfering with each other.

Cloud services are a means of abstracting compute resources from the underlying hardware and using those compute resources to support your applications. PaaS platforms like Azure and OpenStack give businesses the flexibility they need to change from application-centric ways of working – something preserved in IaaS – to using services to deploy business processes, and thinking of compute in terms of workload.

The more abstraction you can put in, the better, as it means you can take advantage of commodity infrastructure and off the shelf virtual machines. Microsoft’s private cloud tools in System Center Virtual Machine Manager 2012 let architects work with virtual networks. While OpenStack doesn’t yet support virtual network architectures, a working party led by Cisco is developing a networking service model for an upcoming release.

OpenStack’s network service will allow you to define connections between compute and storage resources. The underlying virtual infrastructure will be configured to manage connections automatically and this will let you develop isolated multi-tenant services and applications more effectively. Once a standard has been developed, management tools should allow architects to select servers and storage, then connect them in a virtual network using graphical tools before deploying a complete infrastructure with just a few clicks of the mouse. At the same time, the software and services needed to run key business processes can be deployed.

While some smaller IaaS cloud vendors might see technologies like OpenStack as a threat to a profitable infrastructure business, they’re actually tools providers can use to add value to existing services.

Platforms are what made companies like Apple and Microsoft successful and the more open the platform, the more opportunity for growth and for success. End users will be looking for simplicity, not complexity, and the more functionality you can automate, as well as the more self-service you can offer, customers are more likely to stay. They’re already seeing self-service tools in their networks and if they are to be long term customers of any service, they’re going to want the same push-button near-instant service – along with the ability to add their own automation features to applications.

Converting IaaS to PaaS will also allow managed clouds to improve resource utilisation, ensuring only the required infrastructure is powered and reducing data centre costs by keeping the need for power and cooling to a minimum.

Open source PaaS technologies like OpenStack are going to be an important part of the cloud ecosystem. While they are new – and still immature – they promise much and if they only deliver the ability to migrate smoothly and cleanly from one infrastructure provider to another, then they’ve done more than enough to simplify working with all types of cloud, from public to private to hybrid.

The vision is of course much bigger and open platforms that can compete with services like Microsoft’s Azure. There the jury is still out, as key components are still missing. There’s certainly a significant industry backing and for OpenStack sponsors like Rackspace, Cisco and Citrix give the fledgling platform a basis that should help it deliver sooner rather than later.