For a community instance up to ~100 actively-posting daily users with healthy outward federation, the Ravelin ($23.90/mo, 8 vCPU, 16 GB, 480 GB NVMe) is the sweet spot. Eight cores cover the Sidekiq worker pool comfortably under federation bursts; 16 GB of RAM holds Postgres buffers, Redis, the web tier and a couple of Sidekiq queues without ever touching swap.
Beyond ~300 active users, or once Sidekiq processed-jobs/sec sits north of 100 sustained, the Bulwark tier earns its keep — more cores for Sidekiq parallelism, more RAM for Postgres shared buffers, and the freedom to dedicate a couple of cores to Elasticsearch if your community wants full-text search across the federated timeline.
For a single-user or close-friends-only personal instance (under ~10 active accounts, federation kept narrow), a Garrison ($11.90/mo, 4 vCPU, 8 GB, 240 GB NVMe) is perfectly viable — particularly for Pleroma/Akkoma or Sharkey, which are lighter than Mastodon. The constraint is media storage growth rather than CPU; budget for media offload to external object storage from day one.
What none of these are: an Instagram-scale instance with first-party photo CDN. Mastodon is not engineered for that workload; the protocol shines for federated small-and-medium communities, and our tier guidance reflects that real shape.