As more organisations adopt cloud, the value paradigm is shifting from workload hosting to IT transformation.
In recent years the options for cloud services has expanded rapidly, with everything from bare metal to serverless computing available on demand. Using a “lift-and-shift” approach to cloud migration has resulted in a positive experience for many organisations, but this is just one of several migration methods, and typically the most expensive approach to cloud adoption.
In this blog we will cover a number of factors to consider in order to get the most out of cloud and transform the entire business, not simply move workloads across datacentres.
What is lift-and-shift?
The term “lift-and-shift” is commonly used to describe a cloud migration method whereby the application workloads or systems are migrated as-is without modification or enhancement. This method is also known as re-hosting or forklift.
This approach can enable organisations to rapidly move from their current on-premises infrastructure hosting arrangements to a cloud-based alternative, often resulting in greater cost efficiency by avoiding physical data centre, infrastructure hosting and management costs. This operational improvement can deliver value quickly, however it is just the start of what cloud is capable of.
What is missing with lift-and-shift?
Lift-and-shift is the fastest way of getting the workloads from on-prem to cloud so it can be valid as an initial migration approach to help avoid costs associated with an imminent hardware refresh or datacentre move or upgrade.
The benefits of lift-and-shift are largely operational, not transformational and to get the efficiency, resiliency and scalability benefits of cloud, a transformation program should be undertaken.
The ability to scale an environment automatically, or increase resiliency and availability, can only be achieved by undertaking transformational activities and introducing infrastructure-as-code operational management methods. Such enhancements are not provided by lift-and-shift.
Monolithic or microservice?
You might have heard the terms monolithic and microservice, but are unfamiliar with the differences. A monolithic application has tightly-integrated functionality between all of the solution components within the one “stack”.
In contrast, microservices are typically focused on segmenting application functions so they can be run in isolation from each other.
Traditionally, monolithic applications were procured or developed as a single solution that integrated most services and relied on a supported platform and database. Any changes or alterations required every component of the application to be tested and validated which is time consuming and creates a higher risk of failure. As a result, organisations with large monoliths typically restrict the amount, and frequency, of change and often settle for quarterly release cycles.
In recent years, a significant change that has accompanied IT transformation programs is the move from large, monolithic applications to a more granular, component-based microservices architecture using DevOps practices.
With microservices, application functionality can be enhanced and delivered more frequently as components are de-coupled, unlike a monolithic application. Now there is no longer a dependency to test the entire solution for each change.
These microservices are often delivered using containers or serverless technology, further reducing the amount of management overhead for the business application.
All the advantages of microservices
Microservices offer a number of advantages for application development and operations, including the flexibility to choose which services are used to suit the business requirement.
New features can be easily added using consistent software development methods, minimising the amount of resources needed to make a change. And by using a consumption-based model you only pay for what you use in a transactional way.
An effectively designed microservice can also scale to meet business demands as transaction volumes increase without requiring full system re-starts, and self-healing features ensure the application is always available.
The component-based application isolation allows changes to be made more frequently, increasing the feedback loop. This in turn provides higher quality products that are more aligned with the consumer’s needs.
Starting your transformation journey
Moving beyond lift-and-shift to cloud-based microservices presents many exciting possibilities for business transformation. Being able to add and remove IT services quickly in response to business demand, changing market conditions and new product developments has always been a challenge and microservices help enable a new level of business agility.
The move away from monolithic applications starts by looking at which services make up your application portfolio and understanding what could be made available as a discrete component in the cloud.
What’s more, you don’t need to go all-or-nothing with microservices, you can keep parts of an application tightly integrated and start moving non-critical services to on-demand microservices, regardless of where the application is hosted: on-premises or cloud.
The result should be a more scalable, future-proof IT architecture enabling business services to be provided as needed in a more consistent model. You will also achieve better economies of scale and reduce the risk of a failure.
When cloud works to transform the business, it can quickly add differentiation value and not simply reduce operating costs.