Digital disruption is forcing banks to satisfy the demands of increasingly connected customers with growing expectations. To serve the on-demand customer, banks must become agile digital enterprises focused on delivering innovative products, services, and customer experiences. Containers—and specifically Kubernetes—are a key to meeting the needs of bank customers at speed and scale.
Containers offer a logical packaging tool in which applications can be decoupled from the surroundings in which they run. This allows container-based applications to be installed easily and consistently, regardless of whether the target environment is a private or a public cloud. With containerization, development teams move fast, deploy software efficiently, and operate at an unprecedented scale.
Google has packaged containers through the open-source platform Kubernetes, giving banks an opportunity to easily benefit from the latest in container innovation.
Banks must keep up with consumer demand through real-time customization, instant scalability, and response to evolving security challenges—all of which cannot be achieved with traditional on-premise systems. Containerization is secure because applications and data are ‘contained’ within a workload and not visible unless made so—there is no ability to impact other containers. However, despite the advantages, containers are hard to manage and track individually, and across multiple cloud platforms. Container orchestration solves this issue by automating the management and tracking of containers.
Kubernetes is the widely accepted gold standard of container orchestration, allowing for easy organization, deployment, and scaling.
Flexibility and scalability
The container-based orchestration environment provided by Kubernetes offers significant flexibility in relation to building a bank’s cloud environment, whether in the public cloud, private cloud, or as hybrid. Irrespective of the type of bank (retail, commercial, investment, and others), Kubernetes effortlessly runs tasks on the private or public cloud. It allows for teams to easily move existing workloads and create new ones, especially in the service-oriented architecture.
When deployed successfully, Kubernetes helps banks develop, run, and manage cloud applications in multiple environments, delivering agility and reliability in an on-premise environment. Rapid deployment and updating of applications, and maximizing resource utilization, is also enabled by the usage of Kubernetes. Capital One used Kubernetes for the provisioning platform to support teams that build applications for core functions from data analytics for fraud detection, credit approvals, and beyond. By migrating applications to Kubernetes, Capital One significantly improved productivity and time to market. Now basic decision-making applications can be up and running in a fortnight, which previously would have taken a whole quarter.
Re-hosting, re-platforming, and re-factoring
Major retail, investment, and commercial banks migrating to the cloud should adhere to the three best practice methods when moving projects to Kubernetes:
With re-hosting, banks can move a web service or an application to a Kubernetes cloud environment without making any changes or optimization of applications. This method offers a significantly faster and less resource-intensive migration process, while simultaneously utilizing the cloud environment provided by Kubernetes—banks would miss out on benefiting from the flexibility offered by Kubernetes if re-hosting is not applied.
The most advanced of the three approaches when migrating to Kubernetes, re-factoring requires the entire application and the services that support the application to be modified to better suit the new classified environment. Re-factoring usually requires re-architecting of the entire application. For example, a bank can rebuild services using cloud frameworks designed to work with Kubernetes, such as AWS Lambda or Kubeless.
Banks can use the re-platforming approach by making changes to an application rather than migrate the entire application to Kubernetes. The re-platforming stage involves breaking down services into individual containers and pods and separating different functions into individual containers. The same application can be used with different configurations.
Re-platforming takes more time to complete than re-hosting because adapting applications to a container-based cloud environment is not always a straightforward process. However, the process can be made simpler with the help of a local Kubernetes cluster—meaning an application can continue to run while work is completed on a compartmentalized version for migration purposes. Migrating to a cloud cluster, such as Google Kubernetes Engine (GKE) or Amazon Web Services (AWS), becomes a lot easier to complete once an updated version is ready.
Unveiling what's next
Banks must focus on having a clear plan laying out the best for both business strategy and technology opportunity. The more a bank moves to the cloud securely and compliantly, the quicker the route to market, leading to a greater control of scalability and expenditure. Utilizing the best of Kubernetes when moving to the cloud vastly reduces time spent on configuring, and increases time spent on innovative releases and enhancing customer experiences.
About the author:
Lee Sexton is a Director of Agile & DevOps Transformation at SoftServe. Lee is an accomplished technology expert with over 20 years’ experience delivering enterprise solutions. As a thought leader within the Lean Agile space, Lee implements and delivers disruptive solutions, ensuring people and processes are considered along with cutting-edge technology decisions.