Cloud Migration – Hamstrung by the 5Rs?

As Cloud becomes part of the everyday conversation in the technology world, offering genuine on-demand benefits, the big question is how do you realise these benefits from where you are today?

You have outlined your business case and now need to define a plan and approach to access the potential benefits of flexibility, resilience speed to market and cost.

For several years now the mantra has been to use the Five (or six) Rs approach – various versions have evolved, however at the core this approach suggests an enterprise application portfolio assessment to define a treatment strategy for each application based on one of Rehost, Refactor, Revise, Rebuild and Replace.

There are four key problems with this approach to migrating an organisation to the cloud: –

  1. Most large organisations do not have accurate and current data on the full portfolio of applications, data, platforms, integrations and inter-dependencies.
  2. Discovering this information will be a substantial investment of both cost and time delaying the business benefits.
  3. Large organisations have key systems that have evolved over many years to operate in an on-premises environment. Business critical applications depend on high availability provided by the infrastructure and in many cases the level of availability required is difficult to achieve on cloud platforms without specialised and expensive architecture. This complexity increases the time and costs to realising benefits.
  4. The perception is cloud environments create significant risks with security, data, sourcing, ownership and control. This creates a significant barrier to cloud adoption within an organisation leading to long delays to convince stakeholders the environment is safe for production workloads and real customer data.

The underlying problem with the Five Rs approach is the use of a waterfall approach to migrate to an agile environment. Cloud providers are continually changing their offerings and an approach based on waterfall timelines will lead to solutions that are already out of date once they are delivered. So, is there a realistic alternative?

At Enterprise Blueprints, we take a Five Step Approach.

  1. Establish Hybrid Cloud environment – First connect your on-premise data centre with the Public Cloud provider(s) of choice. For example, AWS offers Direct Connect and Azure offers Express Route.
  2. Cloud Platform team – Establish a cloud platform team lead by a Product owner with a cross-functional team to build the cloud computing environment for the organisation incrementally and iteratively as a platform.
  3. Migrate and Learn – Migrate only the development and testing environments to cloud initially. Consider migration of development and testing to cloud for all applications including legacy and critical business application where technology is supported by cloud.  Migrating development and testing of application will help gain deeper understanding of these application. Decisions on application future enhancements or retirement can be taken using facts.
  4. Automate everything – Iteratively automate the development, testing and delivery /deployment lifecycle of the migrated applications.  The cloud platform team is key to establishing the cloud platform components and automation pipeline to drive speed and agility.
  5. Cloud first strategy – Adopt a “Cloud First” strategy for all new application development. This is an important step, to stop new applications being developed using on-premise infrastructure creating technical debt that needs to be address further down the line.

We believe the approach proposed here is the most economical and effective for large organisation to quickly realise business benefits. The following are the benefits of the approach proposed we have seen.

  • Early Realisation of Value – Focus the available investment into actions which will kick start the adoption of cloud. Rather than a big up-front design phase to create a plan for the next 3 years, use agile methods to define and execute short cycles with the goal of creating a central platform and proving the capabilities with a small number of workloads. This allows for early value release for an organisation.
  • Iterative Migration – Establishing the direct connectivity with the public cloud provider(s) will allow seamless, reliable interaction between migrated and non-migrated applications.  This enables iterative migration of dependent applications, rather adopting a big bang approach.   As a bonus it enables reliable and secure transfer for large amounts of data which is essential for the use of cost-effective data analytics platforms offered by Public Cloud providers.
  • Start saving money quickly – Moving development and testing application infrastructure to the cloud reduces the cost of application development and enables a deeper understanding of the existing applications by using a test and learn approach. Since test data will not contain confidential customer or colleague data, it is much quicker to set up the cloud platform. Development and testing environments are rarely required 24×7 and hence are ideally suited to the cloud as they can be shut down overnight to provide early business realisation.
  • Lower Risk – Only development and test environments are migrated to public cloud as a starting point. Since the production and staging environments are not migrated initially significantly lowers the financial and operational risk for an enterprise. It allows teams to learn about the application running in a cloud environment with minimal risk.
  • Focus on business innovation – Use of cloud first approach to developing new applications, will enable reduction in the time spent for undifferentiated infrastructure management.  This will free up time and resources to focus on creating and implementing innovative ideas which can generate customer value.

In summary, if you are an enterprise planning to migrate your applications to the cloud, don’t spend time and money on a big upfront design using something like the 5 Rs approach.  Could you use an agile approach that better suits the cloud platform and can realise benefits significantly more quickly while reducing risk?