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.


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.


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


Terraform, Amazon ECS Cluster, AWS Fargate, Jenkins CI, Amazon Aurora, Amazon CloudFront, Amazon ElastiCache, Amazon Route 53, AWS WAF, Elastic Load Balancing, ESLint, Sonarqube.


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.

clients’ Success stories


The client had a manual multi-environment infrastructure deployment аnd no continuous integration & continuous deployment automation. That significantly impacted the speed of product development, release, and delivery cadence of new application versions in general. Besides, it required a considerable part of the development team capacity to process it manually.

View success story


The client faced the need to automate multi-environment continuous integration and deployment process of microservices, move the front-end part to CDN as well as deploy multi-environment infrastructure as a code.

View success story


The client had high costs for development, deployment, and, most importantly, operation of the data platform including Data Lake, Ingestion, and ML Pipelines. The pipelines were mostly running in EC2 instances, which led to the increased cost of operations and required a significant amount of time to deploy and test the pipelines in lower environments.

View success story


The client came with a request to automate and unify the deployment process of serverless applications on AWS Lambda. Having manual deployments before, the customer was facing inconveniences and difficulties, including non-uniform environment setup (versions of Serverless, Python, Node, and so on were inconsistent) and inability to control the environment changes in one place.

View success story


The client needed to strengthen collaboration within the data scientists team by moving research capabilities into cloud workloads. Besides, they wanted to automate and unify the deployment process of AWS resources. That, in turn, would decrease the time and effort required for a team of data scientists to build and test their models.

View success story


Initially, the client’s development team performed continuous integration and continuous deployment processes manually. Consequently, it was time- and effort-consuming to build cross-platform mobile applications. Besides, they used the legacy tools stack – that doesn’t have built-in mobile-specific continuous integration and deployment capabilities.

View success story


Delivery Director

We are cloud native company who visions cloud computing as the home for tech products. Our team of top-notch engineers specialize in Cloud solutions, we develop scalable cloud native applications, provide DevOps services which facilitate innovations and allow release products faster, build reliable and secure cloud infrastructure for our clients from the US and Europe.

Tell us about your business needs

    I agree to periodically receive relevant information, news, and event notifications from Matoffo.

    Our website uses cookies to help personalize content and provide the best browsing experience possible. To learn more about how we use cookies, please read our Privacy Policy.