Banks have many background processes that need to be completed at a scheduled time or processed based on events on the available data. For instance, bank account statement generation is a scheduled process that runs in the background and trade data processing is an event-driven mechanism.
In a traditional setup, banks rely on dedicated on-premise data centers to run these routine operations. However, this infrastructure is underutilized as it can only run the processes at a scheduled time. Besides, dedicated infrastructure, capacity planning, configuration, management, maintenance, and scaling of resources need to be handled manually.
Banks are presented with an opportunity to opt for cloud-based serverless services that are on-demand, easily scalable, and cost-efficient. Serverless computing in the cloud allows developers to run applications without thinking about infrastructure provisioning and management. Instead, a cloud service provider takes care of capacity planning, scaling, patching, and managing infrastructure resources. Such a serverless paradigm has several services that allow on-demand provisioning of machine resources and pricing based on consumption of resources during uptime. Serverless architecture is not limited to function-as-a-service; it spans serverless containers, data processing, and visualization services. For example, serverless resources can be provisioned to execute an infrequent scheduled job. Once the execution is complete, all serverless resources will be deprovisioned. This reduces infrastructure cost and initial infra setup time.
Let’s look at how the serverless paradigm can empower banking services to control operational costs and adhere to regulatory standards.
Banking use cases:
- Deploying one-time password (OTP) generation module to handle high traffic spike
- Processing reference data in trades to eliminate human error and mitigate potential frauds
- Auto-archival data to comply with regulatory requirements
- Scheduled bill presentment and notification
- Functionality to auto-pay pre-defined bills
- Monthly report generation for users
- Personalizing offers based on available information
Serverless banking paradigm can underpin and unlock the potential of other game-changing infrastructure technologies, such as:
Microservices architecture: Considering the rapid production, reduced costs and higher flexibility offered, serverless functions serve as a remarkable deployment model for microservices. Modern banking applications are generally developed using a microservices architecture. Herein, an application is divided into different parts that can be deployed separately on a serverless compute platform and scaled independently as per the utilization. Serverless microservices architecture includes processing queue messages, web requests, and handling transactions. For instance, a validation service can be invoked based on the message in a queue received for processing.
Backend or middle-tier services of such an application can be created using serverless services in the cloud. Each module in the application programming interface (API) runs on a different serverless compute resource and will be provisioned and invoked only when it is called. The cloud provides services to combine different modules as a workflow or an API.
Dynamic workload of application: Serverless services can be used to host a new product or application, typically when the workload is not defined. With an increase or decrease in workload, the application can be scaled up or down dynamically as required. In case of idle situations, infrastructure will be deprovisioned to save cost. For example: a bank publishes a new payment application, and its popularity is unknown initially. In such cases, few modules of the application can be developed and hosted on a serverless compute platform which will be resilient enough to scale up and down based on the usage of the application. This results in dynamic workload handling in an easy and cost-effective way and with reduced time.
Data and analytics: Cloud-based serverless services are available as platform-as-a-service (PaaS) or managed services. This includes serverless extract, transform, and load (ETL), databases, reporting, and query processing services. These services can be used to implement multiple banking use cases, such as data gathering and ingestion in a data lake (single source of truth).
PaaS models can also be used to transform data into multiple formats for different lines of business. Such serverless services can be leveraged for AI or ML-based reporting, processing of unstructured trade data available through feeds, and resource-intensive auditing functions for processing events and logs. They can also be deployed to detect anomalies and inaccuracies in payment or application information with predictive analytics and ML through event-driven data processing.
Serverless services provide an opportunity to release legacy infrastructure and leverage the public cloud as much as possible. The benefits that the serverless paradigm provides make it viable for many event-driven as well as microservices-based architecture patterns. However, these services are unlikely to fit in all scenarios. As most of the serverless services are multi-tenant and public, which are exposed to the internet, they are incompatible with critical banking applications. Banks must consider additional security aspects while implementing applications using serverless services.
The best way to implement applications using serverless services is to perform a rigorous assessment of an application or process while also focusing on aspects like security, cost, infrastructure, monitoring, and tracing.