Tag Archives: Cloud App Development

AWS-Powered Banking: Automating Reconciliation with Cloud Efficiency

This article explains how a Bank Reconciliation System is structured on AWS, with the aim of processing and reconciling banking transactions. The system automates the matching of transactions from batch feeds and provides a user interface for manually reconciling any open items.

Architecture Overview

The BRS (Bank Reconciliation System) is engineered to support high-volume transaction processing with an emphasis on automation, accuracy, and user engagement for manual interventions. The system incorporates AWS cloud services to ensure scalability, availability, and security.

Technical Flow

  1. Batch Feed Ingestion: Transaction files, referred to as “left” and “right” feeds, are exported from an on-premises data center into the AWS environment.
  2. Storage and Processing: Files are stored in an S3 bucket, triggering AWS Lambda functions.
  3. Automated Reconciliation: Lambda functions process the batch feeds to perform automated matching of transactions. Matched transactions are termed “auto-match.”
  4. Database Storage: Both the auto-matched transactions and the unmatched transactions, known as “open items,” are stored in an Amazon Aurora database.
  5. Application Layer: A backend application, developed with Spring Boot, interacts with the database to retrieve and manage transaction data.
  6. User Interface: An Angular front-end application presents the open items to application users (bank employees) for manual reconciliation.

System Components

  • AWS S3: Initial repository for batch feeds. Its event-driven capabilities trigger processing via Lambda.
  • AWS Lambda: The serverless compute layer that processes batch feeds and performs auto-reconciliation.
  • Amazon Aurora: A MySQL and PostgreSQL compatible relational database used to store both auto-matched and open transactions.
  • Spring Boot: Provides the backend services that facilitate the retrieval and management of transaction data for the front-end application.
  • Angular: The front-end framework used to build the user interface for the manual reconciliation process.

System Interaction

  1. Ingestion: Batch feeds from the on-premises data center are uploaded to AWS S3.
  2. Triggering Lambda: S3 events upon file upload automatically invoke Lambda functions dedicated to processing these feeds.
  3. Processing: Lambda functions parse the batch feeds, automatically reconcile transactions where possible, and identify open items for manual reconciliation.
  4. Storing Results: Lambda functions store the outcomes in the Aurora database, segregating auto-matched and open items.
  5. User Engagement: The Spring Boot application provides an API for the Angular front-end, through which bank employees access and work on open items.
  6. Manual Reconciliation: Users perform manual reconciliations via the Angular application, which updates the status of transactions within the Aurora database accordingly.

Security and Compliance

  • Data Encryption: All data in transit and at rest are encrypted using AWS security services.
  • Identity Management: Amazon Cognito ensures secure user authentication for application access.
  • Web Application Firewall: AWS WAF protects against common web threats and vulnerabilities.

Monitoring and Reliability

  • CloudWatch: Monitors the system, logging all events, and setting up alerts for anomalies.
  • High Availability: The system spans multiple Availability Zones for resilience and employs Elastic Load Balancing for traffic distribution.

Scalability

  • Elastic Beanstalk & EKS: Both services can scale the compute resources automatically in response to the load, ensuring that the BRS can handle peak volumes efficiently.

Note: When you deploy an application using Elastic Beanstalk, it automatically sets up an Elastic Load Balancer in front of the EC2 instances that are running your application. This is to distribute incoming traffic across those instances to balance the load and provide fault tolerance.

Cost Optimization

  • S3 Intelligent-Tiering: Manages storage costs by automatically moving less frequently accessed data to lower-cost tiers.

DevOps Practices

  • CodeCommit & ECR: Source code management and container image repository are handled via AWS CodeCommit and ECR, respectively, streamlining the CI/CD pipeline.

The BRS leverages AWS services to create a seamless, automated reconciliation process, complemented by an intuitive user interface for manual intervention, ensuring a robust solution for the bank’s reconciliation needs.

Stackademic 🎓

Thank you for reading until the end. Before you go: