Welcome to our Cloud Essentials blog post series! In this series we provide you with insights about important concepts and practical tips for Cloud transformations. Whether you are currently going through a Cloud transformation or are preparing for it, be sure to check back frequently for more articles. This part of our Cloud Essentials series is dedicated to one of the most widely used key concepts in application transformation planning – the 6R’s of Cloud transformation. The 6R's are your essential tool to structure and communicate your application transformation roadmap. It helps to determine, for each and every application, what is the best strategy to move this application to the Cloud. So read on to find out what is inside the 6R's, how you can apply each transformation strategy and the benefits to expect.
Inadequately migrating applications from on-premises to the Cloud can completely waste the financial and practical benefits of Cloud offerings – both in the short and long run. That is why every Cloud migration roadmap needs to define a clear migration strategy for every application, based on a holistic application assessment. This assessment should not only take into account technical aspects but also business, organization, security and compliance. The selected strategy fundamentally affects the expected migration effort, the potential amount of benefit of using Cloud and possible long term cost savings of the new operations model. This is where the 6Rs come into play. Essentially, you can think of each “R” as a possible migration strategy for your applications. Each strategy refers to a specific method to move an application to the Cloud, and the outcomes of this method. It is an overall framework, which does not provide detailed migration steps.
The concept was first mentioned by the Gartner analyst Richard Watson in 2011. The 5 original strategies – namely the Rehost, Refactor, Revise, Rebuild and Replace – were revived and adapted in a widely cited blog post by Steven Orban of AWS in 2016. Orban kept some of Gartner’s strategies, renamed some and added a new one. Via the AWS Cloud Enterprise Strategy Blog the approach has been made public and became popular. Thus, the 5R’s became the 6R’s. Today, the 6R’s are used as a fundamental guideline for almost any Cloud transformation. There are still disputes whether further strategies should be added. At the end of this article, we will have a quick look at a 7th R, “Relocate”, recently introduced by AWS. However, we at Txture still rely on the 6 key strategies of Orban’s article: Rehosting, Replatforming, Repurchasing, Re-architecting, Retire and Retain. Let’s get into the details of the strategies and discuss some examples for each of them.
In the following, we dive deeper into each migration strategy. Here is an infographic to give you a first overview of the different Rs:
This strategy, commonly known as lift-and-shift, is a widely chosen strategy due to the relatively low migration effort. The virtual machine and the application that runs in are simply copied as-is to a cloud provider. The most important benefit of this strategy is migration speed because no architectural refactoring needs to be done. Moreover, the migration can often be done automatically using a variety of lift-and-shift or so-called workload mobility tools.
However, the Rehosting strategy has a major drawback. Using this approach it is not possible to exploit the cloud's entire potential since the applications are not built in a cloud-native fashion. Simply rehosted applications are, compared to cloud-native applications, not decoupled from the operating system[2] and are usually much more difficult to scale. Experience shows that from a cost perspective Rehosting usually does not lead to any major advantage.
In contrast to Rehosting, Replatforming leads to cloud optimization due to some cloud platform adoption, while keeping the application core architecture the same. Replatforming requires deeper insights into the application or the virtual machines to be migrated than Rehosting but does not lead to the complexity and effort typically associated with Rearchitecting[3]. Replatformed applications show some cloud-native characteristics like horizontal scaling and portability. Often, Replatforming is used when replacing database backends of applications with a corresponding PaaS database solution of a cloud provider.
For highly critical applications that require cloud-native characteristics or applications that need thorough modernization due to outdatedness or performance issues a higher migration effort is typically profitable and hence should be part of cloud considerations[4]. Re-architecting (also called Refactoring or Rebuild) is the strategy that usually leads to the highest transformation cost. However, it allows optimized use of the cloud, leading to cloud-native benefits and making the application future proof. In doing so, the affected application is refactored using an alternative application architecture. Typically this involves breaking down the application’s components into smaller building blocks, microservices and wrapping them into (Docker) containers for a deployment on a container platform.
Re-architecting an application often comes along with the opportunity to even break down the supported business processes into fragments, which greatly improves simplicity and makes a business process more agile[5].
The Retire strategy means that an application is explicitly phased out. This makes sense when the business capabilities this application provides are not needed anymore or are offered in a redundant way (this is then sometimes called Reconcile to express the consolidating effect when leveraging the existing application portfolio for replacements). We see this often in those cases where organizations recently went through mergers and acquisitions. You should take the Cloud transformation project as a welcome opportunity to screen your application portfolio and reduce obsolete applications on the go.
Retain (or Revisit) means that you do not migrate the application at this point since you are lacking important information or are hindered by other factors. For some applications, a move to the cloud just does not make any sense. For example, due to latency requirements, compliance reasons or simply because the benefits of a migration won't outweigh the cost and effort to be invested. You should, however, always set yourself a reminder to “Revisit” the application because the technical or compliance landscape might have changed.
Repurchasing (also called Replacing) is the strategy where the legacy application is fully replaced by a SaaS-solution that provides the same or similar capabilities.
The migration effort heavily depends on the requirements and options of migrating (live) data. Some SaaS-replacements for on-premise products from the same vendor offer an option to quickly migrate data with little effort or even automatically. Some providers offer analysis tools to assess the to-be-expected migration effort. However, this might not be the case when switching to a product of a different vendor or if the migration path has been interrupted due to neglected maintenance of the on-premise application.
Relocation is close to the Rehost strategy, but applies specifically to applications that are hosted in VMware. In this case, the strategy consists in creating a copy of the application in VMware Cloud. Just as rehosting, the main benefit is migration speed, as the application is copied to the Cloud as-is. The users keep the tools and the technical environment they are familiar with, which leads to easier adoption of the new application. However, in the same way as rehosting, the relocation strategy does not allow to leverage all cloud-native features. Therefore, it limits the performance and flexibility improvements that other migration strategies can offer.
The 6R’s of Cloud transformation are an essential tool for categorizing the Cloud migration strategy of your applications and bringing structure into your decision processes. But how to determine which migration strategy is the most accurate for a specific application? To help you get started, Txture listed 9 important questions to answer regarding your application’s specificities (technical dependencies, application lifecycle, business value, etc.). More information?
→ Download our 6R Cloud Migration Decision GuideOf course, to conduct a thorough Cloud readiness application assessment, you need to collect all relevant information to define the characteristics of your application. But fear not! Txture helps you to significantly reduce the time and effort to collect the data and automatically suggests the appropriate migration strategy for your applications.