In this documents, the server architecture will be explained which will be best suited for auto scalability, high performance, low latency and to handle millions on simultaneous requests.
As the current application is using different AWS services for different purpose, we can use different AWS services to scale the server architecture. Please find below the AWS server architecture diagram which we propose:
Below is the description of every service mentioned in the server architecture diagram:
Below is the web request flow diagram:
For the database backups, we will be using 2 separate methods.
i. Custom DB Backup Script: We will be writing a custom DB backup script, which will take the database backup every 4 hours and will save the last 5 days db backup on S3.
ii. DB Snapshots: We will be using the AWS snapshot service for daily automated backups. We will be created the backup strategy so that the snapshots older than 5 days will get deleted automatically.
For the EC2 instance backups, we will be using the EBS Snapshot service and will schedule the backups using AWS Data Lifecycle Manager and can create the snapshot policies. In case of any disaster, we can easily launch the same instance from the snapshot.