A few days ago Amazon announced its new AWS Management Portal for vCenter, which allows VMware users to manage AWS workloads from vCenter and to import VMware golden images to AWS using its VM Import utility. VMware responded with a “Don’t Be Fooled” blog, noting that AWS provided “no easy way to move workloads back to one of your data centers, or to another cloud provider.” The blog went on to suggest that VMware was a better option for cloud migration and portability.
So first, the hard truth: Migrating an existing virtualized application to a cloud, while definitely possible and often a very smart option, is not a push-button affair — no matter what VM import or image translation tool might exist. And we can say this because we have been doing multi-cloud for a while. We’ve helped customers move many real-world applications (not just those simplistic applications a cloud provider will show you in a demo) to a variety of different clouds and between clouds — so we’ve got a few thoughts and experiences to share. Because we are focused on supporting all of the infrastructure resource pools that our customers use, we recently added support for managing VMware vSphere environments alongside our support for AWS, Azure, OpenStack, and other leading public and private clouds.
How to Approach Cloud Management, Migration, and Portability
When you migrate existing applications from a VMware virtualized environment to the cloud, there is inevitably going to be some level of re-factoring involved in all but the most simple apps. Sometimes the refactoring is simple and the ROI is clear, and other times it is not. A tool that translates an individual VM into another format may help get you part of the way there, or it may not help much at all. But it is not sufficient, on its own, to get any but the most basic application running in the cloud.
In helping our customers assess applications they want to migrate to the cloud, we consider how the application is architected and its critical dependencies. These include:
- Operating system versions
- SSL termination
- Clustering of load balancers
- App clustering
- Shared file systems
- Static IPs
- Scale-down logic
- Virtual IP requirements
- Multi-master database
- Database I/O requirements
So, if real-world push-button migration to cloud lies more in the realm of fantasy than fact, how should organizations proceed? We have identified three common use cases among our customers. Our approach at RightScale is to provide solutions for all three use cases and to work with our customers to assess which approach is best for which applications:
1. Multi-Cloud Management
“I want to manage natively across multiple clouds and VMware vSphere.”
In this situation, customers have existing workloads in VMware vSphere, AWS, and other clouds. They want to see and manage those workloads from a single pane of glass. They want self-service access combined with enterprise controls.
2. One-Way Migration
“I want to migrate workloads from VMware vSphere to AWS or vice versa.”
Customers are often looking to get out of the business of managing data centers and get onto AWS or another public cloud. Or in some cases they want to move “shadow IT” apps back from a public cloud to their private clouds. They see this as a one-time move.
3. Ongoing Portability
"I need to be able to move workloads among my different resource pools at any time."
Customers have a variety of reasons for wanting portability. Many want to leverage different resource pools at different points in an application lifecycle (such as public cloud for dev/test vs. private cloud for production). Others need to run workloads on different cloud platforms for different geographies. And some want to preserve choice so that they can move to different clouds or hypervisors as the market evolves or cost models change.
Four Ways to Get Started
Most companies will have applications in all three categories above. To get started on your migration to cloud:
- Implement multi-cloud management to gain visibility and control over current and future cloud environments. Ensure that you can manage applications across your cloud portfolio and your VMware vSphere environments from a single pane of glass.
- Offer a self-service cloud portal that enables your users to deploy workloads across a curated set of clouds according to your policies. Provide push-button access to standard stacks and common applications across any clouds you choose.
- Leverage a portable multi-cloud framework for any new applications to ensure that they can be moved freely between infrastructure pools in the future. You’ll need tools to bridge the varying cloud APIs, operating systems, and hypervisors.
- Assess which of your existing applications should be migrated to the cloud or between clouds by analyzing both business value and technical fit. For example, elastic web applications are going to be easier to migrate than monolithic legacy applications.
Virtually every enterprise is looking to leverage public and private clouds alongside their existing virtualized environments. The RightScale 2014 State of the Cloud Report showed that 74 percent of organizations have a multi-cloud strategy. Therefore, companies need to develop capabilities to manage across clouds, migrate existing workloads to the cloud, and provide ongoing portability between clouds. A multi-cloud management platform is a critical foundational technology for organizations looking to operate in these heterogeneous environments.