Although there are a ton of AWS servers, there's only a few core services that I recommend:<p><pre><code> EC2 - You need a server.
RDS - You need a database.
S3 - You need to store files.
Lambda - You are building an API with short lived requests.
</code></pre>
These services are all very high quality and are excellent at what they do. Once you get outside of these core services, the quality quickly drops. You're probably better off using the non-AWS versions of those services.<p>For a few quick examples, you should be using Datadog over CloudWatch, Snowflake over Redshift or Athena, and Terraform over CloudFormation.
At what scale would you want to use RDS rather than using an EC2 instance with Postgres installed?<p>Assuming that the operator has the skills to manage Postgres.<p>It's not like RDS does something complex like Geodistribution, right?<p>Also what is the scaling like? Is it automatic? How quickly can you handle more connections? Because my understanding was that it was slow.<p>I did have a play with their RDS Postgres nonths before, and I managed somehow to crash it requiring a restore from snapshot. Also their smallest instance was quite expensive for the performance.
"Modern" architectures can get quite complex and fast at scale & in complex cases. This is merely a simple introduction to simple components of modern cloud architecture.
As someone who has spent a fair amount of time working with AWS. I appreciate how approachable this tutorial is, as the official docs are usually way more arcane.