A microservices-based architecture is the bedrock of cloud computing. Amazon defines microservices as the following: “With a microservices architecture, an application is built as independent components that run each application process as a service. These services communicate via a well-defined interface using lightweight APIs. Services are built for business capabilities and each service performs a single function. Because they are independently run, each service can be updated, deployed, and scaled to meet demand for specific functions of an application.”
Core banking systems built with a microservices-based architecture unshackles banks from the rigidity of monolithic legacy systems where any update to the system can mean lengthy software development cycles and unbearable downtime; not to mention the potential exorbitant costs involved.
In systems built around microservices, software consists of a suite of functional components that interoperate and communicate with one other. Each microservice addresses a specific business requirement and can be run independently. Together, they form the underlying system that offer flexibility, interoperability and portability that are critical for meeting the needs of modern-day banking.
The CNCF places microservice containerisation as the first step in their Cloud-Native Trail Map – guidance for enterprises beginning their cloud-native journey.
Containers are a great enabler of cloud-native software.
Cloud Native Patterns
Containers are used to package a microservice with its necessary dependencies. The objective is to provide portability and consistency so that the microservice can be platform agnostic and function in any underlying infrastructure. Containerisation also offers cost and resource efficiencies by eliminating the costs of configuring runtime environments and by sharing operating system and host resources.
Managing and running containers require container orchestrators, among which the most popular is Kubernetes. Container orchestration plays a key role in providing scalability and portability.