This information is provided for our members and the Mastodon admin community to help understand performance and scaling.
The Mastodon site is running on AWS. The architecture and CloudFormation templates used to deploy the application were created by Andreas Wittig and published to Github at widdix/mastodon-on-aws. We maintain a fork of that repository in order to customize the resources to meet our particular scaling needs. Andreas has published an accompanying blog post that explains the architecture. All services are hosted in the us-west-1 region.
Compute resources are deployed in AWS Elastic Container Service (ECS). The deployed services are shown in the table below. If a service becomes unresponsive, ECS automatically launches a new service container and swaps it for the unresponsive one.
The database is a db.t4g.small instance deployed in AWS Relational Database Service (RDS). The database has a maximum of 85 connections. Automatic backups are enabled, so RDS is storing daily snapshots and retaining those snapshots for 30 days.
Media are stored on AWS Simple Storage Service (S3) with the standard storage class set. S3 holds uploaded photos and videos, avatar and header images, and media associated with the Mastodon web application. Bucket versioning is not enabled. S3 is extremely durable storage, so no backups are enabled