Strategies for Migrating Applications to the Cloud

TIBCO Software has adopted a cloud first strategy. However, there are many companies who have large portfolios of applications that aren't running in the cloud. Options to deal with these applications are:

  • Replace: As mentioned above, this is when you replace an application on premise via a SaaS offering. An example of this is when users adopt Salesforce
  • Rehost: This is when you “lift and shift” your application from your own systems onto a cloud infrastructure as a service (IaaS) platform without modifying the applications
  • Refactor: Similar to rehosting, you modify the application so that it can begin to take advantage of basic cloud capabilities
  • Rearchitect: This is when you significantly change the application so you can benefit from cloud-native capabilities
  • Rebuild: In this option, you start from scratch and build the application specifically to take advantage of cloud-native capabilities of the platform you are going to leverage

These are similar to the following six common application migration strategies described by Stephen Orban of Amazon AWS.

  1. Rehosting
  2. Replatforming
  3. Repurchasing
  4. Refactoring/Rearchitecting
  5. Retire
  6. Retain

Cloud Computing Styles

InformationWeek has broken cloud computing into 5 different categories or styles.

  • Software as a service
  • Infrastructure as a service
  • Storage as a service
  • Platform as a service
  • Hybrid clouds

For software as a service think salesforce.com or Google apps.

Infrastructure as a service and storage as a service are similar to data center hosting that has been available for many years. The differences are that today most of these servers are now virtual and billing is based on more detailed levels of usage.

Platform as a service provides developer ready environments for application development and deployment. Microsoft Azure is one example.

Hybrid clouds are when some version / combination of the previous styles is run in an in-house data center.

In the short term it seems to me that large enterprises will gravitate to hybrid clouds and smaller companies will utilize software as a service.

I also believe that Infrastructure and storage as a service will remain popular for public facing websites in the short term but that developer interest in the platform as a service model will quickly grow.