5 ways to migrate applications to the cloud
By Richard Watson, research director, Gartner 18-May-2011
Richard Watson, research director, Gartner
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).
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. 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 following are alternative migration strategies that IT organizations can consider:
That is, 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.
That is, run applications on a cloud provider's infrastructure.
"At this early stage in the PaaS market, some of the capabilities developers depend on with existing platforms can be missing from PaaS offerings."
-- Richard Watson, research director, Gartner
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.
That is, 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.
That is, 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.
That is, discard an existing application (or set of applications) and use commercial software Delivered-as-a-Service.
"[T]he advantage of rebuilding an application is access to innovative features in the provider's platform."
-- Richard Watson, research director, Gartner
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. 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 programmes.
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.
Richard Watson is a research director with Gartner. He advises clients on application architecture, service-oriented architecture (SOA), cloud application platforms and business process management (BPM).
0 reader's comment