After a packed week at VMworld Barcelona, it’s time to share some highlights as promised in my earlier post.
All kinds of VMware customers thronged to our ElasticBox booth: People from large enterprises, small companies, service providers, and system integrators. A question that repeatedly came up in conversations was: “How is it possible to manage my applications in the cloud without directly managing the server infrastructure?”
Applications in Enterprise Virtualized Private Networks
Many EU companies manage applications in virtualized networks, on private clouds than on public. The reasons for the slow move to the public cloud are not surprising. Data privacy is a chief concern. Beyond EU government regulations, there are other security needs around availability, scalability, and latency as well.
To illustrate this point, consider how most enterprise applications are built in the private cloud with a certain redundancy in mind. When you deploy to a server, you put a lot of processes in place to guarantee its uptime. You run the server in a cluster with duplicated storage, snapshots and data backups. That’s a lot of complex processes built around server infrastructure just to keep it alive. After investing so much time and money on achieving this state of availability, whether or not you use the server, you don’t want to touch it. Now in such a scenario, you’re really not making use of the cloud.
Take another example. AWS is elastic and provides services on demand. So you ideally use it only as you need to. But if you go create a number of servers on AWS that are always turned on whether or not your applications are using them, then it’s not a cloud. In this case, you’re just using AWS as a hosting provider. You’re simply re-hosting your servers on AWS.
True Usage of the Cloud
To me it’s a cloud when infrastructure is a service that you use only when you need it. The cloud should fulfill your demand for infrastructure in an automated and elastic fashion.
When infrastructure is a service, you don’t want to manage it. You want to consume. Much like renting a car. You rent when you need to ride. You’re not going to pay 100 bucks a day just to rent and park the car in your garage. Also if the rental needs a tune up or an oil change, you shouldn’t be the one doing it. You just want to drive and not worry about anything else. The same goes for managing servers. The thinking is I don’t want to put all that effort into maintaining that server, which is like changing the oil on a rental car. I just want to use the server when I need it. When you rent infrastructure in the cloud, you shouldn’t have to manage the servers. You don’t want to be logging into servers and installing software manually.
At ElasticBox, we give you the tools to manage your infrastructure from the point of view of your applications. We have built in tasks to routinely manage the lifecycle of your applications. Based on the data you provide of the application and how you define the application, we manage the infrastructure with the cloud provider of your choice–public, private, or hybrid.
Automating Deployment Processes
Other interesting deployment scenarios were from system integrators. Their main challenge is they spend a lot of time automating server infrastructure, managing virtual servers, and learning new tools from different providers. They realize they replicate the processes for managing applications across multiple clouds. It makes them focus less on the needs of the applications and more on managing the infrastructure. In a way, it defeats the purpose of why they got on the cloud in the first place!
For example, even with a single cloud provider and the same infrastructure, it’s a challenge to maintain separate environments for dev, test, and production because of the amount of duplicate effort involved. The way ElasticBox looks at it, the difference between the dev, test, and production environments is a matter of different policies. While an application in a production environment has regulatory, reliability, and disaster recovery needs, the same application a dev environment doesn’t have them. The application itself doesn’t inherently change across these different environments. It’s the same application just run in a different way. It’s how it’s run that changes. And if the ‘how’ is automated then it’s truly easy to deploy applications in the cloud.
The New Cloud Mantra
The new paradigm shift in cloud deployments is to manage deployments from an application point of view instead of the infrastructure point of view. The shift has already happened before in the way we moved from managing infrastructure in physical machines to virtual machines.
So instead of defining processes to manage infrastructure across multiple clouds, you just define the way you want your applications to run and let the system take care of managing the server infrastructure for you based on demand and policies. If your infrastructure changes, you don’t have to change the application needs or your policies. What need to be updated are the management tools to leverage the new capabilities. And that’s what ElasticBox does. We provide the service to automate the management processes so that you can focus on the needs of your application and the control the policies that dictate who should use the cloud resources and how much of it.
This is the message that resonates very clearly with the companies that are trying to run applications on infrastructure across multiple cloud providers.
We allow you to focus one level up. Above the infrastructure management tools. What you do is define applications you want to run and then rent the technology that will automate the process of managing the low-level infrastructure to run the applications. To focus on the application level–now that’s the power customers really want.