Public Cloud Migration: Choose Your Path Carefully

We’re in the midst of a dramatic market transition to public cloud. Businesses increasingly see cloud as a competitive necessity, and they’re gaining confidence in its security capabilities. The public cloud services market is projected to grow six times faster than overall IT spending over the next few years, hitting $141 billion as early as 2019.

But public cloud technology is complex, and migrations can be risky — particularly DIY migrations. Perhaps the most serious migration mistake we see at Rackspace is a failure to migrate apps using the appropriate methodology.

In this post, we’ll take a look at each of the public cloud migration techniques, so you can be sure you’re using the right ones given your application landscape.

Keep in mind, not all applications belong in the cloud. In addition to migration methodologies, cloud specialists have developed procedures for accommodating apps that can’t be moved, and we’ll discuss those in the second half of the post.

Paths to the cloud: lift-and-shift, replatforming and refactoring

Lift-and-shift

The simplest migration approach is known as lift-and-shift, or rehosting. This is a machine-to-machine migration of application and data to a cloud platform — a simple replication involving configuration changes but no code rewrites. You can automate most lift-and-shift tasks.

Generally, the best candidates for lift-and-shift migrations are stand-alone applications without complex interdependencies. Lift-and-shift migrations can quickly bring down running costs of on-premises infrastructure, and the migration expense generally will not exceed the cost of moving workloads between on-premises VMs. Because lift-and-shift applications haven’t been developed or written for the cloud, however, they won’t be able to take full advantage of cloud capabilities.

Replatform

Stephen Orban, head of enterprise strategy at AWS, sometimes refers to replatforming as “lift-tinker-and-shift.” Instead of code-level changes, replatforming involves minor but critical environment-level changes to enable application servers and software to run on a new cloud platform. Replatforming encompasses:

DNS and networking changes,

operating system and database version upgrades and

INI and configuration file changes.

Nearly any custom-developed application less than a decade old is a good candidate for replatforming.

Refactor

Refactoring refers to code-level changes that optimize an application for cloud platforms. It’s a complex, time-intensive function and requires cloud-service domain skills and infrastructure and security expertise. Refactoring increases an application’s ability to take advantage of the scalability and elasticity of the cloud. Compute-intensive apps refactored to exploit automated resource provisioning, for example, can deliver huge cost savings during growth-driven infrastructure expansion.

An organization’s long-term vision for an application will often determine whether it needs to be refactored. You may want to overhaul an internal system so it can be used in a customer-facing role, for example, or re-architect an application to enable mobile access.

The path not taken: retaining, replacing and retiring

Retire

According to AWS, pre-migration assessments usually show that between 10 to 20 percent of enterprise IT applications can be retired. (Those apps may be outdated, no longer support a business process, or have static data that can be archived.)

Cloud platforms will also deliver certain capabilities and services more efficiently than your current applications. Up to 30 percent of data center apps can be retired, according to Cloud Technology Partners, because their functionality becomes redundant in the cloud.

And, most data centers run certain applications only to meet compliance requirements. During migration, you can rebuild those systems as cloud software, test them, and then use them only as needed, allowing you to retire the original application.

Replace

Some applications can be cost-effectively replaced by Software-as-a-Service (SaaS) alternatives. The replacement decision can be complex, depending on an application’s functionality, requirements and future role as envisioned by the business. If a cloud-based SaaS solution can replace a data center application and still meet organizational requirements, your immediate and long-term cost savings may be significant. SaaS solutions, for example, can accommodate new business requirements automatically — no need to mobilize an expensive development team.

Retain

Some firms see public cloud migration as a way to completely eliminate their data center footprint. The majority, however, will maintain some percentage of their on-premises application estate, having determined during assessment that neither replacement nor modification is justified.

The challenge here is not one of migration, but how to ensure that the retained applications can productively interact with the cloud-based applications. Your retained apps may be huge, heavily interconnected legacy systems. If so, be sure you carefully consider how to integrate them with your newly cloud-based applications.

The simplest path: managed migration

Before you embark on your migration project, make sure your cloud leadership has a fundamental understanding of these migration methodologies and related technical issues. Ideally, they’ll have multiple migration projects under their belt.

If you don’t have such expertise in-house, and you’re not ready to invest in new talent, your best bet is a managed migration. Rackspace Managed Services offers end-to-end migration guidance, from earliest discussions to application optimization in the cloud. We’ve used our proven methodology to manage thousands of successful migrations for organizations of all sizes. And we’re certified experts in all the leading cloud platforms, including AWS, Azure, Google Cloud Platform, VMware and OpenStack.

Share this post:

Jerry Hargrove is a Senior Solutions Architect on the Fanatical Support for AWS team at Rackspace. He works with Rackspace customers, helping them architect and implement super scalable and highly available solutions in the AWS cloud. Prior to joining Rackspace, Jerry worked as a Solutions Architect at Amazon Web Services and as a software architect and developer. Jerry brings more than 20 years of software architecture and development experience to the Rackspace team and has worked in a broad cross-section of the software industry in a variety of settings. When not at work, he enjoys spending time with his family and is an avid hiker, climber and back-country skier.