Replication files from GitHub into database

2024-06-16

Amount Inc. is a leading provider of FinTech solutions, specializing in digital transformation for banks and financial institutions. Our collaboration focused on developing a money-lending software platform that can be precisely tailored to meet the varied requirements of Amount’s diverse clientele.

The service we developed for Amount is a highly customizable money-lending platform designed to enhance digital banking experiences. Banks and financial institutions can customize the platform to lend money to both B2B and individual clients. Customization options vary from aesthetic elements, like logos and styles, to critical operational details, such as steps of necessary validation checks (including government checks, if necessary) and other settings (for example, filling and signing mandatory government tax reporting documents).

Share:

Service:

  • Managed Services, DevOps, and Automation

Problem

The platform’s operation is critically dependent on the continuous availability of configuration settings, which are stored and managed via GitHub. This reliance introduces a vulnerability; any disruptions in accessing these configurations could deactivate the money-lending service, leading to potential revenue losses for the banks and diminished client satisfaction.

ილუსტრაციები-1.jpg

Solution

To address this challenge, we devised a strategic solution aimed at reducing our dependence on GitHub’s external infrastructure without compromising the agility and efficiency of our configuration management system. Our approach was to implement a configuration replication strategy, ensuring continuous operation regardless of external platform status.

Here’s how we achieved this:

  • Configuration duplication: We started by automatically duplicating our GitHub configuration repositories to a local environment every time a new configuration set was created. This step ensured that we had an up-to-date local copy of our configurations.

  • Database storage: Next, we transferred these configuration files into a PostgreSQL database. This database acts as a secure, internal repository for our configurations, making them readily accessible even if GitHub is down.

  • Workflow optimization: We employed a Temporal workflow to automate and streamline this entire replication process. Temporal’s robust workflow management capabilities enhance the stability of our replication logic, especially in scenarios like pod restarts, ensuring a seamless operational flow.

Results

The implementation of this replication system has markedly enhanced our operational resilience and service reliability. Now operational, our system can replicate configurations in a remarkably short timeframe of no more than 10 seconds, significantly reducing the risk of service interruptions. This improvement ensures that Amount’s clients receive reliable, uninterrupted service.

ილუსტრაციები-4.png

Tech Stack

JavaPostgresqlGithubTemporal