<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: azmal</title>
    <description>The latest articles on DEV Community by azmal (@azmal).</description>
    <link>https://dev.to/azmal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3728845%2Ffc676ec5-24c4-4f31-a6b5-14d3bfbb44c6.jpg</url>
      <title>DEV Community: azmal</title>
      <link>https://dev.to/azmal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/azmal"/>
    <language>en</language>
    <item>
      <title>An AWS Cheatsheet for Builders: What to Use, When, and Why</title>
      <dc:creator>azmal</dc:creator>
      <pubDate>Fri, 23 Jan 2026 16:13:43 +0000</pubDate>
      <link>https://dev.to/azmal/an-aws-cheatsheet-for-builders-what-to-use-when-and-why-3fnf</link>
      <guid>https://dev.to/azmal/an-aws-cheatsheet-for-builders-what-to-use-when-and-why-3fnf</guid>
      <description>&lt;h1&gt;
  
  
  An AWS Cheatsheet for Builders: What to Use, When, and Why
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;AWS can feel overwhelming, especially when you’re trying to build and ship something real.&lt;/p&gt;

&lt;p&gt;There are hundreds of services, detailed documentation, and many “best practices.” But most builders don’t need all of that on day one. What we need is clarity: what to use, when to use it, and why.&lt;/p&gt;

&lt;p&gt;This article is a practical AWS cheatsheet for builders. It’s not complete, and it’s not meant to be. It focuses on the small set of decisions that matter most when you’re actually building.&lt;/p&gt;




&lt;h2&gt;
  
  
  Compute: Where Your Code Runs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  EC2
&lt;/h3&gt;

&lt;p&gt;Use EC2 if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your app runs all the time&lt;/li&gt;
&lt;li&gt;You need full control over the environment&lt;/li&gt;
&lt;li&gt;You’re okay managing servers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re choosing EC2 by default, pause. It’s powerful, but it also comes with responsibility.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lambda
&lt;/h3&gt;

&lt;p&gt;Use Lambda if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your logic is event-based&lt;/li&gt;
&lt;li&gt;Execution time is short&lt;/li&gt;
&lt;li&gt;You don’t want to manage servers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lambda is a great default for APIs, background tasks, and automation.&lt;/p&gt;

&lt;h3&gt;
  
  
  ECS / Fargate
&lt;/h3&gt;

&lt;p&gt;Use ECS or Fargate if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You like containers&lt;/li&gt;
&lt;li&gt;You want scaling without managing servers directly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Simple rule:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
If you don’t know why you need EC2, start with Lambda or Fargate.&lt;/p&gt;




&lt;h2&gt;
  
  
  Storage: Files and Assets
&lt;/h2&gt;

&lt;h3&gt;
  
  
  S3
&lt;/h3&gt;

&lt;p&gt;Use S3 for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File uploads&lt;/li&gt;
&lt;li&gt;Images and videos&lt;/li&gt;
&lt;li&gt;Static website assets&lt;/li&gt;
&lt;li&gt;Backups&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most applications only need S3. It’s simple, reliable, and scales quietly in the background.&lt;/p&gt;

&lt;h3&gt;
  
  
  EBS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Disk storage attached to EC2&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  EFS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Shared file storage across multiple instances&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Builder tip:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
If you’re early, don’t design complex storage. Start with S3 and move on.&lt;/p&gt;




&lt;h2&gt;
  
  
  Databases: Where Data Lives
&lt;/h2&gt;

&lt;h3&gt;
  
  
  DynamoDB
&lt;/h3&gt;

&lt;p&gt;Use DynamoDB if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your access patterns are simple&lt;/li&gt;
&lt;li&gt;You want high scale&lt;/li&gt;
&lt;li&gt;You want minimal maintenance&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  RDS
&lt;/h3&gt;

&lt;p&gt;Use RDS if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need SQL&lt;/li&gt;
&lt;li&gt;Your data is relational&lt;/li&gt;
&lt;li&gt;You want familiar database behavior&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Aurora
&lt;/h3&gt;

&lt;p&gt;Use Aurora if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your app is growing&lt;/li&gt;
&lt;li&gt;You need higher performance with SQL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Rule of thumb:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
DynamoDB for simplicity, RDS for structure.&lt;/p&gt;




&lt;h2&gt;
  
  
  Authentication and Secrets
&lt;/h2&gt;

&lt;h3&gt;
  
  
  IAM
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Permissions between AWS services&lt;/li&gt;
&lt;li&gt;Internal access control&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cognito
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;User sign-up and login&lt;/li&gt;
&lt;li&gt;Token-based authentication&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Secrets Manager
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;API keys&lt;/li&gt;
&lt;li&gt;Database credentials&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Never:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hardcode secrets&lt;/li&gt;
&lt;li&gt;Commit credentials to a repo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This mistake is common—and expensive.&lt;/p&gt;




&lt;h2&gt;
  
  
  Deployment and Automation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Amplify
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Great for frontends&lt;/li&gt;
&lt;li&gt;Fast MVP setups&lt;/li&gt;
&lt;li&gt;Works well with modern frameworks&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  CodePipeline
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Simple CI/CD inside AWS&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  GitHub Actions + AWS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Flexible&lt;/li&gt;
&lt;li&gt;Popular with builders&lt;/li&gt;
&lt;li&gt;Easy to grow with&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Minimum goal:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
One push = one deployment.&lt;/p&gt;




&lt;h2&gt;
  
  
  Monitoring and Cost Awareness
&lt;/h2&gt;

&lt;h3&gt;
  
  
  CloudWatch
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Logs&lt;/li&gt;
&lt;li&gt;Errors&lt;/li&gt;
&lt;li&gt;Basic metrics&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AWS Budgets
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Set monthly limits&lt;/li&gt;
&lt;li&gt;Get alerts early&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cost Explorer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;See where money goes&lt;/li&gt;
&lt;li&gt;Spot unexpected usage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Builder mindset:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Think in cost per user, not service prices.&lt;/p&gt;




&lt;h2&gt;
  
  
  Quick Decision Table
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;You need&lt;/th&gt;
&lt;th&gt;Use this&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Static website&lt;/td&gt;
&lt;td&gt;S3 + CloudFront&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API backend&lt;/td&gt;
&lt;td&gt;Lambda + API Gateway&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;User authentication&lt;/td&gt;
&lt;td&gt;Cognito&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File uploads&lt;/td&gt;
&lt;td&gt;S3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fast MVP backend&lt;/td&gt;
&lt;td&gt;Amplify&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Closing Thoughts
&lt;/h2&gt;

&lt;p&gt;You don’t need to know every AWS service to build effectively.&lt;/p&gt;

&lt;p&gt;Most progress comes from making a few clear decisions, shipping early, and adjusting as you learn. AWS supports that approach well—if you keep things simple.&lt;/p&gt;

&lt;p&gt;This cheatsheet is not a rulebook. It’s a starting point.&lt;/p&gt;




&lt;p&gt;If you found this useful, you can follow me on DEV and the AWS Builder Community as &lt;strong&gt;@azmaldev&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
I share short notes and lessons while building with AWS.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;code&gt;aws&lt;/code&gt; &lt;code&gt;cloud&lt;/code&gt; &lt;code&gt;devops&lt;/code&gt; &lt;code&gt;backend&lt;/code&gt; &lt;code&gt;cheatsheet&lt;/code&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>aws</category>
      <category>cheatsheet</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
