Containers are a way to package, deploy and run an application or service. Usually, multiple (micro-)services, each running in their container are used to provide the desired functionality. Communication between containers can be strictly defined. Containers run on the virtualization layer of an operating system, to allow easy portability to other hosts. This also allows easy scaling out by initializing more instances of a ‘containerized’ service as the load on the platform grows.
Docker, like Kubernetes, is a set of ‘platform as a service’ products that can be used to build, run and manage your collection of containerized services.
Dockers, containers, and core banking
Containerization of application services has many advantages compared to the traditional hosting and deployment methods. So, if you are looking to build your cloud-agnostic platform, using containers can be a good choice. However, developing a full cloud-agnostic platform does come at a cost, as you cannot use the cloud-specific services that AWS, Google, and Azure offer, while they can greatly increase the speed of development and lower your management overhead. For the neo platform, we have therefore decided to use PaaS services on Microsoft Azure instead. Using these services eliminates the overhead that is normally required to maintain a full Docker / Kubernetes solution while providing the same kind of benefits.
Should core banking care?
If you use a core banking SaaS solution, you should not specifically care about using containerized services. What matters is that you receive the value you are looking for: You should look for a service that must be available, reliable, scalable but is also capable of delivering regular incremental changes based on your feedback.