Five ways to migrate applications to the cloud
Organizations seeking to move applications into the cloud have five options: rehost on infrastructure as a service (IaaS), refactor for platform as a service (PaaS), revise for IaaS or PaaS, rebuild on PaaS, or replace with software as a service (SaaS), according to Gartner.
“When the CIO issues the simple directive: “Move some applications to the cloud’, architects face bewildering choices about how to do this, and their decision must consider an organization’s requirements, evaluation criteria, and architecture principles,” said Richard Watson, research director at Gartner. “However, no alternative offers a silver bullet: all require architects to understand application migration from multiple perspectives and criteria, such as IT staff skills, the value of existing investments, and application architecture.”
The alternative migration strategies Gartner suggests IT organizations consider are:
Rehost, i.e. redeploy applications to a different hardware environment and change the application’s infrastructure configuration. Rehosting an application without making changes to its architecture can provide a fast cloud migration solution. However, the primary advantage of IaaS, that – teams can migrate systems quickly, without modifying their architecture – can be its primary disadvantage as benefits from the cloud characteristics of the infrastructure, such as scalability, will be missed.
Refactor, i.e. run applications on a cloud provider’s infrastructure. The primary advantage is blending familiarity with innovation as “backward-compatible” PaaS means developers can reuse languages, frameworks, and containers they have invested in, thus leveraging code the organization considers strategic. Disadvantages include missing capabilities, transitive risk, and framework lock-in. At this early stage in the PaaS market, some of the capabilities developers depend on with existing platforms can be missing from PaaS offerings.
Revise, i.e. modify or extend the existing code base to support legacy modernization requirements, then use rehost or refactor options to deploy to cloud. This option allows organizations to optimize the application to leverage the cloud characteristics of providers’ infrastructure. The downside is that kicking off a (possibly major) development project will require upfront expenses to mobilize a development team. Depending on the scale of the revision, revise is the option likely to take most time to deliver its capabilities.
Rebuild, i.e. Rebuild the solution on PaaS, discard code for an existing application and re-architect the application. Although rebuilding requires losing the familiarity of existing code and frameworks, the advantage of rebuilding an application is access to innovative features in the provider’s platform. They improve developer productivity, such as tools that allow application templates and data models to be customized, metadata-driven engines, and communities that supply pre-built components. However, lock-in is the primary disadvantage so if the provider makes a pricing or technical change that the consumer cannot accept, breaches service level agreements (SLAs), or fails, the consumer is forced to switch, potentially abandoning some or all of its application assets.
Replace, i.e. discard an existing application (or set of applications) and use commercial software delivered as a service. This option avoids investment in mobilizing a development team when requirements for a business function change quickly. Disadvantages can include inconsistent data semantics, data access issues, and vendor lock-in.
“Choosing the optimal application-migration option is a decision that cannot be made in isolation,” said Mr. Watson. “Any cloud-migration decision is, in essence, an application or infrastructure modernization decision and needs to be approached in the broader context of related application portfolio management and infrastructure portfolio management programs. This decision is not solely an issue of migration but is truly one of optimization: Which cloud platform and migration techniques offer the chance to optimize the application’s contribution to stated and implied business and IT goals? Those business and supporting IT goals, described next, should be driving any cloud migration decision — not a rush to experiment with new toys.”