Cloud Modernisation and Optimisation

Article

Author: Tangent Solutions

Published: 27 November 2023

Simply migrating workloads to the cloud is only part of the cloud journey. Importantly, a business’s foundational architecture is imperative to growth in the digital economy. However, it is the cloud and application stack modernisation that makes a business a cloud first organisation.  

During modernisation, we focus on refactoring and rearchitecting, as they offer businesses a greater spectrum of value. The refactoring and rearchitecting of business software, environments and processes enable organisations to achieve true agility and innovate in modern computing ecosystems.   

Modernisation is contextual to a business case; thus, it may look very different for every business. It is, however, imperative to note that in many cases, rehosting is considered a part of modernisation, although this is more of an Infrastructure as a Service (IaaS) discussion with low complexity. 

Modernisation architects organisational applications to take advantage of the technological benefits of:

Cloud native and open source technologies.

Gradient with light green shades from lightest to darkest

Leverage serverless, Platform as a Service (PaaS), Software as a Service (SaaS) and Cloud Fabric technologies provided by cloud vendors, such as Microsoft Azure and AWS.

A Cloud-First Organisation:

Is future proof

Enables business agility

Is scalable to meet the business's current & future demands

Is fault resilient & offers reliable disaster recovery to support critical systems

Provides high availability depending on requirements

Delivers constant monitoring & security to meet demands of high risk digital environments

Provides reduced hosting costs & lower true cost of ownership

Reduces dependence on internal & outsourced IT professionals

Embraces the cloud operating model

Empowers FinOps through data driven intelligence

In order to truly benefit from application modernisation, an organisation should implement DevOps practices which allows for continuous deployment and proactive monitoring of productionised workloads. At Tangent, modernisation is viewed as a pervasive technology change enabled by DevOps. This evolution includes the implementation of cloud technologies that addresses a spectrum of technical and non-technical requirements while delivering and enabling new ways of working. 

The cloud offers the foundation to take advantage of an evolving digital world. However the cloud works differently to traditional tools, moreover relevant businesses evolve in response to consumer behaviours. DevOps is the methodology we implement to synergise these disparities and enable business agility in a business environment characterised by constant flux. 

Containerisation in Cloud Modernisation

Containerisation is one of the foundation principles of modernisation and fundamental to unlocking the benefits of cloud technologies. A container is a modified runtime environment built on top of a host operating system that executes your application. Think of a container as a small application host specifically crafted for the needs of a single application, feature or service.  

Containers do not use virtualisation, so it does not waste resources simulating virtual hardware with a redundant operating system. This typically makes containers significantly more lightweight than VMs. Moreover, due to the size and statelessness of containers, this allows them to be replicated and recreated quickly.  

This design allows businesses to respond quickly to failure as well as changes in demand. Another benefit of containerisation is that you can run multiple isolated applications on a single container host. Since containers are secured and isolated, you do not need separate servers for each app, making them key enablers of microservices.

Microservices  Methodology in Containerisation

Microservices offers a different approach to application development and deployment, an approach suited to the agility, scalability, and reliability requirements of modern cloud applications. 

A microservices application is decomposed into independent components that work together to deliver the application’s overall functionality. Microservices emphasise applications composed of loosely coupled services small enough to reflect independent concerns, so that each microservice implements a single function. The microservices methodology implemented depends on the business critical nature of the application, as it adds layers of complexity to cloud architecture. As such, not all applications will follow the same microservice strategy.

In addition, each microservice has well-defined contacts, meaning other microservices can communicate and share data with it. Microservices can scale-out independently, compared to monolithic applications that scale together. This allows specific functional areas, that require more processing power or network bandwidth in order to support demand to be scaled rather than unnecessarily scaling-out all areas of the application. 

The Benefits of Microservices in Modernisation

Each microservice is relatively small, easy to manage and evolve.
Each microservice can be developed and deployed independently of other services.
Each microservice isolates any issues, e.g., if there is an issue in a service it only impacts that service. The other services continue to handle requests.
Each microservice can use the latest technologies. As microservices are autonomous and run side-by-side, the latest technologies and frameworks can be used, rather than being forced to use an older framework that might be used by a monolithic application.

Kubernetes for Containerisation

The task of automating, managing, and interacting with many containers is known as orchestration. Keeping containerised apps up and running can be complex as it often involves many containers deployed across different machines. Kubernetes is an open-source orchestration software for deploying, managing, and scaling containers.

Kubernetes has become the de facto choice globally for container orchestration and is supported by all the major technology vendors. At Tangent, we orchestrate across AWS and Microsoft Azure.

Azure Kubernetes Service (AKS) is Microsoft’s PaaS offering for Kubernetes on Azure and is a complete orchestration service for containers with distributed architectures with multiple containers.
AWS offers Amazon Elastic Kubernetes Services (EKS), a comprehensive orchestration service, enabling containerisation on their PaaS offering, Amazon’s Elastic Compute Cloud (EC2) compute instance utilising Kubernetes.

Serverless Modernisation

Serverless offers all the benefits of microservice methodology and containerisation through event driven compute services. Businesses eliminate the need to manage servers or PaaS, and by default eliminate infrastructure management tasks. Due to the lack of dedicated infrastructure cloud consumption costs are significantly reduced, the ability to scale business compute increases while the pace at which the organisation can build and deploy is markedly enhanced.

At Tangent, we offer serverless on AWS through AWS Lamda and AWS Fargate, as well as Microsoft Azure through Microsoft Functions. Notably, selecting the right service for the business depends on the outcomes of various strategic factors surfaced during the cloud assessment, which we do with all clients, as for us this would be a new environment. It will also dictate which microservice strategy is utilised for containerisation in serverless as well as Kubernetes.