Migration of Rapid Delivery Analytics infrastructure to AWS, co-funded by StartUp Migrate Asses program
Rapid Delivery Analytics (RDA) is an Estonia-originated SaaS that tracks data from apps designed for food ordering, such as Uber Eats, Glovo, Wolt, etc., and provides real-time information to help clients optimize strategy, increase efficiency and scale user volume.
The beginning of the collaboration
At the time of the partnership, the Rapid Delivery Analytics (RDA) infrastructure was hosted at a number of different providers, such as Selectel, Hetzner and AWS. With the development of the tools offered by RDA, the need arose to organize the resources and locate it in one cloud. The main goal of the migration was to increase availability and strengthen application security. Above that, moving all resources to one place helped optimize costs and increase productivity. After analyzing the available options together with the client, we decided to move the resources to the AWS cloud. This choice was advantageous for RDA in that we had secured $30,000 in funding for the Customer under AWS' SMAP (StartUp Migrate Asses Program) and SMP (StartUp Migrate Program) programs to support the migration and build the infrastructure.
Technical solutions
The Client's entire infrastructure is located in a single region, and we wrote all AWS components in code form using the Terraform tool. As the Client's application is containerized in Docker, it can be easily moved between hosts. Since the configuration of the servers themselves is also prepared in the form of code, in this case using the Ansible tool, putting more hosts under containers is very easy and significantly facilitates scaling. The containers themselves within the host are managed by docker-compose. We migrated the database to AWS Postgres RDS, and with a private connection, applications communicate via a private link with the Clickhouse database, making the solution more secure.
Services we use:
AWS RDS - One RDS instance is running in a multi-AZ configuration.
AWS EC2
AWS Load Balancer - One publicly available Application Load Balancer is configured which is integrated with the ACM service. The Loadbalancer serves as a reverse proxy for docker containers located on EC2 instances. In addition, a Network Load Balancer has been configured which is used to enable the Clickhouse database to communicate with the Postgres database in the RDS service.
AWS S3 - bucket S3 with static webiste hosting configured.
AWS Backup - a service configured to perform and store backups of EC2 instances.
Grafana Cloud - Customer uses Grafana in Cloud version to analyze metrics and logs. Metrics and logs are sent from the application EC2 instances. Metrics are sent via the Prometheus service, and logs are sent via Lokie's log driver. Three dashboards have been prepared.
Gitlab - used to store repositories in Gitlab Cloud.
Parameter Store - the parameter store service stores parameters related to the infrastructure and the application.
Summary
For Rapid Delivery Analytics (RDA), we completed the migration of highly distributed resources to the AWS cloud. We obtained financing for the client covering part of the costs associated with the migration work. As a result, we created an efficient, secure and scalable environment allowing for the dynamic development of tools provided by Rapid Delivery.
Upon completion of the migration, we launched a Managed Care service for Rapid Delivery, thanks to which the Client's infrastructure is covered by 24/7 monitoring.
Read also:
- Multi-stage migration of Capsim infrastructure to AWS
- Penetration testing, anti-DDoS protection and administrative care for the organizer of one of the largest lotteries on the Polish Internet, "7 Cars x Budda"
- Design and implementation of AWS cloud environment for Droids on Roids mobile application
- Administration care and infrastructure design in AWS cloud for ZTM Warsaw