Migrating applications to the cloud isn’t done with the flip of a switch. Organizations must carefully define an application migration strategy, choose the right migration tool and, in some cases, even refactor their applications to take full advantage of cloud.
At the recent Modern Infrastructure Summit in Chicago, managing editor Adam Hughes spoke with Robert Green, principal consultant and cloud strategist at Enfinitum Inc., a consulting firm based in San Antonio, about the do’s and don’ts of migrating applications to the cloud.
SearchCloudComputing: What is the difference between a lift-and-shift migration approach vs. refactoring an application for the cloud?
Robert Green: Your traditional lift-and-shift model is [when organizations say], ‘I’m going to take my application as it stands today with [its] operating system, as well as the infrastructure of the application, and move that over to the cloud.’ It’s typically done just like you’re moving a VM to an instance on the cloud. It’s kind of holistic.
Robert Greenprincipal consultant and cloud strategist at Enfinitum Inc.
There’s benefit to refactoring, and there’s detriment. I typically go back to [the question],’ What is your customer experience and business going to look like?’ Understanding how to adopt DevOps [is important] as you’re going through the refactoring, [since] you’ll always have legacy applications. The benefit to refactoring legacy apps really comes in the transformation of your business into a DevOps [and] agile technology.
SearchCloudComputing: What are the biggest challenges when migrating applications to the cloud?
Green: When moving an application to the cloud, you need a full understanding of how an application works, and how it’s going to perform in the cloud. Most people haven’t taken the proper time to understand the performance metrics. You’ve got to know [and] you need some really good detail around you about how your application functions [and] how it scales. Knowing that is half the battle, and if you can figure that out, you can protect your cloud environment to match the performance metrics you need.
SearchCloudComputing: How do availability requirements like disaster recovery and scaling fit in here?
Green: The thing I always talk about is understanding which application is bound [and] understanding which application can horizontally scale, because that’s key for [the] cloud. When you don’t have horizontal scalability, you have diminishing returns. You vastly limit the amount of benefit your cloud migration has to offer.
When you talk about DR, there’s that adage that when you move your instances to the cloud, they become like cattle – [if] one gets sick, you put it down. Cloud instances should be stateless; when one gets ‘sick,’ you delete it, you kill it, you purge it and you create another one. That has to be blueprinted [and] it has to be automated. That’s really the key to hitting that DR statelessness.
SearchCloudComputing: Are there any good tools to use when migrating applications to the cloud?
Green: Your first important migration tool is your people — understanding and changing the way they think about their servers. Don’t build operating systems and VMs, build blueprints. Automate how you install those things. There are other applications out there, like CloudVelocity, where they take a picture of your existing instances and move those to things like Amazon. A lot of the providers that offer cloud, the back end of it is a XenDesktop or a XenServer, [or] a hypervisor that’s well known, so you can work your way into that.
SearchCloudComputing: How can an enterprise mitigate cost during a migration?
Green: If you can take some of those applications, and refactor them while moving your development to DevOps, using that [agile] approach, you gain massive benefits. The refactoring time spent is actually mitigated by taking that as a training opportunity to grow your organization to do things much quicker.