The fintech industry is currently experiencing a significant shift away from stand-alone servers (sometimes called ‘on tin’), towards a cloud-native infrastructure model. This move has significant benefits for the industry as a whole, and payment-as-a-service specifically.
Dr Derek Keats, co-founder of ExiPay and MD of ExiPay Africa
The concept of ‘cloud-native’ is an approach to designing, building, deploying, and managing applications in cloud-computing environments in a way that takes full advantage of the services and capabilities available in the cloud.
In effect, it is a design pattern that is a generally repeatable solution to a commonly occurring challenge in software design. As such, it defines a set of best practices for using loosely coupled components and management tools in a cloud environment.
There is a difference between a cloud-native paradigm and an approach that is just cloud-based. Cloud-based approaches may use a dynamic cloud infrastructure but do not attempt to take full advantage of the inherent characteristics of cloud environments and services. It stands somewhere between the stand-alone server in a data centre and cloud-native.
Let’s look at the cloud-native approach. There is a suite of tools, concepts and ways of doing things that give reality to cloud-native architecture. Key to this is the notion of infrastructure as code – IaC.
This involves using programming or automation tools to provision, manage, and deploy software containers, storage, databases, and other infrastructure components.
The purpose of IaC is to enable developers or operations teams to automatically manage, monitor, provision and destroy resources, rather than manually configuring discrete hardware devices and operating systems.
To make this clearer: a company using a cloud-native paradigm does not operate and manage servers in the traditional sense. All infrastructure is typically ephemeral (short-lived), and automatically deployed using deployment scripts.
Because all environments are created through IaC, a company is able to completely replace everything in a very short time using these deployment scripts.
A cloud-native approach has six clear benefits for users:
* Security – a cloud-native implementation is designed with security in mind from the start using tools commonly found in zero-trust environments such as banking and payments. We’ve already seen neobanks and fintechs the world over taking advantage of the security that comes from the investments that cloud providers are making into the security of their infrastructure, and traditional retail banks are now following suit.
* Scalability – cloud-native applications are designed to be highly scalable, allowing them to handle increased workloads and user demands. The best applications have infrastructure that can achieve web-scale, -scaling to millions of transactions hourly. With this kind of scalability, a user never has to worry about a customer growing too fast, or about Black Friday and other periods of high activity. A well designed cloud-native system scales responsively.
* Flexibility – cloud-native applications are built using modern tools and techniques that support application development based on the use of cloud infrastructure. This allows for greater flexibility in updating and modifying applications to meet customer demands. Ephemeral infrastructure, which is replaced regularly, means new capabilities can be made available in an agile way instead of having to wait for traditional major version releases.
* Resilience – Cloud-native applications are designed to be resilient, even in the face of failures or disruptions. By nature of being cloud native and implemented through scripts, if something happens to one system, another can be spun up quickly. Since a cloud native paradigm takes advantage of operating in multiple cloud locations, no down time is needed for this type of recovery so the user isn’t affected by down time due to hardware or other failures.
* Observability – Cloud-native applications are designed to be observable, meaning they provide detailed insights into their performance, behaviour, and health. This allows for effective monitoring and troubleshooting, and is an essential component of control and manageability, since you cannot control or manage what you cannot observe. Available tools allow a user to observe the overall environment and resolve issues that may arise before they become a problem. There are also tools available that provide insight into system performance at both technical and business level, including merchants and their transactions.
* Control and manageability – control and manageability are also critically important elements of engineered systems, and they depend on observability. Well implemented cloud-native applications are manageable, with components that can be easily monitored, modified, and controlled through APIs, user interfaces, or automated scripts. This allows for efficient deployment, updating, and deletion of components as well as healing systems if it becomes necessary.
The move from ‘on tin’ to cloud-native in the fintech industry is an important one. Well implemented, it helps ensure that systems are secure, scalable, flexible, and ultimately, more reliable. And more reliable availability and deeper insights, are good for the industry, clients and consumers in general.