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.
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
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.
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.