Infrastructure & Devops Services for Fintech Product
About the client
Our customer is a company that developed a fintech product for educational organizations. Its purpose is to reduce transaction costs, track financial transactions in real-time, and eliminate bureaucracy from the financial education system.
Challenge
The client experienced the need to automate the deployment process of microservices and simplify the release process. One of the requirements was to migrate Docker containers to AWS ECS and move existing infrastructure to Terraform.
Solution
1. Amazon Route 53 provides DNS configuration.
2. AWS WAF is a web application firewall that protects the Fintech platform against common web exploits.
3. Amazon CloudFront is a fast content delivery network (CDN) that speeds up distribution of static and dynamic web content.
4. Elastic Load Balancing (Application Load Balancer) distributes across the AWS Auto Scaling group of the Fintech platform containers in multiple Availability Zones.
5. On Amazon ECS Cluster, there are running serverless containers with Fintech applications and relevant dependencies which is managed by AWS Fargate service.
6. Amazon ElastiCache for Redis provides a caching layer for the database.
7. The use of Amazon Aurora allows to simplify database administration (including high availability and multi-master configuration).
High-level solution diagram
As a part of the implementation, the team created a CI/CD environment using Jenkins CI to automate the deployment and release process. The CI pipelines include SonarQube scan and static code analysis – they help to improve code quality and reduce the number of bugs. All secrets for the deployment process are stored securely in Jenkins.
The entire infrastructure was migrated to Terraform and got stored in the GitHub repository. The base infrastructure such as VPC, ECS cluster, ALB, etc. is deployed manually with Terraform CLI. The state files for Terraform are stored in AWS S3, so that they can be easily accessible from the local and CI environment. The Jenkins pipeline creates a Docker image, pushes it to the repository, and then uses Terraform
to deploy microservices. Pipelines are triggered automatically on changes in application code. All microservices are running in AWS ECS and managed by AWS Fargate.
High-level deployment diagram
Technologies
Terraform, Amazon ECS Cluster, AWS Fargate, Jenkins CI, Amazon Aurora, Amazon CloudFront, Amazon ElastiCache, Amazon Route 53, AWS WAF, Elastic Load Balancing, ESLint, Sonarqube.
Result
With the delivered solution, the client has got a highly available and resilient to failures microservice architecture that uses AWS ECS and a fully managed and automated deployment process using Jenkins CI. Besides, the infrastructure has been migrated to Terraform which allows to manage and add new resources much easier and more efficiently.
OUR FOCUS IS
CLOUD SOLUTIONS
Our primary goal is to deliver value to our clients by resolving technical challenges and helping them achieve their objectives. We utilize cloud solutions as a powerful toolset to make this happen. With Matoffo expertise, companies can significantly reduce the time from idea to market and rapidly scale their digital business. Additionally, Matoffo enables seamless adoption of rapidly growing tech capabilities, transforming businesses to stay competitive in the market.