Guest author Lucas Carlson is the founder and CEO of AppFog.
2012 was a huge year for the cloud, providing developers with a bounty of both public and private Infrastructure-as-a-Service (IaaS) providers, Platform-as-a-Service (PaaS) offerings and Software-as-a-Service (SaaS) options.
Enterprise developers quickly understood the benefits of the cloud, and sunk their teeth into porting projects onto public infrastructure, experimenting with PaaS, developing cloud-based dev/test solutions and incorporating all kinds of SaaS offerings into their daily workflow.
While this is all very exciting for developers, rampant cloud adoption can be a headache for enterprise IT departments. They need to manage, govern and control cloud adoption or deal with chaos.
Uncontrolled Cloud Growth Creates Cloud Sprawl
Cloud sprawl is what happens when enterprise IT and the lines of business it supports all simultaneously but independently employ a variety of cloud services in an uncoordinated fashion.
The business groups could be running apps across a half-dozen different runtimes and using an equal number of different database technologies - some on-premise on a VMware vSphere cloud, others experimenting with OpenStack and some on Rackspace OpenCloud across various regions and zones. The rest could be using Amazon’s public cloud - in Virginia or perhaps Singapore.
In some cases, the enterprise pays for the cloud services. But in many cases, individuals are simply using their personal credit cards and expensing the costs. It’s the Wild Wild West!
Not surprisingly, IT leaders are conflicted. On one hand, they’re inspired by the drive and creativity of their development teams. And they love the velocity of development and releases, and the innovation that results. But they are positively horrified by the thought of making it all work together: “If my department has an app in development on Amazon Web Services (AWS), we need it on our private cloud. Who’s going to make that happen? How much time are we talking here?”
From Cloud Sprawl To Cloud Sanity?
Cloud sanity means having one deployment and management solution responsible for the wide range of app lifecycle processes, including app deployment, deletion, starting/stopping, database service provisioning and tunneling, cloning and re-deploying apps across infrastructures, memory management and more.
It also means having one solution for deploying to AWS, and for migrating from Azure to OpenStack, and for creating new PostgresQL databases, and for syncing up distributed systems through RabbitMQ… well, you get the idea. Right now, sadly, most companies have a single tool (or more commonly each employee has their own version of a script) for each individual task.
The old way of taming cloud sprawl was through vendor lock-in. If your company’s data and apps ended up scattered across a variety of clouds, then you were compelled to pull them all under a single umbrella, be it a private cloud or a single public cloud provider. IT gained predictability from doing this, but lost the ability to experiment outside of the chosen vendor’s bubble. Lock-in means degraded velocity and an elimination of flexibility. Lock-in means an end to innovation.
It doesn’t have to be this way.
Horizontal Hybrid PaaS = Cloud Sanity
A horizontal hybrid PaaS provides a single solution to handle app deployment and management without having to give up on an agile, experimental way of doing things. With a horizontal hybrid PaaS, the enterprise gains freedom from both vendor lock-in and cloud sprawl.
CTOs, CIOs, IT directors and other technology decision makers regain governance of cloud services across the enterprise, as well as single-point-of-truth insight into where apps and services are housed. If they don’t like what they see in terms of performance or agility or any other metric, the workload portability gained from using a horizontal hybrid PaaS makes it easy to switch between clouds, turn services on and off, and switch apps from development to production and back.
Meanwhile, developers gain agility and speed above and beyond anything they’ve experienced in the enterprise. They gain the ability to use and experiment with a variety of cloud services – public, private, Rackspace, AWS, OpenStack, Azure and any language they want – in a way that doesn’t give their bosses headaches about cloud sprawl.
Business leaders are happy because IT is humming along, quickly implementing new ideas and doing more with less. All with reduced cost complexity.
Heterogeneous Clouds In The Enterprise
In 2013, heterogeneity is the name of the game in the cloud. But cloud heterogeneity is still scarier than it needs to be. But heterogeneity can be freeing and enabling, if it's properly managed.
IT should want to have it all: flexibility and control, experimentation and insight, the cost and efficiency advantages of the cloud and a no-surprises approach to cost apportionment.
Image courtesy of Shutterstock.