The problem
Create a scalable and reliable feature-rich backend infrastructure for a plant identification mobile app that uses one of the largest image classification ML models in the world. The backend solution should be able to handle swiftly changing active users of the mobile app.
The solution
REST API in PHP and MySQL database.
The result
With this infrastructure we guaranteed availability for hundreds of concurrent requests and tens of thousands of active users without any performance impact.
Tech stack
AWS
PHP
MySQL
Laravel
Redis
Elasticsearch
CloudFront
Lambda
JSON
During marketing campaigns, we had to handle increases of up to 10 times in active user count.
During the first stage of the project auto scaling EC2 instances in AWS with an autoscaling MySQL cluster in RDS were used. The database was later migrated to an Aurora MySQL autoscaling cluster. The API was migrated to AWS Lambda to be able to handle instant changes in the active users.
Other features
Error logging
Alarms
Anomalies detection
Anomalies notifications