Kubernetes abstracts compute resources in a cleanly defined way. After all, most systems at their core ultimately bind to a port and send data across a binded port; It’s unkind to reduce software solutions to this level, but that’s the basic abstraction. This is also important to understanding how to bring any application to Kubernetes, by thinking about your application in terms of services and the data it needs to support those services you can begin to split your application into the component parts needed describe desired state of your service.
Reasons to use Kubernetes to deploy Open Bank Project:
- It makes deployment quicker
- The deployment is self documenting (to a certain extent)
Running Open Banking APIs on Kubernetes
Kubernetes offers a further abstraction by allowing you to express the services which your software provides. This might be a simple database service or it might be the APIs that you’re offering to your customers. For example, the Open Bank Project offers over 200 apis specific to the banking industry, and by bringing Open Bank project to Kubernetes, this increases the adoption possibilities of these Open Banking APIs.
We are already starting to see the benefits of Enterprise partners using the Kubernetes solution as a faster way to deploy and become familiar with the Open Bank Project and it’s APIs. It makes deployment quicker, repeatable, and to a certain extent the deployment is self documenting.
Scaling with Kubernetes
Just like any software system, banking systems need to scale depending on load rising and falling over a given period. For banking software this is especially important for managing cost and customer experience. Of course, managing cost is a major influence for any of these systems and the ability to provision only the resources that are required has been the goal of cloud computing systems since its inception. Scaling back these nodes automatically brings the system cost back down.
With Kubernetes, we can scale up for deployment based on CPU utilisation. this takes advantage of the auto scanning capabilities built into keeping it is made possible by cloud providers implementations. Thus, for example allowances to deploy more API instances as the load increases and scale back down when it decreases. This allows cost to be managed as well, only deploying the resources which are required. it’s also possible to account for spikes in traffic but having a reserved number of nodes always available. This, for example is useful as a buffer for responding to a spike in traffic and increasing nodes just before the system reaches capacity.
Kubernetes Storing Persistent Data
Then there’s data. People care if you lose their data, especially bank related data.
Kubernetes has the concept of PersistentVolumes, and PersistentVolumeclaims. Blob storage, Network filesystem providers have written drivers conforming to the Kubernetes PersistentVolume specification.
Persistent volumes often reside outside of the kubernetes deployment, this means if you delete your deployment or if your pods fail you can safely be assured that your persistent data is still there. Implementations vary however so do check that your cloud provider operates in this way as you may need to change settings to make sure that the persistent volumes are not deleted when your deployments are also deleted. Persistent volumes are tied to PersistentVolumeclaims, this is another way by which persistent volumes may get deleted depending on your cloud configuration. The best day to durability of course check this configuration and verify. Remember, if you don’t have a tested backup , you don’t have a backup!
Support Deploying Open Bank Project on Kubernetes
Would you like support in deploying Open Bank Project on Kubernetes? If you’re a financial institution or governmental organisation and are looking to innovate faster with open banking technologies. Tesobe Ltd can support you in your open banking deployments. We are the creators of the Open Bank Project and are experts in its connection with core bank systems. So if you’re looking to build an integration with your core banking system and would like to experiment with Kubernetes deployment configuration please contact us here.