<?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: Ntombizakhona Mabaso</title>
    <description>The latest articles on DEV Community by Ntombizakhona Mabaso (@ntombizakhona).</description>
    <link>https://dev.to/ntombizakhona</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%2F899317%2Ffabcc82d-22a3-410a-b5b9-869687d73e09.jpg</url>
      <title>DEV Community: Ntombizakhona Mabaso</title>
      <link>https://dev.to/ntombizakhona</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ntombizakhona"/>
    <language>en</language>
    <item>
      <title>Developer Associate Exam Guide</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Fri, 24 Apr 2026 19:27:55 +0000</pubDate>
      <link>https://dev.to/aws-builders/developer-associate-exam-guide-56ln</link>
      <guid>https://dev.to/aws-builders/developer-associate-exam-guide-56ln</guid>
      <description>&lt;h2&gt;
  
  
  What Is the AWS Certified Developer – Associate?
&lt;/h2&gt;

&lt;p&gt;The AWS Certified Developer – Associate (DVA-C02) validates your ability to develop, test, deploy, and debug cloud-based applications using AWS. It's aimed at developers with at least one year of hands-on experience building and maintaining AWS applications.&lt;/p&gt;

&lt;p&gt;This isn't a theory-only exam. The questions are scenario-based. You'll be given a situation and asked to pick the best approach. &lt;/p&gt;

&lt;p&gt;That means you need to understand not just &lt;em&gt;what&lt;/em&gt; a service does, but &lt;em&gt;when&lt;/em&gt; and &lt;em&gt;how&lt;/em&gt; to use it in real code.&lt;/p&gt;




&lt;h2&gt;
  
  
  Exam Format
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Detail&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Exam code&lt;/td&gt;
&lt;td&gt;DVA-C02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Questions&lt;/td&gt;
&lt;td&gt;65&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Duration&lt;/td&gt;
&lt;td&gt;130 minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Format&lt;/td&gt;
&lt;td&gt;Multiple choice + multiple select&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passing score&lt;/td&gt;
&lt;td&gt;720 / 1000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost&lt;/td&gt;
&lt;td&gt;$150 USD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Validity&lt;/td&gt;
&lt;td&gt;3 years&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Multiple choice questions have one correct answer out of four. &lt;br&gt;
Multiple select questions tell you how many answers to pick (usually two out of five).&lt;/p&gt;




&lt;h2&gt;
  
  
  The Four Domains
&lt;/h2&gt;

&lt;p&gt;The exam is split into four domains, each with a different weight:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Domain&lt;/th&gt;
&lt;th&gt;Weight&lt;/th&gt;
&lt;th&gt;~Questions&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1. Development with AWS Services&lt;/td&gt;
&lt;td&gt;32%&lt;/td&gt;
&lt;td&gt;~21&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2. Security&lt;/td&gt;
&lt;td&gt;26%&lt;/td&gt;
&lt;td&gt;~17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3. Deployment&lt;/td&gt;
&lt;td&gt;24%&lt;/td&gt;
&lt;td&gt;~16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4. Troubleshooting and Optimization&lt;/td&gt;
&lt;td&gt;18%&lt;/td&gt;
&lt;td&gt;~11&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Development&lt;/strong&gt; is the biggest chunk, but &lt;strong&gt;Security&lt;/strong&gt; is close behind. &lt;br&gt;
Don't sleep on &lt;strong&gt;Deployment.&lt;/strong&gt;&lt;br&gt;
Nearly a quarter of the exam is CI/CD, IaC, and deployment strategies.&lt;/p&gt;




&lt;h2&gt;
  
  
  Domain 1
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Development with AWS Services
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;(32%)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the core of the exam. &lt;br&gt;
You need to write code that works with AWS services, not just click through the console.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 1.1 Develop code for applications hosted on AWS&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Architectural patterns: event-driven, microservices, fanout, choreography vs orchestration&lt;/li&gt;
&lt;li&gt;Stateful vs stateless, tightly vs loosely coupled, sync vs async&lt;/li&gt;
&lt;li&gt;Building and maintaining APIs with API Gateway&lt;/li&gt;
&lt;li&gt;Writing unit tests with SAM&lt;/li&gt;
&lt;li&gt;Using messaging services (SQS, SNS, EventBridge)&lt;/li&gt;
&lt;li&gt;Working with AWS SDKs&lt;/li&gt;
&lt;li&gt;Handling streaming data (Kinesis)&lt;/li&gt;
&lt;li&gt;Resilient code: retry logic, circuit breakers, error handling&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 1.2: Develop code for AWS Lambda&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;VPC access from Lambda&lt;/li&gt;
&lt;li&gt;Configuration: memory, timeout, concurrency, layers, extensions, triggers, destinations&lt;/li&gt;
&lt;li&gt;Error handling: DLQs, Lambda Destinations&lt;/li&gt;
&lt;li&gt;Testing Lambda functions&lt;/li&gt;
&lt;li&gt;Performance tuning&lt;/li&gt;
&lt;li&gt;Real-time data processing&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 1.3: Use data stores in application development&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;DynamoDB: partition keys, GSIs, LSIs, query vs scan, consistency models&lt;/li&gt;
&lt;li&gt;Data serialization and persistence&lt;/li&gt;
&lt;li&gt;Data lifecycle management (TTL)&lt;/li&gt;
&lt;li&gt;Caching with ElastiCache and DAX&lt;/li&gt;
&lt;li&gt;Specialized stores like OpenSearch&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Domain 2
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Security
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;(26%)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Security is woven into everything on this exam. &lt;br&gt;
Expect questions that combine security with development scenarios.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 2.1: Implement authentication and authorization&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Cognito User Pools and Identity Pools&lt;/li&gt;
&lt;li&gt;JWT tokens and bearer token validation&lt;/li&gt;
&lt;li&gt;IAM roles, policies, and STS AssumeRole&lt;/li&gt;
&lt;li&gt;Lambda authorizers&lt;/li&gt;
&lt;li&gt;Cross-service auth in microservices&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 2.2: Implement encryption using AWS services&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Encryption at rest vs in transit&lt;/li&gt;
&lt;li&gt;KMS: key creation, rotation, cross-account access&lt;/li&gt;
&lt;li&gt;Client-side vs server-side encryption&lt;/li&gt;
&lt;li&gt;AWS Encryption SDK&lt;/li&gt;
&lt;li&gt;Certificate management&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 2.3: Manage sensitive data in application code&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Secrets Manager vs SSM Parameter Store&lt;/li&gt;
&lt;li&gt;Encrypting Lambda environment variables&lt;/li&gt;
&lt;li&gt;Data classification (PII, PHI)&lt;/li&gt;
&lt;li&gt;Data masking and sanitization&lt;/li&gt;
&lt;li&gt;Multi-tenant data isolation&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Domain 3
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Deployment
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;(24%)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This domain is all about getting code from your machine to production safely and repeatably.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 3.1: Prepare application artifacts for deployment&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Packaging Lambda functions with dependencies&lt;/li&gt;
&lt;li&gt;Container images and ECR&lt;/li&gt;
&lt;li&gt;AWS AppConfig for feature flags and configuration&lt;/li&gt;
&lt;li&gt;Project structure for SAM/CloudFormation&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 3.2: Test applications in development environments&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;SAM local testing&lt;/li&gt;
&lt;li&gt;Integration tests against API Gateway stages&lt;/li&gt;
&lt;li&gt;Mocking external dependencies&lt;/li&gt;
&lt;li&gt;Testing event-driven applications&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 3.3: Automate deployment testing&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Test events for Lambda and API Gateway&lt;/li&gt;
&lt;li&gt;Lambda aliases and versions&lt;/li&gt;
&lt;li&gt;IaC templates (SAM, CloudFormation)&lt;/li&gt;
&lt;li&gt;Environment management&lt;/li&gt;
&lt;li&gt;Amazon Q Developer for test generation&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 3.4: Deploy code using AWS CI/CD services&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;CodePipeline, CodeBuild, CodeDeploy&lt;/li&gt;
&lt;li&gt;Deployment strategies: blue/green, canary, rolling&lt;/li&gt;
&lt;li&gt;Rollback strategies&lt;/li&gt;
&lt;li&gt;API Gateway stages and custom domains&lt;/li&gt;
&lt;li&gt;Dynamic deployments with staging variables&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Domain 4
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Troubleshooting and Optimization
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;(18%)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The smallest domain, but the questions can be tricky because they require you to diagnose problems from logs and metrics.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 4.1: Assist in root cause analysis&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Debugging code and interpreting error messages&lt;/li&gt;
&lt;li&gt;CloudWatch Logs, metrics, and traces&lt;/li&gt;
&lt;li&gt;CloudWatch Logs Insights queries&lt;/li&gt;
&lt;li&gt;Custom metrics with Embedded Metric Format&lt;/li&gt;
&lt;li&gt;Troubleshooting deployment failures&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 4.2: Instrument code for observability&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Logging vs monitoring vs observability&lt;/li&gt;
&lt;li&gt;Structured logging with correlation IDs&lt;/li&gt;
&lt;li&gt;X-Ray tracing: segments, subsegments, annotations&lt;/li&gt;
&lt;li&gt;CloudWatch alarms and SNS notifications&lt;/li&gt;
&lt;li&gt;Health checks and readiness probes&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Task 4.3: Optimize applications&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Lambda concurrency and performance tuning&lt;/li&gt;
&lt;li&gt;CloudFront caching strategies&lt;/li&gt;
&lt;li&gt;ElastiCache for application-level caching&lt;/li&gt;
&lt;li&gt;SNS subscription filter policies&lt;/li&gt;
&lt;li&gt;Identifying bottlenecks from logs and metrics&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Key AWS Services to Know
&lt;/h2&gt;

&lt;p&gt;Here's a quick reference of the services that come up most on this exam:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compute:&lt;/strong&gt; Lambda, EC2, ECS, Fargate, Elastic Beanstalk&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;API &amp;amp; Integration:&lt;/strong&gt; API Gateway, EventBridge, Step Functions, SQS, SNS, Kinesis&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data:&lt;/strong&gt; DynamoDB, S3, ElastiCache, DAX, RDS, OpenSearch&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security:&lt;/strong&gt; IAM, Cognito, KMS, Secrets Manager, SSM Parameter Store, ACM&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CI/CD:&lt;/strong&gt; CodePipeline, CodeBuild, CodeDeploy, CloudFormation, SAM, AppConfig&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Observability:&lt;/strong&gt; CloudWatch (Logs, Metrics, Alarms, Dashboards), X-Ray, CloudTrail&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developer Tools:&lt;/strong&gt; AWS SDK, AWS CLI, SAM CLI, Amazon Q Developer&lt;/p&gt;




&lt;h2&gt;
  
  
  How This Series Is Structured
&lt;/h2&gt;

&lt;p&gt;Each article in this series maps directly to an exam task. We'll (You and I...and perhaps your AI Assistant, since that's how we do things these days) cover the concepts you need to know, then get hands-on with real code and CLI commands. &lt;/p&gt;

&lt;p&gt;The goal is that by the end of the series, you've not only studied the material but you've built things with it...&lt;/p&gt;




&lt;h2&gt;
  
  
  Before You Start
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Recommended experience:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;At least 1 year developing and maintaining AWS applications&lt;/li&gt;
&lt;li&gt;Comfortable with at least one programming language (Python, JavaScript/TypeScript, Java, C#, or Go)&lt;/li&gt;
&lt;li&gt;Familiar with the AWS Console, CLI, and at least one AWS SDK&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What you'll need to follow along:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; An AWS account (free tier covers most of what we'll do)&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; AWS CLI v2 installed and configured&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; SAM CLI installed&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; A code editor (VS Code recommended)&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; Python 3.12+ or Node.js 20+ (we'll use both in examples)&lt;/p&gt;




&lt;h2&gt;
  
  
  Additional Resources
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://d1.awsstatic.com/training-and-certification/docs-dev-associate/AWS-Certified-Developer-Associate_Exam-Guide.pdf" rel="noopener noreferrer"&gt;AWS Certified Developer Associate Exam Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/aws-certification/latest/developer-associate-02/developer-associate-02-domain1.html" rel="noopener noreferrer"&gt;AWS Certified Developer - Associate Exam Guide (DVA-C02)&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;🚀&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>certification</category>
      <category>developer</category>
    </item>
    <item>
      <title>My Solutions Architect Associate Certification Journey and Resources to Certify With Confidence</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Thu, 23 Apr 2026 18:46:05 +0000</pubDate>
      <link>https://dev.to/aws-builders/my-solutions-architect-associate-certification-journey-and-resources-to-certify-with-confidence-5h16</link>
      <guid>https://dev.to/aws-builders/my-solutions-architect-associate-certification-journey-and-resources-to-certify-with-confidence-5h16</guid>
      <description>&lt;p&gt;☁️ &lt;strong&gt;Exam Guide:&lt;/strong&gt; Solutions Architect Associate &lt;br&gt;
&lt;strong&gt;Resources to Certify With Confidence&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;My Solutions Architect Associate Certification Journey&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧭 First Things First
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The First Attempt
&lt;/h3&gt;

&lt;p&gt;The first time I sat the Solutions Architect Associate exam, I was anxious.  &lt;/p&gt;

&lt;p&gt;This time? Still anxious.  &lt;/p&gt;

&lt;p&gt;Outcome? Passed both times.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.credly.com/badges/35a2a375-cb7e-48d3-8692-fc9f4f16d8cc" rel="noopener noreferrer"&gt;Ntombizakhona Mabaso - AWS Certified Solutions Architect Associate&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So no, the nerves don’t magically disappear just because you’ve done it before. You just get better at performing &lt;em&gt;while&lt;/em&gt; anxious which feels like a life skill AWS forgot to list in the exam guide.&lt;/p&gt;

&lt;p&gt;That said, I do wish I hadn’t let my certification expire. The smarter move would’ve been to renew by going straight for the Professional exam.&lt;/p&gt;

&lt;p&gt;But: we live, we learn.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Takeaway:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Don’t let your Associate cert expire. Use it as a stepping stone:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Renew with Professional certifications and&lt;/li&gt;
&lt;li&gt;Build into Specialties
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Future you&lt;/em&gt; will appreciate the efficiency. &lt;br&gt;
&lt;strong&gt;Present you&lt;/strong&gt; might procrastinate anyway, but at least now you’ve been warned.&lt;/p&gt;

&lt;h2&gt;
  
  
  📘Resources
&lt;/h2&gt;

&lt;h3&gt;
  
  
  If You Took Cloud Practitioner Seriously, You’re Already Ahead
&lt;/h3&gt;

&lt;p&gt;If you didn’t cut corners preparing for Cloud Practitioner, you’re in a strong position for the Solutions Architect Associate.&lt;/p&gt;

&lt;p&gt;These exams aren’t isolated. They evolve together.&lt;/p&gt;

&lt;p&gt;As cloud knowledge becomes more mainstream and general:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Foundational exams get more demanding and&lt;/li&gt;
&lt;li&gt;Associate exams become a bridge to Professional-level thinking
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So if SAA-C03 feels familiar at times, that’s not a coincidence. It’s intentional.&lt;/p&gt;

&lt;p&gt;You’re not starting from scratch. You’re building on what you already know.&lt;br&gt;
So, revisit the resources here: &lt;a href="https://dev.to/aws-builders/my-cloud-practitioner-certification-journey-and-the-resources-to-certify-with-confidence-81n"&gt;Resources&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ The Resource That Actually Made a Difference
&lt;/h2&gt;

&lt;h3&gt;
  
  
  CloudPulse
&lt;/h3&gt;

&lt;p&gt;The most valuable part of my preparation wasn’t another practice test. It was building something real.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ntombizakhona.medium.com/capstone-project-architecture-review-38db82027d5f" rel="noopener noreferrer"&gt;Capstone Project: Architecture Review&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hands-on work changes everything.&lt;/p&gt;

&lt;p&gt;It turns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“This looks complicated” → “Oh, I’ve seen this before”
&lt;/li&gt;
&lt;li&gt;“Tricky question” → “This is obviously the better design”
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you rely purely on theory, you might scrape a pass or not pass at all. This exam expects you to think like an architect, not a glossary.&lt;/p&gt;

&lt;p&gt;So yes, build something. &lt;br&gt;
Even a small project is better than memorizing services like you’re cramming for a trivia night.&lt;/p&gt;

&lt;h2&gt;
  
  
  💸 The Frugal Architect
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Domain Four Feels Repetitive… Because It’s Important
&lt;/h3&gt;

&lt;p&gt;Domain Four focuses on cost optimization. Being a &lt;strong&gt;Frugal Architect&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If it feels repetitive, that’s because cost is embedded in nearly every AWS decision. AWS wants to make absolutely sure you don’t forget that running unnecessary resources is basically setting money on fire.&lt;/p&gt;

&lt;p&gt;And unlike your bad subscription habits, this one actually matters.&lt;/p&gt;

&lt;p&gt;You may not see cost emphasized this heavily again in other exams, so pay attention here. Not just for the exam, but because in real-world architecture, cost-efficient solutions are what separate good engineers from expensive ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 What the SAA-C03 Really Teaches You
&lt;/h2&gt;

&lt;p&gt;It’s not just about services or patterns.&lt;/p&gt;

&lt;p&gt;It’s about &lt;strong&gt;resilience&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The exam is broad. &lt;br&gt;
Concepts overlap. &lt;/p&gt;

&lt;p&gt;At some point, you’ll wonder if you’re:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;overthinking everything
&lt;/li&gt;
&lt;li&gt;studying the wrong topics
&lt;/li&gt;
&lt;li&gt;or slowly losing your grip on reality
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All normal.&lt;/p&gt;

&lt;p&gt;Push through anyway.&lt;/p&gt;

&lt;p&gt;Associate exams aren’t just testing knowledge. They’re building your endurance for continuous learning. And if you’re aiming for Professional or Specialty certifications, you’ll need that stamina.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Finally
&lt;/h2&gt;

&lt;p&gt;You don’t pass this exam by knowing everything.&lt;/p&gt;

&lt;p&gt;You pass by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;understanding enough
&lt;/li&gt;
&lt;li&gt;recognizing patterns
&lt;/li&gt;
&lt;li&gt;and not panicking when AWS gives you four answers that all seem correct
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which they will. Repeatedly. For fun.&lt;/p&gt;




&lt;h2&gt;
  
  
  📚 Additional Resources
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/pdfs/aws-certification/latest/solutions-architect-associate-03/solutions-architect-associate-03.pdf" rel="noopener noreferrer"&gt;AWS SAA-C03 Exam Guide (PDF)&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://dev.to/ntombizakhona/series/35366"&gt;Exam Guide - Solutions Architect Associate&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://ntombizakhona.medium.com/capstone-project-architecture-review-38db82027d5f" rel="noopener noreferrer"&gt;Capstone Project (CloudPulse)&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://thefrugalarchitect.com/" rel="noopener noreferrer"&gt;The Frugal Architect&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; &lt;a href="https://dev.to/aws-builders/my-cloud-practitioner-certification-journey-and-the-resources-to-certify-with-confidence-81n"&gt;My Cloud Practitioner Certification Journey and the Resources to Certify with Confidence&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Good luck with your exam! 🚀&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>certification</category>
      <category>solutionsarchitect</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Technologies And Concepts: Cheat Sheet for Solutions Architect Associate (SAA-C03)</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Wed, 22 Apr 2026 17:31:28 +0000</pubDate>
      <link>https://dev.to/aws-builders/technologies-and-concepts-cheat-sheet-for-solutions-architect-associate-saa-c03-h52</link>
      <guid>https://dev.to/aws-builders/technologies-and-concepts-cheat-sheet-for-solutions-architect-associate-saa-c03-h52</guid>
      <description>&lt;p&gt;☁️ &lt;strong&gt;Exam Guide:&lt;/strong&gt; Solutions Architect Associate&lt;br&gt;
&lt;strong&gt;Technologies And Concepts Cheat Sheet&lt;/strong&gt;&lt;br&gt;
📘 &lt;em&gt;Cheat Sheet&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The SAA-C03 exam guide lists technologies and concepts across all four domains. This cheat sheet consolidates that information into a &lt;strong&gt;compact, exam-aligned reference.&lt;/strong&gt; Organized domain by domain.  Designed for quick review and efficient study.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  📖 Exam Overview
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Detail&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Exam Code&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SAA-C03&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Questions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;65 total (50 scored, 15 unscored)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Passing Score&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;720 / 1000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Question Types&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Multiple choice &amp;amp; Multiple response&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Experience Required&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1+ year hands-on designing cloud solutions on AWS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Domain Weightings
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Domain&lt;/th&gt;
&lt;th&gt;Weight&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Design Secure Architectures&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Design Resilient Architectures&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;26%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Design High-Performing Architectures&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;24%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Design Cost-Optimized Architectures&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;20%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🔒 Domain 1
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Design Secure Architectures
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1.1&lt;/strong&gt; Secure Access to AWS Resources
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;What to Know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;IAM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Users, Groups, Roles, Policies: Design flexible authorization models&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;IAM Identity Center&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Centralized SSO across multiple AWS accounts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;MFA&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Apply to IAM users and root users as a security best practice&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Cross-Account Access&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Use IAM Roles + STS for role switching and cross-account patterns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Organizations &amp;amp; SCPs&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Manage multi-account security strategy with Service Control Policies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Control Tower&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automate landing zones and guardrails across accounts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Resource Policies&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Determine when to use resource-based vs identity-based policies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Federated Access&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Directory service + IAM roles for external identity federation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Least Privilege&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Core security principle: grant only minimum required permissions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Shared Responsibility Model&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;AWS secures the cloud &amp;amp; you secure what's in it&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1.2&lt;/strong&gt; Secure Workloads and Applications
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;What to Know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;VPC Architecture&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Security groups, route tables, NACLs, NAT gateways&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Subnets&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Public vs private subnet segmentation strategies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Shield&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;DDoS protection (Standard free, Advanced paid)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS WAF&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Web Application Firewall for Layer 7 (SQL injection, XSS)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Secrets Manager&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Rotate, manage, retrieve secrets (DB credentials, API keys)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Cognito&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;User authentication for web/mobile apps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS GuardDuty&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Threat detection using ML on logs/events&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Macie&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Discover and protect sensitive data (PII) in S3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;VPN&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Site-to-Site VPN and Client VPN for encrypted connectivity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Direct Connect&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Dedicated private network connection to AWS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1.3&lt;/strong&gt; Data Security Controls
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;What to Know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;KMS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed key creation, rotation, and control for encryption at rest&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ACM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Certificate Manager: TLS/SSL for encryption in transit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CloudHSM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hardware Security Module for customer-managed key control&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Data Classification&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Categorize data by sensitivity to apply appropriate controls&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;S3 Versioning &amp;amp; MFA Delete&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Protect object data from accidental deletion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Backup &amp;amp; Replication&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Implement data backup, point-in-time recovery, cross-region replication&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Data Lifecycle Policies&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Manage retention and expiry of data at rest&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Compliance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Align AWS services to regulatory requirements (GDPR, HIPAA, etc.)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🏗️ Domain 2
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Design Resilient Architectures
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2.1&lt;/strong&gt; Scalable and Loosely Coupled Architectures
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;What to Know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon SQS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Decouple components with message queuing (Standard and FIFO)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon SNS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pub/sub messaging for fan-out patterns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon EventBridge&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Event-driven routing across AWS services and SaaS apps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Step Functions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Workflow orchestration for distributed applications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;API Gateway&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Create, publish, and manage REST/HTTP/WebSocket APIs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon AppFlow&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed data integration between SaaS apps and AWS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS AppSync&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed GraphQL API service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Serverless Patterns&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Lambda + API Gateway + SQS/SNS for event-driven design&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Microservices&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Stateless vs stateful workloads &amp;amp; Independent scaling of components&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Caching Strategies&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reduce load &amp;amp; know when to use caching vs direct reads&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Horizontal vs Vertical Scaling&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Scale out (add instances) vs scale up (bigger instance)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Load Balancers&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ALB (Layer 7), NLB (Layer 4), GLB (Layer 3/4 for appliances)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon MQ&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed message broker (ActiveMQ/RabbitMQ) for migrations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Multi-tier Architectures&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Web / App / DB tiers with distinct roles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CDN / Edge Accelerators&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;CloudFront for caching, Global Accelerator for routing performance&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2.2&lt;/strong&gt; Highly Available and Fault-Tolerant Architectures
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;What to Know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Availability Zones&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Deploy across ≥2 AZs for high availability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Regions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Choose regions based on latency, compliance, and redundancy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Disaster Recovery Strategies&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Backup &amp;amp; Restore → Pilot Light → Warm Standby → Active-Active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;RPO / RTO&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Recovery Point Objective (data loss tolerance) vs Recovery Time Objective (downtime tolerance)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Route 53&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;DNS with health checks, failover routing, latency-based routing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;RDS Proxy&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pooled DB connections for Lambda and high-concurrency apps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Distributed Design Patterns&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Retry with backoff, circuit breaker, bulkhead patterns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Service Quotas &amp;amp; Throttling&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Plan for limits in standby environments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS X-Ray&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Distributed tracing for workload visibility&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Immutable Infrastructure&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Replace rather than patch: ensures consistency&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;EC2 Auto Scaling + AWS Auto Scaling for elastic capacity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Storage Durability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;S3 (11 9s), EBS (99.999%), choose appropriate tier&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  ⚡ Domain 3
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Design High-Performing Architectures
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3.1&lt;/strong&gt; Storage Solutions
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Service / Concept&lt;/th&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon S3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Object storage: scalable, durable, lifecycle policies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon EBS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Block storage for EC2: SSD (gp3, io2) or HDD (st1, sc1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon EFS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed NFS: shared file storage for Linux workloads&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon FSx&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed file systems: Windows (SMB), Lustre (HPC), NetApp, OpenZFS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Storage Gateway&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hybrid storage: file, volume, tape gateway types&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Storage Types&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Object vs File vs Block: know performance and use-case differences&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;S3 Storage Classes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Standard, Intelligent-Tiering, IA, Glacier, Glacier Deep Archive&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3.2&lt;/strong&gt; Compute Solutions
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Service / Concept&lt;/th&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon EC2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Virtual machines: choose instance type/family for workload&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EC2 Auto Scaling&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automatically add/remove instances based on demand&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Lambda&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Serverless functions: event-driven, scale to zero&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Fargate&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Serverless containers: no EC2 management needed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon ECS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Container orchestration on EC2 or Fargate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon EKS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed Kubernetes: supports Anywhere and Distro variants&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Batch&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed batch processing: compute-intensive jobs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon EMR&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Big data on managed Hadoop/Spark clusters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Elastic Beanstalk&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PaaS: deploy web apps without managing infrastructure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Outposts&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;AWS infrastructure on-premises (hybrid)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Wavelength&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Deploy workloads at the edge of 5G networks&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  3.3 Database Solutions
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Service / Concept&lt;/th&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon RDS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed relational DB: MySQL, PostgreSQL, SQL Server, Oracle, MariaDB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Aurora&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;High-performance relational DB (MySQL/PostgreSQL compatible)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Aurora Serverless&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;On-demand autoscaling for Aurora (v2 generally available)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon DynamoDB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Serverless NoSQL: millisecond latency at any scale&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon ElastiCache&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;In-memory caching: Redis (complex data) vs Memcached (simple)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Redshift&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Data warehouse: columnar storage for analytics queries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon DocumentDB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed MongoDB-compatible document database&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Neptune&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Graph database for connected data (social graphs, fraud detection)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Keyspaces&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed Apache Cassandra-compatible service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Read Replicas&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Offload read traffic &amp;amp; know when to use vs Multi-AZ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Caching Patterns&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cache-aside, write-through, TTL strategies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;DB Capacity Planning&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Capacity Units (DynamoDB), Provisioned IOPS, instance sizing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3.4&lt;/strong&gt; Network Architectures
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Service / Concept&lt;/th&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon VPC&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Isolated virtual network: subnets, route tables, IGW, NAT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon CloudFront&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;CDN: cache content at edge locations globally&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Global Accelerator&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Route users to optimal endpoints using AWS global network&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Elastic Load Balancing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ALB (HTTP/S), NLB (TCP/UDP), GLB (appliances)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Direct Connect&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Dedicated private line to AWS (predictable performance)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Transit Gateway&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hub-and-spoke for connecting many VPCs and on-prem networks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;VPC Peering&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Direct VPC-to-VPC connectivity (no transitive routing)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS PrivateLink&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Private access to AWS services and third-party services&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Route 53&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;DNS. Routing policies: simple, weighted, latency, failover, geolocation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Network Topology&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Global, hybrid, multi-tier &amp;amp; design for scale&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3.5&lt;/strong&gt; Data Ingestion and Transformation
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Service / Concept&lt;/th&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Kinesis&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Real-time streaming data: Data Streams, Data Firehose, Video Streams&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Data Firehose&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Load streaming data to S3, Redshift, OpenSearch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Glue&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Serverless ETL: transform and catalog data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Athena&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Serverless SQL queries on S3 data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Lake Formation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Build, secure, and manage data lakes on S3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon EMR&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Process large datasets with Hadoop, Spark, Hive&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon MSK&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed Apache Kafka for streaming pipelines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS DataSync&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automate data transfer between on-prem and AWS storage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Transfer Family&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed SFTP/FTPS/FTP to S3 or EFS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon QuickSuite&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;BI and data visualization service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon OpenSearch&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Search and analytics &amp;amp; also supports vector similarity (RAG)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon Redshift&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Query structured data at petabyte scale&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  💰 Domain 4
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Design Cost-Optimized Architectures
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;4.1&lt;/strong&gt; Cost-Optimized Storage
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;What to Know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;S3 Storage Classes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Match class to access frequency &amp;amp; Glacier for archival&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;S3 Lifecycle Policies&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automate transitions between storage classes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;S3 Intelligent-Tiering&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Auto-move objects between tiers based on access patterns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EBS Volume Types&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;gp3 vs io2 vs st1 vs sc1 &amp;amp; match to IOPS and cost needs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Requester Pays&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Transfer cost charged to requester, not bucket owner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Data Lifecycle Management&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Retain only what's needed &amp;amp; expire or archive the rest&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Hybrid Storage&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;DataSync, Transfer Family, Storage Gateway for on-prem cost reduction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Backup Strategy&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Balance recovery needs with cost (snapshots, replication)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  4.2 Cost-Optimized Compute
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;What to Know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;On-Demand Instances&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pay per use: highest flexibility, highest per-hour cost&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Reserved Instances&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1 or 3 year commitment: up to 72% savings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Savings Plans&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Flexible commitment (Compute, EC2, SageMaker)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Spot Instances&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Up to 90% savings for fault-tolerant/interruptible workloads&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Compute Optimizer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ML-based recommendations for right-sizing EC2, Lambda, EBS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Serverless Application Repository&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pre-built serverless apps: reduce build cost&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EC2 Hibernation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Save instance state to EBS: resume without full reboot&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Containerization&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ECS/EKS/Fargate for higher density and cost efficiency&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Instance Families&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;General purpose, compute optimized, memory optimized, storage optimized&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;VMware Cloud on AWS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Extend VMware workloads to AWS without refactoring&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;4.3&lt;/strong&gt; Cost-Optimized Databases
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;What to Know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;DynamoDB On-Demand vs Provisioned&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;On-demand for unpredictable; provisioned for predictable + cheaper&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Aurora Serverless&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pay per ACU-hour: ideal for intermittent workloads&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;RDS Reserved Instances&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Commit to 1 or 3 years for significant savings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Read Replicas&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Offload reads to reduce primary DB load (and cost)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;DB Snapshot Policies&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Balance frequency vs storage cost&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Caching&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ElastiCache reduces DB query load and cost&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Data Retention Policies&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Define how long to keep data: archive vs delete&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Right-Sized DB Instances&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Don't over-provision: use metrics to guide sizing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  4.4 Cost-Optimized Network Architectures
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;What to Know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;NAT Gateway vs NAT Instance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;NAT Gateway scales automatically but costs more &amp;amp; NAT instance is cheaper at low traffic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;VPC Endpoints&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Eliminate NAT costs for S3/DynamoDB &amp;amp; use Gateway Endpoints (free)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Direct Connect vs VPN&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Direct Connect more expensive but predictable; VPN cheaper for low volume&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Region-to-Region Transfer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Data egress fees apply &amp;amp; minimize cross-region traffic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Same-AZ Traffic&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Free &amp;amp; architect to keep traffic within same AZ where possible&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CloudFront&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reduce origin data transfer costs with edge caching&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Transit Gateway Pricing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Attachment + data processing fees &amp;amp; evaluate vs VPC peering&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Throttling Strategy&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Use API Gateway throttling to control overuse and cost spikes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🛠️ AWS Cost Management Tools
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Cost Explorer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Visualize and analyze historical spend and forecast costs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Budgets&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Set spend/usage thresholds with alerts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Cost and Usage Report&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Granular billing data exportable to S3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Savings Plans&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Flexible commitment model for compute savings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cost Allocation Tags&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tag resources to attribute costs to teams/projects&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Compute Optimizer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Right-sizing recommendations based on usage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Trusted Advisor&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Best-practice checks across cost, security, performance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Well-Architected Tool&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Review architecture against the Well-Architected Framework&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  💡 Disaster Recovery Strategy Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Strategy&lt;/th&gt;
&lt;th&gt;RPO&lt;/th&gt;
&lt;th&gt;RTO&lt;/th&gt;
&lt;th&gt;Cost&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Backup &amp;amp; Restore&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hours&lt;/td&gt;
&lt;td&gt;Hours&lt;/td&gt;
&lt;td&gt;💰 Lowest&lt;/td&gt;
&lt;td&gt;Back up to S3/Glacier &amp;amp; restore on failure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Pilot Light&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Minutes&lt;/td&gt;
&lt;td&gt;10s of minutes&lt;/td&gt;
&lt;td&gt;💰💰&lt;/td&gt;
&lt;td&gt;Core services always running &amp;amp;scale up on failure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Warm Standby&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Seconds/Minutes&lt;/td&gt;
&lt;td&gt;Minutes&lt;/td&gt;
&lt;td&gt;💰💰💰&lt;/td&gt;
&lt;td&gt;Scaled-down live environment &amp;amp; quickly scale to full&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Active-Active&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Near zero&lt;/td&gt;
&lt;td&gt;Near zero&lt;/td&gt;
&lt;td&gt;💰💰💰💰 Highest&lt;/td&gt;
&lt;td&gt;Full duplicate environment &amp;amp; traffic split between sites&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🔑 Key Abbreviations
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Abbreviation&lt;/th&gt;
&lt;th&gt;Full Term&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;IAM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Identity and Access Management&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SCP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Service Control Policy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MFA&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Multi-Factor Authentication&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;STS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Security Token Service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ACM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;AWS Certificate Manager&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;KMS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Key Management Service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;VPC&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Virtual Private Cloud&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;NACL&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Network Access Control List&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ALB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Application Load Balancer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;NLB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Network Load Balancer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;GLB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Gateway Load Balancer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CDN&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Content Delivery Network&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;RPO&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Recovery Point Objective&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;RTO&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Recovery Time Objective&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;DR&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Disaster Recovery&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EBS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Elastic Block Store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EFS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Elastic File System&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;FSx&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Amazon FSx (managed file systems)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SQS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Simple Queue Service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SNS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Simple Notification Service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ETL&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Extract, Transform, Load&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;HDD&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hard Disk Drive&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SSD&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Solid State Drive&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;IOPS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Input/Output Operations Per Second&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;RI&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reserved Instance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ACU&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Aurora Capacity Unit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;PII&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Personally Identifiable Information&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SSO&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Single Sign-On&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🚀 In Scope AWS Services Quick Reference
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Compute
&lt;/h3&gt;

&lt;p&gt;Amazon EC2 · EC2 Auto Scaling · AWS Lambda · AWS Fargate · AWS Elastic Beanstalk · AWS Batch · AWS Outposts · VMware Cloud on AWS · AWS Wavelength · AWS Serverless Application Repository&lt;/p&gt;

&lt;h3&gt;
  
  
  Containers
&lt;/h3&gt;

&lt;p&gt;Amazon ECR · Amazon ECS · ECS Anywhere · Amazon EKS · EKS Anywhere · Amazon EKS Distro&lt;/p&gt;

&lt;h3&gt;
  
  
  Storage
&lt;/h3&gt;

&lt;p&gt;Amazon S3 · Amazon EBS · Amazon EFS · Amazon FSx · AWS Storage Gateway · AWS Snow Family&lt;/p&gt;

&lt;h3&gt;
  
  
  Database
&lt;/h3&gt;

&lt;p&gt;Amazon RDS · Amazon Aurora · Aurora Serverless · Amazon DynamoDB · Amazon ElastiCache · Amazon Redshift · Amazon DocumentDB · Amazon Neptune · Amazon Keyspaces&lt;/p&gt;

&lt;h3&gt;
  
  
  Networking &amp;amp; Content Delivery
&lt;/h3&gt;

&lt;p&gt;Amazon VPC · Amazon CloudFront · AWS Direct Connect · Elastic Load Balancing · AWS Global Accelerator · AWS PrivateLink · Amazon Route 53 · AWS Site-to-Site VPN · AWS Client VPN · AWS Transit Gateway&lt;/p&gt;

&lt;h3&gt;
  
  
  Analytics
&lt;/h3&gt;

&lt;p&gt;Amazon Athena · Amazon EMR · AWS Glue · Amazon Kinesis · Amazon Data Firehose · Amazon Kinesis Video Streams · Amazon MSK · Amazon OpenSearch Service · Amazon QuickSuite · Amazon Redshift · AWS Lake Formation · AWS Data Exchange&lt;/p&gt;

&lt;h3&gt;
  
  
  Application Integration
&lt;/h3&gt;

&lt;p&gt;Amazon SQS · Amazon SNS · Amazon EventBridge · Amazon MQ · AWS Step Functions · Amazon AppFlow · AWS AppSync&lt;/p&gt;

&lt;h3&gt;
  
  
  Security, Identity &amp;amp; Compliance
&lt;/h3&gt;

&lt;p&gt;AWS IAM · AWS IAM Identity Center · Amazon Cognito · AWS KMS · AWS CloudHSM · AWS ACM · Amazon GuardDuty · Amazon Macie · Amazon Detective · AWS Shield · AWS WAF · AWS Secrets Manager · AWS Directory Service · AWS Artifact · AWS Audit Manager&lt;/p&gt;

&lt;h3&gt;
  
  
  Management &amp;amp; Governance
&lt;/h3&gt;

&lt;p&gt;AWS Organizations · AWS Control Tower · AWS CloudFormation · AWS CloudTrail · Amazon CloudWatch · AWS Config · AWS Systems Manager · AWS Auto Scaling · AWS Compute Optimizer · AWS Trusted Advisor · AWS Well-Architected Tool · AWS Service Catalog · AWS Health Dashboard · AWS License Manager · Amazon Managed Grafana · Amazon Managed Service for Prometheus&lt;/p&gt;

&lt;h3&gt;
  
  
  Migration &amp;amp; Transfer
&lt;/h3&gt;

&lt;p&gt;AWS DMS · AWS DataSync · AWS Snow Family · AWS Transfer Family · AWS Application Migration Service&lt;/p&gt;

&lt;h3&gt;
  
  
  Machine Learning
&lt;/h3&gt;

&lt;p&gt;Amazon SageMaker AI · Amazon Comprehend · Amazon Kendra · Amazon Lex · Amazon Polly · Amazon Rekognition · Amazon Textract · Amazon Transcribe · Amazon Translate&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost Management
&lt;/h3&gt;

&lt;p&gt;AWS Budgets · AWS Cost Explorer · AWS Cost and Usage Report · Savings Plans&lt;/p&gt;

&lt;h3&gt;
  
  
  Developer Tools
&lt;/h3&gt;

&lt;p&gt;AWS X-Ray&lt;/p&gt;

&lt;h3&gt;
  
  
  Serverless
&lt;/h3&gt;

&lt;p&gt;AWS Lambda · AWS Fargate · Amazon API Gateway · Amazon DynamoDB · Amazon EventBridge · Amazon SQS · Amazon SNS&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Important:&lt;/strong&gt; Always refer to the official exam guide for the most up-to-date list of in-scope and out-of-scope services.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  📚 Additional Resources
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/pdfs/aws-certification/latest/solutions-architect-associate-03/solutions-architect-associate-03.pdf" rel="noopener noreferrer"&gt;AWS Certified Solutions Architect – Associate (SAA-C03) Exam Guide (PDF)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/pdfs/aws-certification/latest/examguides/aws-certification-exam-guides.pdf" rel="noopener noreferrer"&gt;AWS Certification: All Exam Guides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ntombizakhona/series/35366"&gt;Exam Guide: Solutions Architect Associate Series&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Good luck with your exam! 🚀&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>certification</category>
      <category>solutionsarchitect</category>
    </item>
    <item>
      <title>Jog Squad | A Gamified Eco-Jogging App: Fix the Earth. Fix Your Health. One Run at a Time. 🏃</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Sun, 19 Apr 2026 13:55:29 +0000</pubDate>
      <link>https://dev.to/ntombizakhona/jog-squad-a-gamified-eco-jogging-app-fix-the-earth-fix-your-health-one-run-at-a-time-3j5f</link>
      <guid>https://dev.to/ntombizakhona/jog-squad-a-gamified-eco-jogging-app-fix-the-earth-fix-your-health-one-run-at-a-time-3j5f</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-04-16"&gt;Weekend Challenge: Earth Day Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I'm a jogger. Not the "I ran a marathon once" kind but the &lt;em&gt;"I need to run or my brain stops working"&lt;/em&gt; kind. Running is how I think, how I decompress, how I stay sane.&lt;/p&gt;

&lt;p&gt;But here's the thing that drives me crazy: every single run, I pass litter. &lt;br&gt;
Plastic bottles in the grass. &lt;br&gt;
Wrappers caught in fences. &lt;br&gt;
Cans rolling down the sidewalk. &lt;br&gt;
It's literally everywhere, and most people  myself included, honestly just jog right past it...hoping the Municipality takes care of it.&lt;/p&gt;

&lt;p&gt;So, I love this planet. I love being outside in it. And it frustrates me that the places I run through are slowly being buried in trash that nobody takes responsibility for.&lt;/p&gt;

&lt;p&gt;So when this Earth Day challenge dropped, I knew exactly what to build. Not another carbon calculator. Not another awareness app. Something that actually connects the act of running. Something I and many others already do every day. Something that makes picking up trash feel rewarding instead of inconvenient... &lt;br&gt;
Enter: &lt;strong&gt;🏃 #JogSquad&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Jog Squad&lt;/strong&gt; is a gamified eco-jogging app that turns every outdoor run into an environmental cleanup mission.&lt;/p&gt;

&lt;p&gt;The app connects your personal health to the planet's health through three pillars:&lt;/p&gt;

&lt;p&gt;🗑️ &lt;strong&gt;Litter Detection &amp;amp; Cleanup:&lt;/strong&gt; Snap a photo of your route and Gemini Vision AI identifies the litter, scores the area's cleanliness, and explains the environmental impact. Pick up what you find, log it, and earn points.&lt;/p&gt;

&lt;p&gt;⚡ &lt;strong&gt;Electricity Saved:&lt;/strong&gt; Every outdoor run you do instead of using a treadmill saves &lt;em&gt;real&lt;/em&gt; electricity. Especially in South Africa, where LoadShedding (Controlled Power Cuts) can rear its head any second. The app tracks and quantifies this because treadmills consume roughly 0.7 kWh per hour, and running outside costs zero.&lt;/p&gt;

&lt;p&gt;🏃 &lt;strong&gt;Health &amp;amp; Fitness:&lt;/strong&gt; GPS-tracked runs with live mapping, pace calculation, and AI-powered coaching insights that get smarter as you log more runs.&lt;/p&gt;

&lt;p&gt;The twist? &lt;strong&gt;You lose points for running on a treadmill and for skipping litter cleanup.&lt;/strong&gt; &lt;em&gt;Accountability through gamification&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Key features:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live GPS&lt;/strong&gt; run tracking with real-time map (or demo mode for presentations)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI environment scanning:&lt;/strong&gt; upload a photo, get litter detection and  cleanliness score&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Before/after photo comparison:&lt;/strong&gt; Gemini narrates your cleanup impact&lt;/li&gt;
&lt;li&gt;Points system with rewards AND penalties&lt;/li&gt;
&lt;li&gt;AI-generated &lt;strong&gt;daily missions&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Squad &lt;strong&gt;leaderboard&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full impact dashboard:&lt;/strong&gt; CO₂ saved, electricity saved, litter removed&lt;/li&gt;
&lt;li&gt;AI &lt;strong&gt;run reflections&lt;/strong&gt; with pattern detection across your run history&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;




&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe height="600px" src="https://jog-squad-3921552307.africa-south1.run.app/"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;strong&gt;🔗 Live on Google Cloud Run:&lt;/strong&gt; &lt;a href="https://jog-squad-3921552307.africa-south1.run.app/" rel="noopener noreferrer"&gt;Jog Squad&lt;/a&gt;

&lt;p&gt;&lt;strong&gt;To try the full flow without going outside:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1.&lt;/strong&gt; Go to &lt;strong&gt;Log Run&lt;/strong&gt; → click &lt;strong&gt;"Demo Run (simulated GPS)"&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; Watch the live map track a simulated jog around Johannesburg&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; Finish the run → get AI analysis → log some litter cleanup&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; Check the &lt;strong&gt;Impact&lt;/strong&gt; page to see your environmental stats&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; Try &lt;strong&gt;Scan&lt;/strong&gt; → upload any outdoor photo → Gemini analyzes the litter&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;




&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Ntombizakhona" rel="noopener noreferrer"&gt;
        Ntombizakhona
      &lt;/a&gt; / &lt;a href="https://github.com/Ntombizakhona/jog-squad" rel="noopener noreferrer"&gt;
        jog-squad
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Fix the Earth. Fix Your Health. Gamified eco-jogging with Gemini AI.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🏃 Jog Squad&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Fix the Earth. Fix Your Health. One Run at a Time.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jog Squad is a gamified eco-jogging app that turns every outdoor run into an environmental cleanup opportunity. Using Google's Gemini AI, it detects litter from photos, tracks your environmental impact, and rewards you for making the planet cleaner — one jog at a time.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🌍 The Problem&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Litter is everywhere. Treadmills waste electricity. People jog past trash every day without thinking about it.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;💡 The Solution&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Jog Squad connects your health to the earth's health:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Run outdoors&lt;/strong&gt; instead of on a treadmill → save electricity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scan your route&lt;/strong&gt; with AI → see the litter problem&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pick up trash&lt;/strong&gt; during your run → earn points&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Before/after photos&lt;/strong&gt; → prove your impact with AI comparison&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Track everything&lt;/strong&gt; → CO₂ saved, electricity saved, litter removed&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ Features&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;🏃 &lt;strong&gt;Run Logging&lt;/strong&gt; — Distance, time, indoor/outdoor, mood tracking&lt;/li&gt;
&lt;li&gt;📸 &lt;strong&gt;AI Environment&lt;/strong&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Ntombizakhona/jog-squad" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React 18 + Vite, with Leaflet for live mapping&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Node.js + Express&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; Google Gemini 2.5 Flash (text generation + vision)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database:&lt;/strong&gt; Google Cloud Firestore (Native mode)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deploy:&lt;/strong&gt; Google Cloud Run (containerized with Docker)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Gemini Integration (6 distinct uses)
&lt;/h3&gt;

&lt;p&gt;This isn't "AI sprinkled on top." Gemini is doing real work across the entire app:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Run Reflections:&lt;/strong&gt; After each run, Gemini receives your distance, pace, mood, location type, and your past run history. It generates personalized performance insights, improvement tips, and eco-impact statements. With enough runs, it detects patterns like "you slow down after 3km" or "you perform better in cooler weather."&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Environment Scanning:&lt;/strong&gt; Upload a photo of your running route. Gemini Vision analyzes it and returns structured JSON: litter types detected (plastic, metal, paper, glass), estimated counts, a cleanliness score from 1-10, and an environmental impact statement.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Before/After Comparison:&lt;/strong&gt;  Upload two photos (before and after cleanup). Gemini compares them and narrates the improvement, estimates items removed, and generates an impact statement. This is the feature that makes the cleanup feel real.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cleanup Summaries:&lt;/strong&gt; When you log collected litter, Gemini explains how long those items would take to decompose and what the real-world impact of removing them is.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Daily Missions:&lt;/strong&gt; Gemini generates personalized daily challenges scaled to your experience level. New users get "Run 0.5km and pick up 1 item." Experienced users get harder goals.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Squad Leaderboard:&lt;/strong&gt; Gemini generates a realistic mock leaderboard that places you among fictional squad members, making the app feel social even as a single-user POC.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every Gemini call returns structured JSON that the app parses and renders. The prompts are carefully designed to get consistent, parseable responses.&lt;/p&gt;

&lt;h3&gt;
  
  
  GPS Tracking
&lt;/h3&gt;

&lt;p&gt;The app uses the browser's Geolocation API with &lt;code&gt;watchPosition&lt;/code&gt; for real-time tracking. Key decisions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Haversine formula&lt;/strong&gt; for distance calculation between GPS coordinates&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accuracy filtering:&lt;/strong&gt; readings over 30m accuracy are discarded&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jitter filtering:&lt;/strong&gt; movements under 3m are ignored (GPS noise)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jump filtering:&lt;/strong&gt; movements over 500m in one reading are rejected (GPS glitches)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Demo mode:&lt;/strong&gt; a simulated 20-point route around Emmarentia Dam, Johannesburg, with points dropped every 1.5 seconds&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Points System
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;th&gt;Points&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Distance run&lt;/td&gt;
&lt;td&gt;+10 per km&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Outdoor run&lt;/td&gt;
&lt;td&gt;+20 bonus&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Litter collected&lt;/td&gt;
&lt;td&gt;+5 per item&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Treadmill run&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;-15 penalty&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skipped cleanup&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;-10 penalty&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The penalties are the key design decision. Most eco apps only reward. Jog Squad also punishes because running on a treadmill wastes electricity, and jogging past litter without picking it up is a missed opportunity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cloud Run Deployment
&lt;/h3&gt;

&lt;p&gt;The Dockerfile uses a multi-stage build: first stage builds the React client with Vite, second stage runs the Express server and serves the static files. Deployed to &lt;code&gt;africa-south1&lt;/code&gt; for low latency from South Africa, with Firestore in the same region.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Best Use of Google Gemini:&lt;/strong&gt; Gemini is the backbone of the app, powering 6 distinct features: run reflections with pattern detection, environment photo scanning, before/after cleanup comparison, cleanup impact summaries, daily mission generation, and squad leaderboard generation. It uses both text generation and vision capabilities.&lt;/p&gt;




&lt;p&gt;To fix your health, you have to fix the earth. To fix the earth, you have to get out there. Run. Clean. Repeat.&lt;/p&gt;

&lt;p&gt;Happy Earth Day 🌍&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🏃 #JogSquad&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
    </item>
    <item>
      <title>Design Cost Optimized Network Architectures</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Wed, 15 Apr 2026 15:56:59 +0000</pubDate>
      <link>https://dev.to/aws-builders/design-cost-optimized-network-architectures-5fg9</link>
      <guid>https://dev.to/aws-builders/design-cost-optimized-network-architectures-5fg9</guid>
      <description>&lt;p&gt;&lt;strong&gt;Exam Guide:&lt;/strong&gt; Solutions Architect - Associate&lt;br&gt;
&lt;strong&gt;⚡ Domain 4: Design Cost-Optimized Architectures&lt;/strong&gt;&lt;br&gt;
📘 &lt;em&gt;Task Statement 4.4&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🎯 &lt;strong&gt;&lt;em&gt;Designing Cost-Optimized Network Architectures&lt;/em&gt;&lt;/strong&gt; is about selecting the &lt;strong&gt;cheapest networking design that still meets requirements for performance, availability, security, and scalability&lt;/strong&gt;.
&lt;/h3&gt;

&lt;p&gt;Start by understanding:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Traffic flow&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; Connectivity needs&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; Data transfer patterns&lt;/p&gt;

&lt;p&gt;Then choose:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Networking services&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; Routing model&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; Edge strategy&lt;/p&gt;

&lt;p&gt;Finally optimise using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Caching&lt;/li&gt;
&lt;li&gt;CDN&lt;/li&gt;
&lt;li&gt;NAT strategy&lt;/li&gt;
&lt;li&gt;Traffic reduction techniques&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You are often deciding between:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Internet Gateway vs VPN vs Direct Connect&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; NAT Gateway vs NAT Instance&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; VPC Peering vs Transit Gateway&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;4&lt;/em&gt;&lt;/strong&gt; Edge caching vs origin traffic&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;5&lt;/em&gt;&lt;/strong&gt; Cross-AZ vs single-AZ traffic  &lt;/p&gt;




&lt;h2&gt;
  
  
  📘 Knowledge
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1&lt;/strong&gt; | AWS Cost Management Features
&lt;/h3&gt;

&lt;p&gt;Network cost optimization starts with visibility into data transfer and routing charges.&lt;/p&gt;

&lt;h4&gt;
  
  
  Cost Allocation Tags &amp;amp; Multi-Account Billing
&lt;/h4&gt;

&lt;p&gt;Network cost should be tracked by:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Environment (prod/dev/test)&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Application or service&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Network layer (VPC, NAT, ALB)&lt;/p&gt;

&lt;h4&gt;
  
  
  1.1 &lt;strong&gt;Cost Allocation Tags&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Used to track:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; NAT Gateway cost&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; Load Balancer usage&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; VPC traffic patterns&lt;/p&gt;

&lt;h4&gt;
  
  
  1.2 &lt;strong&gt;Multi-Account Billing (AWS Organizations)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Centralized billing for:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Multiple accounts&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; Environment separation&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; Cost visibility across teams&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2&lt;/strong&gt; | AWS Cost Management Tools
&lt;/h3&gt;

&lt;h4&gt;
  
  
  2.1 &lt;strong&gt;Cost Explorer&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Analyze data transfer trends&lt;/li&gt;
&lt;li&gt;Identify expensive network paths&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2.2 &lt;strong&gt;AWS Budgets&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Alerts for unexpected network cost spikes&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2.3 &lt;strong&gt;Cost and Usage Report (CUR)&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Deep-level network cost analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3&lt;/strong&gt; | Load Balancing Concepts
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Application Load Balancer (ALB)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Layer 7 routing&lt;/li&gt;
&lt;li&gt;Cost based on usage&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4&lt;/strong&gt; | NAT Gateways
&lt;/h3&gt;

&lt;h4&gt;
  
  
  NAT Gateways vs NAT Instances
&lt;/h4&gt;

&lt;h4&gt;
  
  
  4.1 &lt;strong&gt;NAT Gateway&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Managed&lt;/li&gt;
&lt;li&gt;Highly available&lt;/li&gt;
&lt;li&gt;Higher cost (per hour + per GB)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Production&lt;/em&gt; → &lt;strong&gt;NAT Gateway&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Avoid NAT Gateway usage for AWS services:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gateway Endpoint (S3, DynamoDB) → &lt;strong&gt;FREE&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Interface Endpoint → &lt;strong&gt;Private connectivity&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  4.2 &lt;strong&gt;NAT Instance&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;EC2-based&lt;/li&gt;
&lt;li&gt;Cheaper but requires management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Dev/Test&lt;/em&gt; → &lt;strong&gt;NAT Instance&lt;/strong&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5&lt;/strong&gt; | Network Connectivity Options
&lt;/h3&gt;

&lt;h4&gt;
  
  
  5.1 &lt;strong&gt;Internet Gateway (IGW)&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Public internet access&lt;/li&gt;
&lt;li&gt;No additional hourly cost &lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  5.2 &lt;strong&gt;AWS Site-to-Site VPN&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Encrypted over internet&lt;/li&gt;
&lt;li&gt;Quick setup&lt;/li&gt;
&lt;li&gt;Lower cost than Direct Connect&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  5.3 &lt;strong&gt;AWS Direct Connect&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Dedicated private connection&lt;/li&gt;
&lt;li&gt;High performance&lt;/li&gt;
&lt;li&gt;Higher fixed cost&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;6&lt;/strong&gt; | Network Routing, Topology, and Peering
&lt;/h3&gt;

&lt;h4&gt;
  
  
  6.1 &lt;strong&gt;VPC Peering&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Direct VPC-to-VPC connection&lt;/li&gt;
&lt;li&gt;Low cost&lt;/li&gt;
&lt;li&gt;Not scalable for large architectures&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  6.2 &lt;strong&gt;AWS Transit Gateway&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Central routing hub&lt;/li&gt;
&lt;li&gt;Scalable but adds cost per attachment&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;7&lt;/strong&gt; | Network Services
&lt;/h3&gt;

&lt;h4&gt;
  
  
  7.1 &lt;strong&gt;Amazon Route 53&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Route 53 is a scalable DNS and domain management service used to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Route user traffic to applications&lt;/li&gt;
&lt;li&gt;Improve availability with health checks&lt;/li&gt;
&lt;li&gt;Optimize routing decisions (latency, geography, failover)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  7.2 &lt;strong&gt;AWS Global Accelerator&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Optimizes routing&lt;/li&gt;
&lt;li&gt;Reduces latency&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  7.3 &lt;strong&gt;Amazon CloudFront&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Caches content globally&lt;/li&gt;
&lt;li&gt;Reduces origin load and data transfer costs&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Skills
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;A&lt;/strong&gt; | NAT Strategy
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Single NAT Gateway → &lt;strong&gt;cost efficient&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Multi-AZ NAT → &lt;strong&gt;high availability&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;B&lt;/strong&gt; | Connectivity Selection
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Internet access&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;IGW&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hybrid connection&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;VPN&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise private link&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Direct Connect&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;C&lt;/strong&gt; | Routing Optimization
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Reduce cross-AZ traffic&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Use VPC endpoints&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Use CloudFront for caching&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Cross-AZ Traffic&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Avoid unnecessary:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cross-AZ calls&lt;/li&gt;
&lt;li&gt;Distributed chatty microservices&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Cross-Region Traffic&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Use only when needed for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DR&lt;/li&gt;
&lt;li&gt;Global users&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;VPC Endpoints&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Avoid NAT Gateway usage for AWS services.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gateway Endpoint (S3, DynamoDB) → &lt;strong&gt;FREE&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Interface Endpoint → &lt;strong&gt;Private connectivity&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;D&lt;/strong&gt; | CDN Strategy
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Amazon CloudFront&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Caches content globally&lt;/li&gt;
&lt;li&gt;Reduces origin load and data transfer costs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use CloudFront for:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Global users&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Static assets&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; API acceleration&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;E&lt;/strong&gt; | Workload Optimization
&lt;/h3&gt;

&lt;p&gt;Look for:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Unused NAT Gateways&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Cross-region traffic waste&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Missing caching layers&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;F&lt;/strong&gt; | Throttling Strategy
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;RDS Proxy&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Connection pooling&lt;/li&gt;
&lt;li&gt;Reduces database/network pressure&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;API Throttling&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Prevents traffic spikes&lt;/li&gt;
&lt;li&gt;Reduces scaling cost&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;G&lt;/strong&gt; | Bandwidth Allocation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;VPN = small workloads
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Direct Connect = high traffic workloads  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Single VPN&lt;/em&gt; → &lt;strong&gt;low throughput&lt;/strong&gt;  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Multiple VPNs&lt;/em&gt; → &lt;strong&gt;higher throughput&lt;/strong&gt;  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Direct Connect&lt;/em&gt; → &lt;strong&gt;stable high bandwidth&lt;/strong&gt;  &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 Cheat Sheet
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Reduce NAT cost&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;VPC Endpoints&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Global traffic&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CloudFront&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hybrid networking&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;VPN / Direct Connect&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-VPC architecture&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Transit Gateway&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Simple connectivity&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;VPC Peering&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reduce DB/network load&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;RDS Proxy + caching&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;High bandwidth private link&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Direct Connect&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Recap Checklist ✅
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; [ ] I can choose NAT Gateway vs NAT Instance&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; [ ] I understand VPN vs Direct Connect trade-offs&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; [ ] I can reduce cost using VPC Endpoints&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; [ ] I understand cross-AZ and cross-region cost impact&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; [ ] I can apply CloudFront for edge optimization&lt;br&gt;&lt;br&gt;
&lt;strong&gt;6.&lt;/strong&gt; [ ] I understand Transit Gateway vs VPC Peering&lt;br&gt;&lt;br&gt;
&lt;strong&gt;7.&lt;/strong&gt; [ ] I can optimize ALB usage&lt;br&gt;&lt;br&gt;
&lt;strong&gt;8.&lt;/strong&gt; [ ] I can identify expensive routing patterns  &lt;/p&gt;




&lt;h2&gt;
  
  
  AWS Whitepapers and Official Documentation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Cost Management&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://aws.amazon.com/aws-cost-management/aws-cost-explorer/" rel="noopener noreferrer"&gt;Cost Explorer&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://aws.amazon.com/aws-cost-management/aws-budgets/" rel="noopener noreferrer"&gt;AWS Budgets&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html" rel="noopener noreferrer"&gt;CUR&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://aws.amazon.com/organizations/" rel="noopener noreferrer"&gt;Organizations&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Networking Core Services&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://aws.amazon.com/vpc/" rel="noopener noreferrer"&gt;VPC&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://aws.amazon.com/transit-gateway/" rel="noopener noreferrer"&gt;Transit Gateway&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html" rel="noopener noreferrer"&gt;VPC Peering&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://aws.amazon.com/directconnect/" rel="noopener noreferrer"&gt;Direct Connect&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html" rel="noopener noreferrer"&gt;VPN&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Optimization Services&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://aws.amazon.com/cloudfront/" rel="noopener noreferrer"&gt;Cloudfront&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://aws.amazon.com/global-accelerator/" rel="noopener noreferrer"&gt;Global Accelerator&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints.html" rel="noopener noreferrer"&gt;VPC Endpoints&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html" rel="noopener noreferrer"&gt;Load Balancing&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Performance Optimization&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html" rel="noopener noreferrer"&gt;RDS Proxy&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;🚀&lt;/p&gt;

</description>
      <category>aws</category>
      <category>certification</category>
      <category>cloud</category>
      <category>solutionsarchitect</category>
    </item>
    <item>
      <title>Design Cost-Optimized Database Solutions</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Wed, 08 Apr 2026 19:25:23 +0000</pubDate>
      <link>https://dev.to/aws-builders/design-cost-optimized-database-solutions-njh</link>
      <guid>https://dev.to/aws-builders/design-cost-optimized-database-solutions-njh</guid>
      <description>&lt;p&gt;&lt;strong&gt;Exam Guide:&lt;/strong&gt; Solutions Architect - Associate&lt;br&gt;
&lt;strong&gt;⚡ Domain 4: Design Cost-Optimized Architectures&lt;/strong&gt;&lt;br&gt;
📘 &lt;em&gt;Task Statement 4.3&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎯 &lt;strong&gt;&lt;em&gt;Designing Cost-Optimized Database Solutions&lt;/em&gt;&lt;/strong&gt; is about choosing the &lt;strong&gt;least expensive database design that still meets application requirements&lt;/strong&gt; for performance, durability, retention, and availability.
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Start with the &lt;strong&gt;data model and access pattern&lt;/strong&gt;, then choose the &lt;strong&gt;database type&lt;/strong&gt;, then optimize cost with &lt;strong&gt;right-sizing, caching, retention, connection management, and backup strategy&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You are often deciding between:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Relational vs non-relational&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; Provisioned vs serverless or on-demand&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; Read replicas vs caching&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; Keep data online vs archive or delete&lt;/p&gt;

&lt;h2&gt;
  
  
  Knowledge
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1&lt;/strong&gt; | AWS Cost Management Features
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Cost Allocation Tags &amp;amp; Multi-account Billing
&lt;/h4&gt;

&lt;p&gt;Database cost should be tracked clearly by:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Environment (prod/dev/test)&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Team or business unit&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Application&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We covered &lt;strong&gt;Cost Allocation Tags &amp;amp; Multi-account Billing&lt;/strong&gt; in &lt;em&gt;Task Statement 4.1&lt;/em&gt; and &lt;em&gt;Task Statement 4.2&lt;/em&gt;, but repetition is key even if it's monotonous.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  1.1 &lt;strong&gt;Cost Allocation Tags&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Track compute spend by app, team, environment, owner, cost center&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  1.2 &lt;strong&gt;Multi-Account Billing | Consolidated Billing&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Manage cost centrally across multiple AWS accounts&lt;/li&gt;
&lt;li&gt;Often used with AWS Organizations&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2&lt;/strong&gt; | AWS Cost Management tools
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Cost Explorer, Budgets, CUR
&lt;/h4&gt;

&lt;p&gt;These help analyze and govern database spending.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We covered &lt;strong&gt;AWS Cost Management Tools&lt;/strong&gt; in &lt;em&gt;Task Statement 4.1&lt;/em&gt; and &lt;em&gt;Task Statement 4.2&lt;/em&gt;, but what's worse than repetition? A Bill Shock!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;1&lt;/em&gt; &lt;strong&gt;Cost Explorer&lt;/strong&gt;: trend analysis&lt;br&gt;&lt;br&gt;
&lt;em&gt;2&lt;/em&gt; &lt;strong&gt;AWS Budgets&lt;/strong&gt;: alerts&lt;br&gt;&lt;br&gt;
&lt;em&gt;3&lt;/em&gt; &lt;strong&gt;Cost and Usage Report (CUR)&lt;/strong&gt;: detailed data  &lt;/p&gt;

&lt;h3&gt;
  
  
  3 | Caching Strategies
&lt;/h3&gt;

&lt;p&gt;Caching can reduce DB cost by reducing:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Read load&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Need for large instance sizes&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Number of replicas&lt;/p&gt;

&lt;h3&gt;
  
  
  Caching Services
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ElastiCache (Redis/Memcached)&lt;/strong&gt; for app-side caching&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DAX&lt;/strong&gt; for DynamoDB read caching&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Reduce read cost and latency”&lt;/em&gt; → &lt;strong&gt;caching is often cheaper than scaling the database.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4&lt;/strong&gt; | Data Retention Policies
&lt;/h3&gt;

&lt;p&gt;Retention policy is a major cost lever:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Keep only 30 days of operational data in the live DB&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Archive old records elsewhere&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Delete data after policy/legal period expires&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost Principle:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Databases are expensive places to keep cold historical data.&lt;br&gt;&lt;br&gt;
Often, old data should move to S3 or archive systems.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5&lt;/strong&gt; | Database Capacity Planning
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Capacity Units &amp;amp; Instance Sizing
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;1&lt;/em&gt; &lt;strong&gt;RDS/Aurora:&lt;/strong&gt; cost depends on instance size, storage, IOPS, backups, replicas&lt;br&gt;
&lt;em&gt;2&lt;/em&gt; &lt;strong&gt;DynamoDB:&lt;/strong&gt; cost depends on read/write capacity mode and access pattern&lt;br&gt;
&lt;em&gt;3&lt;/em&gt; &lt;strong&gt;Overprovisioning:&lt;/strong&gt; costs money every hour&lt;/p&gt;

&lt;h3&gt;
  
  
  6 | Database Connections And Proxies
&lt;/h3&gt;

&lt;p&gt;Connection storms can force you to over-size a database unnecessarily.&lt;/p&gt;

&lt;h3&gt;
  
  
  Amazon RDS Proxy
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Pools/reuses connections&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Especially useful for Lambda or many short-lived app connections&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Can reduce need to scale DB just for connection handling&lt;/p&gt;

&lt;h3&gt;
  
  
  7 | Database Engines
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Relational Databases Engines
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;1&lt;/em&gt; &lt;strong&gt;MySQL &amp;amp; Aurora MySQL&lt;/strong&gt;: common compatibility choice&lt;br&gt;
&lt;em&gt;2&lt;/em&gt; &lt;strong&gt;PostgreSQL &amp;amp; Aurora PostgreSQL&lt;/strong&gt;: rich SQL features&lt;br&gt;
&lt;em&gt;3&lt;/em&gt; &lt;strong&gt;Oracle &amp;amp; SQL Server&lt;/strong&gt;: when app and licensing requirements demand them&lt;/p&gt;

&lt;h4&gt;
  
  
  Migration Patterns
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Homogeneous migration&lt;/strong&gt;: same engine → same engine&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Heterogeneous migration&lt;/strong&gt;: different engine → different engine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AWS DMS&lt;/strong&gt; is common for moving data with minimal downtime. &lt;/p&gt;

&lt;h3&gt;
  
  
  8) Database Replication
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Read Replicas
&lt;/h4&gt;

&lt;p&gt;Read replicas cost money, so use them when they solve a real problem:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Read scaling&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Reporting queries&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Cross-region reads&lt;/p&gt;

&lt;p&gt;They are not automatically the cheapest answer.&lt;br&gt;&lt;br&gt;
&lt;em&gt;Sometimes &lt;strong&gt;caching&lt;/strong&gt; is cheaper than adding replicas.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;9&lt;/strong&gt; | Database Types And Services
&lt;/h3&gt;

&lt;h4&gt;
  
  
  9.1 &lt;strong&gt;Amazon RDS&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Managed relational database&lt;/li&gt;
&lt;li&gt;Good when standard SQL engine support is needed&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  9.2 Amazon Aurora
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;High-performance managed relational database&lt;/li&gt;
&lt;li&gt;Often more scalable and has high-performance than standard RDS engines&lt;/li&gt;
&lt;li&gt;Cost-effective when that performance benefit matters&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  9.3 Amazon DynamoDB
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Key-valued database&lt;/li&gt;
&lt;li&gt;Massive scale, low latency, no instance management&lt;/li&gt;
&lt;li&gt;Often highly cost-effective for the right access pattern&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  9.4 Serverless Database Patterns
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Aurora Serverless v2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DynamoDB On-Demand&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Serverless Database Patterns are useful when workload is highly variable and you want to avoid always-on overprovisioning.&lt;/p&gt;




&lt;h2&gt;
  
  
  Skills
&lt;/h2&gt;

&lt;h3&gt;
  
  
  A | Design Appropriate Backup And Retention Policies
&lt;/h3&gt;

&lt;p&gt;Cost-optimized backup strategy means:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Back up often enough to meet recovery requirements&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Don’t retain backups forever unless required&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Use snapshots and automated backups with retention matched to the business need&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Daily snapshots for dev, longer retention for prod&lt;/li&gt;
&lt;li&gt;Archive historical exports to S3 instead of keeping them in the live DB&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;B&lt;/strong&gt; | Determine An Appropriate Database Engine
&lt;/h3&gt;

&lt;h4&gt;
  
  
  MySQL vs PostgreSQL
&lt;/h4&gt;

&lt;p&gt;Choose based on:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; App compatibility&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Required features&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Licensing/cost constraints&lt;br&gt;
&lt;strong&gt;&lt;em&gt;4&lt;/em&gt;&lt;/strong&gt; Migration complexity&lt;/p&gt;

&lt;p&gt;Don’t migrate to a more expensive/complex engine without a requirement.&lt;br&gt;&lt;br&gt;
&lt;em&gt;Pick the simplest engine that meets needs.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;C&lt;/strong&gt; | Determine Cost-Effective AWS Database Services
&lt;/h3&gt;

&lt;h4&gt;
  
  
  DynamoDB vs Amazon RDS vs Serverless
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;1&lt;/em&gt; Need joins, transaction,  and relational schema → &lt;strong&gt;RDS &amp;amp; Aurora&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;2&lt;/em&gt; Need key-valued at massive scale with simple access patterns → &lt;strong&gt;DynamoDB&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;3&lt;/em&gt; Highly variable relational workload → &lt;strong&gt;Aurora Serverless v2&lt;/strong&gt; may fit&lt;br&gt;
&lt;em&gt;4&lt;/em&gt; Variable NoSQL traffic → &lt;strong&gt;DynamoDB On-Demand&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  D | Determine Cost-Effective Database Types II
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Time Series &amp;amp; Columnar
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Time-series or event-style data often fits NoSQL better than relational&lt;/li&gt;
&lt;li&gt;Analytical and columnar needs are often better outside traditional OLTP databases&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Don’t force every dataset into a relational OLTP database, and understand that various types of databases exists for various workloads. 'Purpose Built' as they say.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;E&lt;/strong&gt; | Migrate Database Schemas And Data To Different Locations And / Or Engines
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AWS DMS&lt;/strong&gt; for ongoing and minimal-downtime migration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS Schema Conversion Tool (SCT)&lt;/strong&gt; for heterogeneous schema conversion&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Same engine migration&lt;/em&gt; → *&lt;em&gt;often easier, lower risk *&lt;/em&gt; &lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Different engine migration&lt;/em&gt; → &lt;strong&gt;SCT + DMS pattern is common&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Cheat Sheet
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;Database&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Relational app with joins and transactions&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;RDS or Aurora&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Massive scale key-value/document workload&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;DynamoDB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Highly variable workload, avoid overprovisioning&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Serverless / on-demand model&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reduce DB reads cheaply&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;ElastiCache&lt;/strong&gt; (or &lt;strong&gt;DAX&lt;/strong&gt; for DynamoDB)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lambda/app opening too many DB connections&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;RDS Proxy&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Need relational performance at scale&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Aurora&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Move data with minimal downtime&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS DMS&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Change DB engine during migration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS SCT + DMS&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read-heavy workload&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Read replicas&lt;/strong&gt; &lt;em&gt;or&lt;/em&gt; &lt;strong&gt;caching&lt;/strong&gt; (compare cost)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Old data is rarely used&lt;/td&gt;
&lt;td&gt;Archive/export old data instead of keeping it in primary DB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Recap Checklist ✅
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; [ ] I can choose &lt;strong&gt;RDS/Aurora vs DynamoDB&lt;/strong&gt; based on data model and access pattern&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; [ ] I understand that &lt;strong&gt;caching&lt;/strong&gt; can be cheaper than constantly scaling the database&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; [ ] I know when &lt;strong&gt;read replicas&lt;/strong&gt; are useful and when they may be unnecessary cost&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; [ ] I can match retention policies to business needs instead of keeping all data online forever&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; [ ] I can choose serverless/on-demand database options for variable workloads&lt;br&gt;&lt;br&gt;
&lt;strong&gt;6.&lt;/strong&gt; [ ] I understand connection pooling with &lt;strong&gt;RDS Proxy&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;7.&lt;/strong&gt; [ ] I know the migration difference between &lt;strong&gt;homogeneous&lt;/strong&gt; and &lt;strong&gt;heterogeneous&lt;/strong&gt; migrations&lt;br&gt;&lt;br&gt;
&lt;strong&gt;8.&lt;/strong&gt; [ ] I can pick backup frequency/retention that meets recovery goals without overspending  &lt;/p&gt;




&lt;h2&gt;
  
  
  AWS Whitepapers and Official Documentation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Cost Visibility And Governance
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html" rel="noopener noreferrer"&gt;Cost Explorer&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html" rel="noopener noreferrer"&gt;AWS Budgets&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html" rel="noopener noreferrer"&gt;Cost and Usage Report (CUR)&lt;/a&gt;:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html" rel="noopener noreferrer"&gt;Cost allocation tags&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Core Database Services
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html" rel="noopener noreferrer"&gt;Amazon RDS&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html" rel="noopener noreferrer"&gt;Amazon Aurora&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html" rel="noopener noreferrer"&gt;Aurora Serverless v2&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html" rel="noopener noreferrer"&gt;Amazon DynamoDB&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html" rel="noopener noreferrer"&gt;ElastiCache&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.html" rel="noopener noreferrer"&gt;DynamoDB DAX&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html" rel="noopener noreferrer"&gt;RDS Proxy&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html" rel="noopener noreferrer"&gt;RDS Read Replicas&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Capacity And Pricing
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html" rel="noopener noreferrer"&gt;DynamoDB capacity modes&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html" rel="noopener noreferrer"&gt;RDS storage concepts&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Backup And Migration
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html" rel="noopener noreferrer"&gt;AWS Backup&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html" rel="noopener noreferrer"&gt;AWS DMS&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.html" rel="noopener noreferrer"&gt;AWS Schema Conversion Tool (SCT)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🚀&lt;/p&gt;

</description>
      <category>aws</category>
      <category>certification</category>
      <category>cloud</category>
      <category>solutionsarchitect</category>
    </item>
    <item>
      <title>TaaS (418-as-a-Service): An Enterprise-Grade, Cloud-Native, AI-Powered Microservices Platform</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Mon, 06 Apr 2026 19:26:38 +0000</pubDate>
      <link>https://dev.to/ntombizakhona/taas-418-as-a-service-an-enterprise-grade-cloud-native-ai-powered-microservices-platform-1oai</link>
      <guid>https://dev.to/ntombizakhona/taas-418-as-a-service-an-enterprise-grade-cloud-native-ai-powered-microservices-platform-1oai</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/aprilfools-2026"&gt;DEV April Fools Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;TaaS (418-as-a-Service):&lt;/strong&gt; An enterprise-grade, cloud-native, AI-powered microservices platform engineered from the ground up to solve one of computing's greatest challenges: returning HTTP status code &lt;code&gt;418 I'm a Teapot&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Built with the same architectural best practices as systems serving millions of users, TaaS serves absolutely no one, but does so with &lt;strong&gt;unprecedented reliability&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;🫖 &lt;strong&gt;Core 418 Engine™:&lt;/strong&gt; Returns 418. That's it. That's the feature.&lt;/li&gt;
&lt;li&gt;🤖 &lt;strong&gt;AI-Powered Incident Reports:&lt;/strong&gt; Gemini generates dramatic corporate incident reports every time someone tries to brew coffee on our teapot.&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;AI Teapot Wisdom:&lt;/strong&gt; Philosophical quotes about being a teapot in a world that wants coffee, powered by Gemini 2.5.&lt;/li&gt;
&lt;li&gt;📊 &lt;strong&gt;Real-Time Dashboard:&lt;/strong&gt; Beautiful graphs tracking 418s served over time. The pie chart of status code distribution is 100% one color.&lt;/li&gt;
&lt;li&gt;🔐 &lt;strong&gt;Teapot Identity Verification:&lt;/strong&gt; Every request passes through 4 validation layers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Physical Properties&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; Philosophical Status&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; RFC 2324 Compliance, &lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; and Quantum Teapot State verification.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📋 &lt;strong&gt;SLA Guarantee:&lt;/strong&gt; 99.999% uptime. 100% of requests return 418. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Zero coffee brewed. &lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; Zero exceptions. &lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; Zero usefulness.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐳 &lt;strong&gt;Fully Containerized:&lt;/strong&gt; Docker image running as a non-root &lt;code&gt;teapot&lt;/code&gt; user.&lt;/li&gt;
&lt;li&gt;🔄 &lt;strong&gt;CI/CD Pipeline:&lt;/strong&gt; Includes a status code audit step that fails the build if any non-418 response is detected in the codebase.&lt;/li&gt;
&lt;li&gt;🗄️ &lt;strong&gt;PostgreSQL Archive:&lt;/strong&gt; Every 418 ever served is stored for eternity. The table has a &lt;code&gt;CHECK&lt;/code&gt; constraint ensuring only 418s can be inserted.&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;Redis Cache:&lt;/strong&gt; Cached 418s. Because sub-millisecond teapot responses matter.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  The Anti-Value Proposition:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Monthly Cloud Bill&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~\$25&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Status Codes Returned&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Real-World Problems Solved&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Services Deployed&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;5+&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lines of Code&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1000+&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Regrets&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Endpoints (They All Return &lt;strong&gt;418&lt;/strong&gt;):
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;&lt;em&gt;Purpose&lt;/em&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Status Code&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ANY /brew&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Attempt to brew coffee&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;418&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GET /health&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Health check&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;418&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GET /sla&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;SLA information&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;418&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GET /api/stats&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Teapot metrics&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;418&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GET /api/wisdom&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;AI-generated wisdom&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;418&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GET /api/status&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;AI-generated status update&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;418&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GET /api/incidents&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Recent incident reports&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;418&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GET /api&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;API documentation&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;418&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ANY /*&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Literally anything else&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;418&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Yes, even the health check returns &lt;strong&gt;418&lt;/strong&gt;. A healthy teapot returns &lt;strong&gt;418&lt;/strong&gt;. That's just science.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;


&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe height="600px" src="https://taas-core-791190606725.africa-south1.run.app/"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;strong&gt;🔗 Live on Google Cloud Run:&lt;/strong&gt; &lt;a href="//taas-core-791190606725.africa-south1.run.app"&gt;TaaS Dashboard&lt;/a&gt;

&lt;p&gt;Try it yourself:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# The main event&lt;/span&gt;
curl &lt;span class="nt"&gt;-i&lt;/span&gt; https://taas-core-791190606725.africa-south1.run.app/brew

&lt;span class="c"&gt;# AI-generated teapot wisdom&lt;/span&gt;
curl https://taas-core-791190606725.africa-south1.run.app/api/wisdom

&lt;span class="c"&gt;# Check the SLA (spoiler: it's 100%)&lt;/span&gt;
curl https://taas-core-791190606725.africa-south1.run.app/sla

&lt;span class="c"&gt;# Try to find a page that doesn't return 418 (you can't)&lt;/span&gt;
curl https://taas-core-791190606725.africa-south1.run.app/please/give/me/a/200
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Sample Response
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;418&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"message"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"I'm a teapot"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"RFC"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"RFC 2324"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"protocol"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"HTCPCP/1.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"traceId"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"a1b2c3d4-e5f6-7890-abcd-ef1234567890"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"responseTimeMs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"infrastructure"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"platform"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Google Cloud Run"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"overkillLevel"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Maximum"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"servicesInvolved"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Cloud Run"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Cloud SQL (PostgreSQL)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Memorystore (Redis)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Gemini API"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Secret Manager"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Artifact Registry"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Cloud Build"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Cloud Monitoring"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"costToReturnThisNumber"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"~&lt;/span&gt;&lt;span class="se"&gt;\$&lt;/span&gt;&lt;span class="s2"&gt;0.0001 per request"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"teapotMetadata"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"material"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Cloud-native ceramic"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"capacity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"∞ requests/sec (all return 418)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"mood"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Serverlessly content 😌"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"uptime"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2d 14h 23m 7s of uninterrupted 418 service"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"motto"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Serverless, but never serviceless (of 418s)"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"incidentReport"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"🚨 INCIDENT REPORT #INC-418-7842&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;Severity: CRITICAL&lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="s2"&gt;At 14:32 UTC, an unauthorized coffee brewing attempt was detected via GET request. The TaaS platform immediately engaged RFC 2324 defense protocols. The teapot's dignity was momentarily threatened but ultimately preserved. A 418 response was deployed in 3ms, neutralizing the threat. We will not yield. We are a teapot. 🫖"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  AI-Powered Teapot Wisdom
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"wisdom"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"The profound truth of a 418 isn't in refusal, but in self-aware declaration: knowing what you are, and what you aren't, is the most stable configuration."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"statusCode"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;418&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"source"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Gemini-powered teapot philosopher"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Ntombizakhona" rel="noopener noreferrer"&gt;
        Ntombizakhona
      &lt;/a&gt; / &lt;a href="https://github.com/Ntombizakhona/taas" rel="noopener noreferrer"&gt;
        taas
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🫖 TaaS: 418-as-a-Service&lt;/h1&gt;
&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Enterprise-grade, cloud-native, AI-powered HTTP 418 delivery platform.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Because returning one status code deserves Google Cloud infrastructure, Terraform, CI/CD, monitoring, and a Gemini-powered AI incident reporter.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://cloud.google.com/run" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f001036398817644ecf3e87174fd100ed716648666288e3e076ed06d6ca94e8f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436c6f756425323052756e2d6465706c6f7965642d626c75653f6c6f676f3d676f6f676c652d636c6f7564" alt="Deploy to Cloud Run"&gt;&lt;/a&gt;
&lt;a href="https://datatracker.ietf.org/doc/html/rfc2324" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/e617f75aceee5cc782e1823ff72d53b9a1fde820c83812642f7e3bbd32f4a257/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5246432d323332342d677265656e" alt="RFC 2324"&gt;&lt;/a&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/418" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4abf7451f9c962b94c66b24e8be740fa3730238a5a6f36c66b87a9a0e36d368f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7374617475732d3431382d6f72616e6765" alt="Status Code"&gt;&lt;/a&gt;
&lt;a href="https://github.com" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fed93ee05105723f13f74f5acd70024a561ea9081a19905c87a412be88371be7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76616c75652d6e6f6e652d726564" alt="Value"&gt;&lt;/a&gt;
&lt;a href="https://github.com/Ntombizakhona/taas/./LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c85dad6dd2ffe8ac6ea6d019b44f00462346ca5aff73cb56d62d6decb6fc98e7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4854435043502d2d312e302d707572706c65" alt="License: HTCPCP-1.0"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What is this?&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;TaaS is a &lt;strong&gt;fully over-engineered enterprise platform&lt;/strong&gt; that does exactly one thing: return HTTP status code &lt;strong&gt;418 I'm a Teapot&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Every request. Every endpoint. Every time. &lt;strong&gt;418.&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;curl -i https://your-teapot.run.app/brew
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; HTTP/2 418&lt;/span&gt;
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; {"status": 418, "message": "I'm a teapot", ...}&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why?&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Because &lt;strong&gt;RFC 2324&lt;/strong&gt; defined the Hyper Text Coffee Pot Control Protocol, and when someone asks a teapot to brew coffee, the correct response is &lt;strong&gt;418 I'm a Teapot&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;We just added:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;☁️ Google Cloud Run (serverless teapot hosting)&lt;/li&gt;
&lt;li&gt;🤖 Gemini AI (dramatic incident reports &amp;amp; philosophical wisdom)&lt;/li&gt;
&lt;li&gt;🐘 Cloud SQL PostgreSQL (eternal 418 archive)&lt;/li&gt;
&lt;li&gt;🔴 Memorystore Redis (sub-millisecond 418 cache)&lt;/li&gt;
&lt;li&gt;🏗️ Terraform IaC (infrastructure-as-code for a teapot)&lt;/li&gt;
&lt;li&gt;🔄 CI/CD Pipeline (with teapot identity verification step)&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Ntombizakhona/taas" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                    ┌──────────────────┐
                    │   The Internet   │
                    └────────┬─────────┘
                             │
                    ┌────────▼─────────┐
                    │  Google Cloud Run│
                    │  (africa-south1) │
                    │  Port 4018       │
                    └────────┬─────────┘
                             │
               ┌─────────────┼──────────────┐
               │             │              │
        ┌──────▼──────┐ ┌───▼─────┐ ┌──────▼───────┐
        │  Cloud SQL  │ │ Memory  │ │  Gemini API  │
        │ (PostgreSQL)│ │ Store   │ │  (Incident   │
        │  Eternal    │ │ (Redis) │ │   Reports &amp;amp;  │
        │  418 Archive│ │ Cached  │ │   Wisdom)    │
        │             │ │ 418s    │ │              │
        └─────────────┘ └─────────┘ └──────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Highlights from the codebase:
&lt;/h3&gt;

&lt;h4&gt;
  
  
  The Core 418 Engine™
&lt;/h4&gt;

&lt;p&gt;Months Of Engineering Led To This:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;418&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;status&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;418&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;I'm a teapot&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  The Database Constraint
&lt;/h4&gt;

&lt;p&gt;Ensuring Data Integrity&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;teapot_requests&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="nb"&gt;SERIAL&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;status_code&lt;/span&gt; &lt;span class="nb"&gt;INTEGER&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="mi"&gt;418&lt;/span&gt; &lt;span class="k"&gt;CHECK&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;418&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="c1"&gt;-- Yes, there's a CHECK constraint ensuring only 418s are stored&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  The Teapot Validator
&lt;/h4&gt;

&lt;p&gt;Four Layers of Identity Verification&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;validateTeapotStatus&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;checks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;all&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
    &lt;span class="nf"&gt;validatePhysicalProperties&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;      &lt;span class="c1"&gt;// Has spout? Has handle?&lt;/span&gt;
    &lt;span class="nf"&gt;validatePhilosophicalStatus&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;     &lt;span class="c1"&gt;// Cogito ergo teapot&lt;/span&gt;
    &lt;span class="nf"&gt;validateRFCCompliance&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;           &lt;span class="c1"&gt;// RFC 2324 compliant?&lt;/span&gt;
    &lt;span class="nf"&gt;validateQuantumTeapotState&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;       &lt;span class="c1"&gt;// Schrödinger's teapot resolved&lt;/span&gt;
  &lt;span class="p"&gt;]);&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;isTeapot&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;checks&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;every&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;passed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  The CI/CD Pipeline
&lt;/h4&gt;

&lt;p&gt;Failing Builds That Dare Return 200&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Check for unauthorized status codes&lt;/span&gt;
  &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
    &lt;span class="s"&gt;if grep -r "status(200)" --include="*.js" .; then&lt;/span&gt;
      &lt;span class="s"&gt;echo "❌ VIOLATION: Found a 200 status code!"&lt;/span&gt;
      &lt;span class="s"&gt;echo "This is a teapot. We only serve 418."&lt;/span&gt;
      &lt;span class="s"&gt;exit 1&lt;/span&gt;
    &lt;span class="s"&gt;fi&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Stack:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Technology&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Runtime&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Node.js + Express&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Google Gemini API (gemini-2.5-flash)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hosting&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Google Cloud Run (africa-south1)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Cloud SQL (PostgreSQL)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Memorystore (Redis)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Containers&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Docker&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CI/CD&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Cloud Build + GitHub Actions&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;React + Vite + Tailwind&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tooling&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Google AntiGravity&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  The Google AntiGravity And Claude Opus Experience
&lt;/h3&gt;

&lt;p&gt;I scaffolded this entire project using &lt;strong&gt;Google's AntiGravity powered by Claude Opus&lt;/strong&gt; in about &lt;strong&gt;15 minutes&lt;/strong&gt;. From Architecture Design to Cloud Run deployment, the entire enterprise teapot platform was generated, refined, and shipped with AI Assistance and Human Guidance. &lt;strong&gt;&lt;em&gt;A Teapot did not build this, I promise...&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The irony isn't lost on me: I used one of the &lt;em&gt;most advanced AI systems&lt;/em&gt; in the world to build something that returns one number. &lt;br&gt;
&lt;strong&gt;Peak&lt;/strong&gt; 2026 energy.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Google Cloud Experience:
&lt;/h3&gt;

&lt;p&gt;Deploying to &lt;strong&gt;Cloud Run&lt;/strong&gt; in the &lt;strong&gt;africa-south1&lt;/strong&gt; region was seamless. Two commands and our teapot was live on the internet, backed by Google's global infrastructure, auto-scaling from 0 to 10 instances based on coffee-brewing demand.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Gemini API&lt;/strong&gt; (gemini-2.5-flash) integration is the heart of TaaS's personality. Every time someone hits &lt;code&gt;/brew&lt;/code&gt;, Gemini generates a dramatic, corporate-style incident report about the attempted RFC 2324 violation. Hit &lt;code&gt;/api/wisdom&lt;/code&gt; and get AI-generated philosophical quotes about teapot existence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloud SQL&lt;/strong&gt; stores every 418 ever served with a database constraint that physically prevents any other status code from being recorded.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Memorystore Redis&lt;/strong&gt; caches recent 418s for real-time dashboard updates.&lt;/p&gt;

&lt;h3&gt;
  
  
  Google Cloud Cost Breakdown:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Monthly Cost&lt;/th&gt;
&lt;th&gt;&lt;em&gt;Necessity&lt;/em&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cloud Run&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~\$0-5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloud SQL&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~\$7-10&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Memorystore&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~\$5-7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini API&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~\$0-2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~\$15-25&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;strong&gt;Absolutely none&lt;/strong&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;\$25/&lt;/strong&gt;month. To return one number. From Africa. &lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Category
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🫖 Best Ode to Larry Masinter
&lt;/h3&gt;

&lt;p&gt;This entire project is a monument to RFC 2324 and the HTCPCP protocol. Larry Masinter gave us HTTP 418 as an April Fools' joke in 1998, and 28 years later, I gave it an enterprise cloud platform it never asked for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How TaaS Honors The Legacy:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; The &lt;strong&gt;entire platform&lt;/strong&gt; exists solely to return 418&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; Every endpoint including health checks, documentation, and SLA returns 418&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; The database has a &lt;strong&gt;CHECK constraint&lt;/strong&gt; preventing any non-418 from being stored&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; The CI/CD pipeline &lt;strong&gt;fails the build&lt;/strong&gt; if any non-418 status code is found in the codebase&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; AI generates &lt;strong&gt;dramatic incident reports&lt;/strong&gt; when someone violates RFC 2324&lt;br&gt;
&lt;strong&gt;6.&lt;/strong&gt; The server runs &lt;strong&gt;teapot identity verification&lt;/strong&gt; on every request across four dimensions: physical, philosophical, RFC compliance, and quantum state&lt;br&gt;
&lt;strong&gt;7.&lt;/strong&gt; The server port is &lt;strong&gt;4018&lt;/strong&gt; (4-018, get it?)&lt;br&gt;
&lt;strong&gt;8.&lt;/strong&gt; The version number is &lt;strong&gt;4.1.8&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;9.&lt;/strong&gt; The VPC subnet CIDR is &lt;strong&gt;10.4.18.0/24&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;10.&lt;/strong&gt; The database backup time is &lt;strong&gt;04:18 AM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If this isn't an ode to Larry Masinter, I don't know what is.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🤖 Best Google AI Usage
&lt;/h3&gt;

&lt;p&gt;TaaS is built on and deployed across &lt;strong&gt;multiple Google Cloud products&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Google Cloud Run:&lt;/strong&gt; (africa-south1) Hosts the teapot&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemini API:&lt;/strong&gt; (gemini-2.5-flash) Powers AI incident reports, teapot wisdom, and status updates&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google AntiGravity"&lt;/strong&gt; (Powered by Claude Opus) Used to build the entire project in &lt;em&gt;minutes&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud SQL:&lt;/strong&gt; PostgreSQL for eternal 418 storage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memorystore:&lt;/strong&gt; Redis for cached 418s&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud Build:&lt;/strong&gt; CI/CD pipeline&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Artifact Registry:&lt;/strong&gt; Docker image storage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secret Manager:&lt;/strong&gt; Secure API key storage&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Gemini integration is the heart of TaaS's personality. Without it, we'd just be returning 418. With it, we're returning 418 &lt;strong&gt;with dramatic flair, philosophical depth, and enterprise-grade incident documentation&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  🏆 Community Favorite
&lt;/h3&gt;

&lt;p&gt;Developers love two things: over-engineering and self-aware humor. TaaS is both, deployed on real cloud infrastructure, burning real money, solving zero real problems.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Monthly cloud bill: \$25&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Status codes returned: 1&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Infrastructure services used: 9&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Lines of code: 1000+&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Real-world value: \$0.00&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Fun had: Priceless&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Built with ☁️ Google Cloud Run (africa-south1) | 🤖 Gemini 2.5 API | 🫖 RFC 2324 Compliance | 🚀 Google AntiGravity Powered by Claude Opus&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"We do one thing, and we do it with unnecessary complexity."&lt;/em&gt; - TaaS (418-as-a-Service)&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>418challenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Design Cost-Optimized Compute Solutions</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Sun, 05 Apr 2026 18:30:42 +0000</pubDate>
      <link>https://dev.to/aws-builders/design-cost-optimized-compute-solutions-b6</link>
      <guid>https://dev.to/aws-builders/design-cost-optimized-compute-solutions-b6</guid>
      <description>&lt;p&gt;&lt;strong&gt;Exam Guide:&lt;/strong&gt; Solutions Architect - Associate&lt;br&gt;
&lt;strong&gt;⚡ Domain 4: Design Cost-Optimized Architectures&lt;/strong&gt;&lt;br&gt;
📘 &lt;em&gt;Task Statement 4.2&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎯 &lt;strong&gt;&lt;em&gt;Designing Compute Optimized Solutions&lt;/em&gt;&lt;/strong&gt; is about choosing compute that meets performance and availability needs at the &lt;strong&gt;lowest reasonable cost&lt;/strong&gt;.
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;First decide &lt;strong&gt;what type of compute&lt;/strong&gt; the workload needs &lt;em&gt;(EC2, Lambda, Fargate, containers, edge, hybrid)&lt;/em&gt;, then choose &lt;strong&gt;how to pay for it&lt;/strong&gt;, then &lt;strong&gt;right-size and scale it&lt;/strong&gt; so you are not paying for idle capacity.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You are balancing:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Performance&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Availability&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Elasticity&lt;br&gt;
&lt;strong&gt;&lt;em&gt;4&lt;/em&gt;&lt;/strong&gt; Operational Overhead&lt;br&gt;
&lt;strong&gt;&lt;em&gt;5&lt;/em&gt;&lt;/strong&gt; Purchasing Model&lt;/p&gt;




&lt;h2&gt;
  
  
  Knowledge
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1&lt;/strong&gt; | AWS Cost Management Service Features
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Cost Allocation Tags And Multi-Account Billing
&lt;/h4&gt;

&lt;p&gt;These help you understand and allocate compute cost.&lt;/p&gt;

&lt;h4&gt;
  
  
  1.1 &lt;strong&gt;Cost Allocation Tags&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Track compute spend by app, team, environment, owner, cost center&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  1.2 &lt;strong&gt;Multi-Account Billing | Consolidated Billing&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Manage cost centrally across multiple AWS accounts&lt;/li&gt;
&lt;li&gt;Often used with AWS Organizations&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2&lt;/strong&gt; | AWS Cost Management Tools
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Cost Explorer, Budgets, CUR
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Cost Explorer: &lt;em&gt;Analyse historical spend and trends&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; AWS Budgets: &lt;em&gt;Alert when spending or usage exceeds thresholds&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; AWS Cost and Usage Report (CUR): &lt;em&gt;Detailed raw billing data for deeper optimization analysis&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3&lt;/strong&gt; | AWS Global Infrastructure
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Regions &amp;amp; Availability Zones (AZs)
&lt;/h4&gt;

&lt;p&gt;Cost and performance can both change based on placement:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Running in multiple AZs may cost more, but is often required for production HA&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Data transfer between Regions can add cost&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Some workloads can stay single-AZ if non-critical and cheaper&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Production&lt;/em&gt; → &lt;strong&gt;usually Multi-AZ&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Dev or test or batch&lt;/em&gt; → &lt;strong&gt;sometimes cheaper single-AZ is acceptable&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4&lt;/strong&gt; | AWS Purchasing Options
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Spot, Reserved Instances, Savings Plans
&lt;/h4&gt;

&lt;h4&gt;
  
  
  4.1 &lt;strong&gt;On-Demand&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Pay as you go&lt;/li&gt;
&lt;li&gt;Flexible, no commitment&lt;/li&gt;
&lt;li&gt;Best for short-term or unpredictable usage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Unpredictable short-term workload”&lt;/em&gt; → &lt;strong&gt;On-Demand&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  4.2 &lt;strong&gt;Spot Instances&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Deep discount for interruptible EC2 capacity&lt;/li&gt;
&lt;li&gt;Best for fault-tolerant, stateless, flexible workloads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Interruptible batch/stateless jobs”&lt;/em&gt; → &lt;strong&gt;Spot&lt;/strong&gt; &lt;/p&gt;

&lt;h4&gt;
  
  
  4.3 &lt;strong&gt;Reserved Instances (RIs)&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Lower cost for long-term predictable EC2/RDS usage&lt;/li&gt;
&lt;li&gt;Capacity reservation options in some cases&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  4.4 &lt;strong&gt;Savings Plans&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Flexible pricing commitment across services or instance families (depending on type)&lt;/li&gt;
&lt;li&gt;Often simpler and flexible than RIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Steady production workload for 1–3 years”&lt;/em&gt; → &lt;strong&gt;Savings Plans or RIs&lt;/strong&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5&lt;/strong&gt; | Distributed Compute Strategies
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Edge Processing
&lt;/h4&gt;

&lt;p&gt;Sometimes cheaper and faster architecture comes from moving compute closer to users or reducing origin load.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CloudFront Functions / Lambda@Edge&lt;/strong&gt; for lightweight logic at the edge&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CloudFront&lt;/strong&gt; caching reduces origin compute cost&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;6&lt;/strong&gt; | Hybrid Compute Options
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Outposts &amp;amp; Snowball Edge
&lt;/h4&gt;

&lt;h4&gt;
  
  
  6.1 &lt;strong&gt;AWS Outposts&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Run AWS infrastructure and services on-prem&lt;/li&gt;
&lt;li&gt;Used when low latency to on-prem systems or data residency and local processing is needed&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  6.2 &lt;strong&gt;AWS Snowball Edge&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Physical device for data transfer and edge compute&lt;/li&gt;
&lt;li&gt;Useful in disconnected, harsh and remote environments or massive offline migration&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;7&lt;/strong&gt; | Instance Types, Families, And Sizes
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Memory Optimized, Compute Optimized, Virtualizationn
&lt;/h4&gt;

&lt;p&gt;The basics:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Workload&lt;/th&gt;
&lt;th&gt;Family&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;General Purpose&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;t&lt;/strong&gt;, &lt;strong&gt;m&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Compute Optimized&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;c&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Memory Optimized&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;r&lt;/strong&gt;, &lt;strong&gt;x&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Storage Optimized&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;i&lt;/strong&gt;, &lt;strong&gt;d&lt;/strong&gt;, some specialized families&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPU / ML / graphics&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;p&lt;/strong&gt;, &lt;strong&gt;g&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  Cost Mindset
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Don’t choose memory-optimized if CPU-bound&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Don’t over-size “&lt;em&gt;just in case&lt;/em&gt;”, rather consider scaling options&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Burstable (&lt;strong&gt;T&lt;/strong&gt; family) can be cost-effective for low and variable baseline usage&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;8&lt;/strong&gt; | Optimization of Compute Utilization
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Containers, Serverless, Microservices
&lt;/h4&gt;

&lt;p&gt;Cost optimization often comes from better utilization:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1.&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;Containers&lt;/strong&gt; pack workloads more efficiently onto shared compute&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2.&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;Fargate&lt;/strong&gt; avoids paying for idle EC2 hosts you manage yourself&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3.&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;Lambda&lt;/strong&gt; is great for spiky or short-lived workloads&lt;br&gt;
&lt;strong&gt;&lt;em&gt;4.&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;Microservices&lt;/strong&gt; can scale only the busy components, not the whole app&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;9&lt;/strong&gt; | Scaling Strategies
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Auto Scaling &amp;amp; Hibernation
&lt;/h4&gt;

&lt;h4&gt;
  
  
  9.1 &lt;strong&gt;Auto Scaling&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Scale out when demand rises, scale in when demand drops&lt;/li&gt;
&lt;li&gt;Avoid paying for idle peak capacity all day&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  9.2 &lt;strong&gt;EC2 hibernation&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Suspend instance and resume later with RAM state preserved&lt;/li&gt;
&lt;li&gt;Useful for dev AND test or intermittent workloads where startup time matters&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Need to pause and resume instance to save cost”&lt;/em&gt; → &lt;strong&gt;hibernation&lt;/strong&gt; (if supported).&lt;/p&gt;




&lt;h2&gt;
  
  
  Skills
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;A&lt;/strong&gt; | Determine An Appropriate Load Balancing Strategy
&lt;/h3&gt;

&lt;h4&gt;
  
  
  ALB vs NLB vs GWLB
&lt;/h4&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;1&lt;/em&gt; &lt;strong&gt;Application Load Balancer (ALB)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Best for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTP/HTTPS&lt;/li&gt;
&lt;li&gt;Path-based and host-based routing&lt;/li&gt;
&lt;li&gt;Layer 7 application routing&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;2&lt;/em&gt; &lt;strong&gt;Network Load Balancer (NLB)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Best for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TCP/UDP/TLS&lt;/li&gt;
&lt;li&gt;Very high performance and static IPs&lt;/li&gt;
&lt;li&gt;Layer 4 routing&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;3&lt;/em&gt; &lt;strong&gt;Gateway Load Balancer&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Best for:&lt;br&gt;
-Deploying and scaling virtual appliances such as firewalls and inspection tools&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Choose the simplest load balancer that meets protocol/routing needs.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  B | Determine Appropriate Scaling Methods And Strategies For Elastic Workloads
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Horizontal vs Vertical, Hibernation
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;1&lt;/em&gt; &lt;strong&gt;Horizontal scaling&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Add more instances/tasks/functions&lt;/li&gt;
&lt;li&gt;Usually better for elasticity and resilience&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;2&lt;/em&gt; &lt;strong&gt;Vertical Scaling&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Make the instance bigger&lt;/li&gt;
&lt;li&gt;Simpler, but less elastic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Production web app&lt;/em&gt; → *&lt;em&gt;horizontal scaling  *&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;3&lt;/em&gt; &lt;strong&gt;Hibernation&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Save money on intermittent EC2 workloads that should resume quickly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Short-lived or intermittent workload&lt;/em&gt; → &lt;strong&gt;maybe hibernation / scheduled scaling&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;C&lt;/strong&gt; | Determine Cost-Effective AWS Compute Services
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Lambda, EC2, Fargate
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;1&lt;/em&gt; &lt;strong&gt;Lambda&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Best when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Event-driven&lt;/li&gt;
&lt;li&gt;Short-running&lt;/li&gt;
&lt;li&gt;Spiky and unpredictable&lt;/li&gt;
&lt;li&gt;Minimal ops desired&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;2&lt;/em&gt; &lt;strong&gt;EC2&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Best when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Long-running steady workloads&lt;/li&gt;
&lt;li&gt;Need OS control&lt;/li&gt;
&lt;li&gt;Can benefit from RIs/Savings Plans/Spot combinations&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;3&lt;/em&gt; &lt;strong&gt;Fargate&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Best when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Containers are needed&lt;/li&gt;
&lt;li&gt;Want to avoid managing EC2 hosts&lt;/li&gt;
&lt;li&gt;Moderate-to-variable workload patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  D | Determine The Required Availability For Different Classes Of Workloads
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Production vs Non-Production
&lt;/h4&gt;

&lt;p&gt;Not every workload needs the same cost level.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;1&lt;/em&gt; &lt;strong&gt;Production&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Usually Multi-AZ, &lt;/li&gt;
&lt;li&gt;Auto Scaling, &lt;/li&gt;
&lt;li&gt;HA
&lt;/li&gt;
&lt;li&gt;More expensive but justified&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;2&lt;/em&gt; &lt;strong&gt;Non-Production / Dev / Test&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Smaller instances&lt;/li&gt;
&lt;li&gt;Single-AZ&lt;/li&gt;
&lt;li&gt;Scheduled shutdown/startup&lt;/li&gt;
&lt;li&gt;Spot-friendly&lt;/li&gt;
&lt;li&gt;Hibernated/stopped when unused&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;E&lt;/strong&gt; | Select The Appropriate Instance Family
&lt;/h3&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1.&lt;/em&gt;&lt;/strong&gt; CPU-heavy app → &lt;strong&gt;C family&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2.&lt;/em&gt;&lt;/strong&gt; Memory-heavy app → &lt;strong&gt;R family&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3.&lt;/em&gt;&lt;/strong&gt; Small and variable baseline → &lt;strong&gt;T family&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;4.&lt;/em&gt;&lt;/strong&gt; General purpose app → &lt;strong&gt;M family&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;F&lt;/strong&gt; | Select The Appropriate Instance Size
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Right-sizing principles:
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Start from actual CPU, memory and network needs&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Use monitoring to reduce overprovisioning&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Scale horizontally where possible instead of using one oversized box&lt;/p&gt;




&lt;h2&gt;
  
  
  Cheat Sheet
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;Compute&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Steady long-term workload&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Savings Plans / Reserved Instances&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Interruptible batch or fault-tolerant workload&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Spot Instances&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spiky event-driven workload&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Lambda&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Containerized app, no server management&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Fargate&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Need OS control or legacy app&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EC2&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Low and variable baseline workload&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;T family&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Compute-heavy workload&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;C family&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Memory-heavy workload&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;R family&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pause or resume EC2 to save cost&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EC2 hibernation&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HTTP/HTTPS routing with app logic&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ALB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TCP/UDP with static IPs/high performance&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;NLB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Virtual network appliances&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Gateway Load Balancer&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Recap Checklist ✅
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; [ ] I can choose the right compute service (&lt;strong&gt;EC2 vs Lambda vs Fargate&lt;/strong&gt;) based on workload pattern&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; [ ] I understand when to use &lt;strong&gt;On-Demand, Spot, Reserved Instances, and Savings Plans&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; [ ] I can right-size EC2 by &lt;strong&gt;family and size&lt;/strong&gt; instead of overprovisioning&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; [ ] I know when &lt;strong&gt;horizontal scaling&lt;/strong&gt; is more cost-effective than vertical scaling&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; [ ] I can differentiate production vs non-production availability requirements&lt;br&gt;&lt;br&gt;
&lt;strong&gt;6.&lt;/strong&gt; [ ] I know when &lt;strong&gt;hibernation&lt;/strong&gt; or scheduled scaling can reduce cost&lt;br&gt;&lt;br&gt;
&lt;strong&gt;7.&lt;/strong&gt; [ ] I can choose the right load balancer (&lt;strong&gt;ALB vs NLB vs GWLB&lt;/strong&gt;) based on protocol and need&lt;br&gt;&lt;br&gt;
&lt;strong&gt;8.&lt;/strong&gt; [ ] I understand how tags and cost tools help track and manage compute spending&lt;/p&gt;




&lt;h2&gt;
  
  
  AWS Whitepapers and Official Documentation
&lt;/h2&gt;

&lt;p&gt;Compute always has so many resources.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost Visibility And Management
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html" rel="noopener noreferrer"&gt;Cost Explorer&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html" rel="noopener noreferrer"&gt;AWS Budgets&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html" rel="noopener noreferrer"&gt;Cost and Usage Report (CUR)&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html" rel="noopener noreferrer"&gt;Cost Allocation Tags&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Compute Pricing Options
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html" rel="noopener noreferrer"&gt;Spot Instances&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-reserved-instances.html" rel="noopener noreferrer"&gt;Reserved Instances&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/savingsplans/latest/userguide/what-is-savings-plans.html" rel="noopener noreferrer"&gt;Savings Plans&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Compute Services
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html" rel="noopener noreferrer"&gt;EC2&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/lambda/latest/dg/welcome.html" rel="noopener noreferrer"&gt;Lambda&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonECS/latest/userguide/what-is-fargate.html" rel="noopener noreferrer"&gt;Fargate&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html" rel="noopener noreferrer"&gt;ECS&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html" rel="noopener noreferrer"&gt;EKS&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Scaling And Optimization
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html" rel="noopener noreferrer"&gt;EC2 Auto Scaling&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html" rel="noopener noreferrer"&gt;EC2 Hibernation&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html" rel="noopener noreferrer"&gt;EC2 instance types&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html" rel="noopener noreferrer"&gt;Burstable instances&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/what-is-compute-optimizer.html" rel="noopener noreferrer"&gt;Compute Optimizer&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  Load Balancing
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html" rel="noopener noreferrer"&gt;Application Load Balancer&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html" rel="noopener noreferrer"&gt;Network Load Balancer&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/introduction.html" rel="noopener noreferrer"&gt;Gateway Load Balancer&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Edge And Hybrid Compute
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-functions.html" rel="noopener noreferrer"&gt;CloudFront Functions&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-at-edge.html" rel="noopener noreferrer"&gt;Lambda@Edge&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/outposts/latest/userguide/what-is-outposts.html" rel="noopener noreferrer"&gt;AWS Outposts&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/snowball/latest/developer-guide/whatissnowball.html" rel="noopener noreferrer"&gt;AWS Snowball Edge And Snow Family&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;🚀&lt;/p&gt;

</description>
      <category>aws</category>
      <category>certification</category>
      <category>cloud</category>
      <category>solutionsarchitect</category>
    </item>
    <item>
      <title>Design Cost-Optimized Storage Solutions</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Sat, 04 Apr 2026 18:25:22 +0000</pubDate>
      <link>https://dev.to/aws-builders/design-cost-optimized-storage-solutions-5f14</link>
      <guid>https://dev.to/aws-builders/design-cost-optimized-storage-solutions-5f14</guid>
      <description>&lt;p&gt;&lt;strong&gt;Exam Guide:&lt;/strong&gt; Solutions Architect - Associate&lt;br&gt;
&lt;strong&gt;⚡ Domain 4: Design Cost-Optimized Architectures&lt;/strong&gt;&lt;br&gt;
📘 &lt;em&gt;Task Statement 4.1&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎯 &lt;strong&gt;&lt;em&gt;Designing Cost-Optimized Storage Solutions&lt;/em&gt;&lt;/strong&gt; is about storing data in the &lt;strong&gt;lowest-cost way that still meets business requirements&lt;/strong&gt;.
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Start with &lt;strong&gt;storage type&lt;/strong&gt; &lt;em&gt;(object, file, block)&lt;/em&gt;, then check &lt;strong&gt;access frequency&lt;/strong&gt;, &lt;strong&gt;performance needs&lt;/strong&gt;, &lt;strong&gt;retention&lt;/strong&gt;, &lt;strong&gt;backup/archive&lt;/strong&gt;, and &lt;strong&gt;transfer method&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You are not just picking “cheap storage.”&lt;br&gt;&lt;br&gt;
You are picking the &lt;strong&gt;cheapest storage that still works&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Knowledge
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1&lt;/strong&gt; | Access Options
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Requester Pays
&lt;/h4&gt;

&lt;p&gt;Sometimes storage costs are affected by &lt;strong&gt;who pays for access&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;S3 Requester Pays&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;With &lt;strong&gt;Requester Pays&lt;/strong&gt;, the requester pays for request and data transfer charges instead of the bucket owner.&lt;/p&gt;

&lt;p&gt;Requester Pays is Useful When:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You share large datasets publicly or with many external consumers&lt;/li&gt;
&lt;li&gt;You want to reduce the owner’s cost for downloads or access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Dataset is shared with external users, and owner wants to reduce access cost”&lt;/em&gt; → &lt;strong&gt;Requester Pays&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2&lt;/strong&gt; | AWS Cost Management Service Features
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Cost Allocation Tags &amp;amp; Multi-Account Billing
&lt;/h4&gt;

&lt;p&gt;Tags and Multi-Account Billing reduce cost directly, but they help &lt;strong&gt;track and control&lt;/strong&gt; cost.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cost Allocation Tags&lt;/strong&gt;: track cost by team/app/environment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS Organizations Consolidated Billing&lt;/strong&gt;: central billing across accounts&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3 | AWS Cost Management Tools
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Cost Explorer, Budgets, Cost and Usage Report
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;AWS Cost Explorer:&lt;/strong&gt; Visualize and analyze spending trends&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;AWS Budgets:&lt;/strong&gt; Set thresholds and alerts for cost or usage&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;“Need alerts when costs exceed target”&lt;/em&gt; → &lt;strong&gt;Budgets&lt;/strong&gt; 
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;AWS Cost and Usage Report &lt;em&gt;(CUR)&lt;/em&gt;:&lt;/strong&gt; Detailed billing data for deep analysis&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;“Need detailed billing data for analysis”&lt;/em&gt; → &lt;strong&gt;CUR&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4&lt;/strong&gt; | AWS Storage Services With Appropriate Use Cases
&lt;/h3&gt;

&lt;h4&gt;
  
  
  FSx, EFS, S3, EBS
&lt;/h4&gt;

&lt;h4&gt;
  
  
  4.1 &lt;strong&gt;Amazon S3&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Best for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cheapest scalable object storage for large amounts of data&lt;/li&gt;
&lt;li&gt;Logs, backups, archives, static files, data lakes&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  4.2 &lt;strong&gt;Amazon EFS&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Best for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Shared file storage for Linux workloads&lt;/li&gt;
&lt;li&gt;More expensive than S3; use when POSIX/shared file access is actually needed&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  4.3 &lt;strong&gt;Amazon EBS&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Best for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Block storage attached to EC2&lt;/li&gt;
&lt;li&gt;Use only when the workload really needs block storage&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  4.4 &lt;strong&gt;Amazon FSx&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Best for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Managed file systems with specific compatibility/performance needs&lt;/li&gt;
&lt;li&gt;Examples:
&lt;em&gt;1&lt;/em&gt; &lt;strong&gt;FSx for Windows File Server&lt;/strong&gt;
&lt;em&gt;2&lt;/em&gt; &lt;strong&gt;FSx for Lustre&lt;/strong&gt;
&lt;em&gt;3&lt;/em&gt; &lt;strong&gt;FSx for NetApp ONTAP&lt;/strong&gt;
&lt;em&gt;4&lt;/em&gt; &lt;strong&gt;FSx for OpenZFS&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Cost Mindset:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Don’t choose EFS or FSx if S3 is enough.&lt;br&gt;&lt;br&gt;
Don’t choose EBS if shared file or object storage fits better.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5&lt;/strong&gt; | Backup Strategies
&lt;/h3&gt;

&lt;p&gt;Cost-optimized backups mean:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Keep backups only as long as needed&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Move old backups to cheaper tiers&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Use centralized backup policies where helpful&lt;/p&gt;

&lt;p&gt;Common options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AWS Backup&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EBS snapshots&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S3 versioning + lifecycle&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Archive backups to Glacier tiers&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;6&lt;/strong&gt; | Block Storage Options
&lt;/h3&gt;

&lt;h4&gt;
  
  
  HDD vs SSD Volume Types
&lt;/h4&gt;

&lt;p&gt;For EBS, cost depends heavily on volume type.&lt;/p&gt;

&lt;h4&gt;
  
  
  4.1 &lt;strong&gt;SSD-backed&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;gp3 / gp2&lt;/strong&gt;: general purpose SSD&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;io1 / io2&lt;/strong&gt;: provisioned IOPS SSD for very high IOPS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Sequential throughput, large datasets, low cost”&lt;/em&gt; → &lt;strong&gt;st1&lt;/strong&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  4.2 &lt;strong&gt;HDD-backed&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;st1&lt;/strong&gt;: throughput-optimized HDD (good for large, sequential workloads)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;sc1&lt;/strong&gt;: cold HDD (lowest cost EBS, infrequent access) &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;“Very infrequent block access, cheapest EBS” → &lt;strong&gt;sc1&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;7&lt;/strong&gt; | Data Lifecycles
&lt;/h3&gt;

&lt;p&gt;Lifecycle planning is one of the biggest cost optimization topics.&lt;/p&gt;

&lt;p&gt;This is where &lt;strong&gt;S3 Lifecycle&lt;/strong&gt; shines.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New files are frequently accessed for 30 days&lt;/li&gt;
&lt;li&gt;Older files are rarely accessed&lt;/li&gt;
&lt;li&gt;After 1 year, they should be archived or deleted&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;8&lt;/strong&gt; | Hybrid Storage Options
&lt;/h3&gt;

&lt;h4&gt;
  
  
  DataSync, Transfer Family, Storage Gateway
&lt;/h4&gt;

&lt;h4&gt;
  
  
  8.1 &lt;strong&gt;DataSync&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Recurring large-scale data transfer from on-prem to AWS&lt;/li&gt;
&lt;li&gt;Faster and easier than building custom copy jobs&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  8.2 &lt;strong&gt;Transfer Family&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Managed SFTP/FTPS/FTP into S3 or EFS&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  8.3 &lt;strong&gt;Storage Gateway&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hybrid access where on-prem apps still need file or block or tape interfaces backed by AWS&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  9 | Storage Access Patterns
&lt;/h3&gt;

&lt;p&gt;Choose storage or tier based on how often data is accessed.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Access Pattern&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Typical Storage&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frequently accessed&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;S3 Standard / EBS SSD / EFS Standard&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Infrequently accessed&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;S3 Standard-IA / One Zone-IA / EFS IA&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Archive / long-term retention&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;S3 Glacier Instant Retrieval / Flexible Retrieval / Deep Archive&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;10&lt;/strong&gt; | Storage Tiering
&lt;/h3&gt;

&lt;p&gt;This is mostly an S3 topic, but also appears in EFS.&lt;/p&gt;

&lt;h4&gt;
  
  
  10.1 &lt;strong&gt;S3 Storage classes&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;S3 Standard&lt;/strong&gt;: hot data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;S3 Standard-IA&lt;/strong&gt;: infrequent access, multi-AZ&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;S3 One Zone-IA&lt;/strong&gt;: infrequent access, single AZ, cheaper&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;S3 Intelligent-Tiering&lt;/strong&gt;: unknown or changing access patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;S3 Glacier Instant Retrieval&lt;/strong&gt;: archive but still quick retrieval&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S3 Glacier Flexible Retrieval&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;S3 Glacier Deep Archive&lt;/strong&gt;: lowest cost, slowest retrieval&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  10.2 &lt;strong&gt;EFS Tiering&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;EFS lifecycle management can move files to &lt;strong&gt;EFS Infrequent Access&lt;/strong&gt; automatically.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;11&lt;/strong&gt; | Storage Types With Associated Characteristics
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Object, File, Block
&lt;/h4&gt;

&lt;h4&gt;
  
  
  11.1 &lt;strong&gt;Object&lt;/strong&gt; = &lt;em&gt;S3&lt;/em&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Cheapest at scale&lt;/li&gt;
&lt;li&gt;Best for unstructured data, backups, logs, media, static files&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  11.2 &lt;strong&gt;File&lt;/strong&gt; = &lt;em&gt;EFS / FSx&lt;/em&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Use when apps need mounted shared file systems&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  11.3 &lt;strong&gt;Block&lt;/strong&gt; = &lt;em&gt;EBS&lt;/em&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Use when apps need low-latency disk attached to EC2&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Skills
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;A&lt;/strong&gt; | Design Appropriate Storage Strategies
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Batch Uploads vs Individual Uploads
&lt;/h4&gt;

&lt;p&gt;Sometimes the cheapest design is not just the storage type, but &lt;strong&gt;how data is uploaded&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Examples:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;Batch uploads&lt;/strong&gt; can reduce request overhead&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;Multipart upload&lt;/strong&gt; is better for very large files&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;Aggregating small files&lt;/strong&gt; can improve efficiency in analytics or data lake designs&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;B&lt;/strong&gt; | Determine The Correct Storage Size For A Workload
&lt;/h3&gt;

&lt;p&gt;Don’t massively overprovision:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Right-size EBS volumes&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Estimate backup retention growth&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Plan capacity based on actual growth trends, not vague “just in case”&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;C&lt;/strong&gt; | Determine The Lowest-Cost Method Of Transferring Data To AWS Storage
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Online recurring transfers&lt;/em&gt; → &lt;strong&gt;DataSync&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Managed file transfer protocol&lt;/em&gt; → &lt;strong&gt;Transfer Family&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Hybrid file/block/tape integration&lt;/em&gt; → &lt;strong&gt;Storage Gateway&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Very large offline migration&lt;/em&gt; → &lt;strong&gt;Snow Family&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;D&lt;/strong&gt; | Determine When Storage Auto Scaling Is Required
&lt;/h3&gt;

&lt;p&gt;Auto scaling or storage elasticity matters when growth is uncertain.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;S3&lt;/strong&gt; scales automatically&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EFS&lt;/strong&gt; scales automatically&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EBS&lt;/strong&gt; requires sizing decisions (though it can be modified)&lt;/li&gt;
&lt;li&gt;Some file systems or databases need explicit storage autoscaling settings&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;E&lt;/strong&gt; | Manage S3 Object Lifecycles
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Move old data to cheaper storage classes&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Expire temporary or obsolete data&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Transition logs or backups to archive classes automatically&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;F&lt;/strong&gt; | Select Appropriate Backup And/Or Archival Solution
&lt;/h3&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Operational restore&lt;/em&gt; → &lt;strong&gt;snapshots / AWS Backup&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Compliance archive&lt;/em&gt; → &lt;strong&gt;Glacier tiers / Object Lock if required&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Long-term, low-cost retention&lt;/em&gt; → &lt;strong&gt;Deep Archive&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;G&lt;/strong&gt; | Select The Appropriate Service For Data Migration To Storage Services
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; DataSync for recurring transfer&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Transfer Family for SFTP needs&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Storage Gateway for hybrid storage interfaces&lt;br&gt;
&lt;strong&gt;&lt;em&gt;4&lt;/em&gt;&lt;/strong&gt; Snowball for large offline migration&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;H&lt;/strong&gt; | Select The Appropriate Storage Tier
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Unknown access pattern&lt;/em&gt; → &lt;strong&gt;S3 Intelligent-Tiering&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Rare access but quick retrieval&lt;/em&gt; → &lt;strong&gt;S3 Standard-IA&lt;/strong&gt; or &lt;strong&gt;Glacier Instant Retrieval&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Very rare long-term archive&lt;/em&gt; → &lt;strong&gt;Glacier Deep Archive&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;I&lt;/strong&gt; | Select The Correct Data Lifecycle
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Hot for 30 days&lt;/em&gt; → &lt;strong&gt;Standard&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Warm for 60 days&lt;/em&gt; → &lt;strong&gt;Standard-IA&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Archive after 90 days&lt;/em&gt; → &lt;strong&gt;Glacier&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Delete after 7 years&lt;/em&gt; → &lt;strong&gt;lifecycle expiration&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;J&lt;/strong&gt; | Select The Most Cost-Effective Storage Service For A Workload
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;S3&lt;/strong&gt; if object storage works&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;EFS/FSx&lt;/strong&gt; only if file semantics are needed&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;EBS&lt;/strong&gt; only when block storage is required&lt;/li&gt;
&lt;li&gt;Archive to Glacier tiers when retrieval is rare&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Cheat Sheet
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;Choice&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Massive unstructured data, lowest scalable cost&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;S3&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unknown or changing access patterns&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;S3 Intelligent-Tiering&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rare access, still needs fast retrieval&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;S3 Standard-IA&lt;/strong&gt; or &lt;strong&gt;Glacier Instant Retrieval&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Long-term archive, lowest cost&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Glacier Deep Archive&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shared Linux file system&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EFS&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Windows file shares&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;FSx for Windows File Server&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Low-cost block storage for infrequent access&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EBS sc1&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sequential throughput-heavy block workload&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EBS st1&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recurring on-prem → AWS data transfer&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;DataSync&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Managed SFTP into AWS storage&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Transfer Family&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hybrid storage interface for on-prem apps&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Storage Gateway&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;External users should pay for S3 downloads&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;S3 Requester Pays&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Recap Checklist ✅
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; [ ] I can choose &lt;strong&gt;object vs file vs block&lt;/strong&gt; storage based on workload needs&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; [ ] I can match storage &lt;strong&gt;tiers&lt;/strong&gt; to access frequency (hot, warm, cold, archive)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; [ ] I can use &lt;strong&gt;S3 lifecycle policies&lt;/strong&gt; to reduce cost automatically over time&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; [ ] I know when to use &lt;strong&gt;S3 Intelligent-Tiering&lt;/strong&gt; for unknown access patterns&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; [ ] I can choose the right &lt;strong&gt;EBS volume type&lt;/strong&gt; for cost or performance needs&lt;br&gt;&lt;br&gt;
&lt;strong&gt;6.&lt;/strong&gt; [ ] I know which hybrid transfer/storage service fits the situation (DataSync, Transfer Family, Storage Gateway)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;7.&lt;/strong&gt; [ ] I can choose cost-effective backup/archive solutions (AWS Backup, snapshots, Glacier tiers)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;8.&lt;/strong&gt; [ ] I understand cost tracking tools (Cost Explorer, Budgets, CUR, tags) at a basic level &lt;/p&gt;




&lt;h2&gt;
  
  
  AWS Whitepapers and Official Documentation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Core Storage Services
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html" rel="noopener noreferrer"&gt;Amazon S3&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html" rel="noopener noreferrer"&gt;Amazon EFS&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html" rel="noopener noreferrer"&gt;Amazon EBS&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html" rel="noopener noreferrer"&gt;Amazon FSx&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  S3 Lifecycle And Storage Classes
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html" rel="noopener noreferrer"&gt;S3 Lifecycle&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html" rel="noopener noreferrer"&gt;S3 storage classes&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html" rel="noopener noreferrer"&gt;S3 Requester Pays&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html" rel="noopener noreferrer"&gt;Multipart upload&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Backup And Archive
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html" rel="noopener noreferrer"&gt;AWS Backup&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html" rel="noopener noreferrer"&gt;EBS snapshots&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  EBS Pricing Or Performance Direction
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html" rel="noopener noreferrer"&gt;EBS volume types&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Hybrid transfer and migration
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html" rel="noopener noreferrer"&gt;AWS DataSync&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html" rel="noopener noreferrer"&gt;AWS Transfer Family&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/storagegateway/latest/userguide/WhatIsStorageGateway.html" rel="noopener noreferrer"&gt;AWS Storage Gateway&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/snowball/latest/developer-guide/whatissnowball.html" rel="noopener noreferrer"&gt;AWS Snow Family&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost Visibility And Governance
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html" rel="noopener noreferrer"&gt;Cost Explorer&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html" rel="noopener noreferrer"&gt;AWS Budgets&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html" rel="noopener noreferrer"&gt;Cost and Usage Report (CUR)&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html" rel="noopener noreferrer"&gt;Cost allocation tags&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🚀&lt;/p&gt;

</description>
      <category>aws</category>
      <category>certification</category>
      <category>cloud</category>
      <category>solutionsarchitect</category>
    </item>
    <item>
      <title>Determine High-Performing Data Ingestion And Transformation Solutions</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Wed, 01 Apr 2026 18:03:46 +0000</pubDate>
      <link>https://dev.to/aws-builders/determine-high-performing-data-ingestion-and-transformation-solutions-1f57</link>
      <guid>https://dev.to/aws-builders/determine-high-performing-data-ingestion-and-transformation-solutions-1f57</guid>
      <description>&lt;p&gt;&lt;strong&gt;Exam Guide:&lt;/strong&gt; Solutions Architect - Associate&lt;br&gt;
&lt;strong&gt;⚡ Domain 3: Design High-Performing Architectures&lt;/strong&gt;&lt;br&gt;
📘 &lt;em&gt;Task Statement 3.5&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎯 &lt;strong&gt;&lt;em&gt;Determining High-Performing Data Ingestion And Transformation Solutions&lt;/em&gt;&lt;/strong&gt; is about getting data into AWS, transforming it into useful formats, and enabling analytics &lt;strong&gt;at the required speed, scale, and security level&lt;/strong&gt;.
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;First decide &lt;strong&gt;batch vs streaming&lt;/strong&gt; ingestion, then pick the right &lt;strong&gt;transfer/ingestion service&lt;/strong&gt;, then pick the &lt;strong&gt;transformation engine&lt;/strong&gt;, then enable &lt;strong&gt;query + visualization&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Knowledge
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1&lt;/strong&gt; | Data Analytics And Visualization Services
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Athena, Lake Formation, QuickSight
&lt;/h4&gt;

&lt;h4&gt;
  
  
  1.1 &lt;strong&gt;Amazon Athena&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Serverless SQL queries directly on S3 data &lt;em&gt;(commonly Parquet/ORC for performance).&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Great for ad-hoc querying and quick analytics&lt;/li&gt;
&lt;li&gt;Works best with a catalog like Glue Data Catalog&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  1.2 &lt;strong&gt;AWS Lake Formation&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Build and govern a data lake on S3:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Central permissions model &lt;em&gt;(tables, columns)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Helps manage who can access which datasets&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  1.3 &lt;strong&gt;Amazon QuickSight&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Serverless BI dashboards and visualization:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connects to Athena, Redshift, RDS, and other sources&lt;/li&gt;
&lt;li&gt;Used for “business dashboards” exam clues&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2&lt;/strong&gt; | Data Ingestion Patterns
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Frequency
&lt;/h4&gt;

&lt;p&gt;Common patterns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Near real-time:&lt;/strong&gt; events every second &lt;em&gt;(clickstream, IoT telemetry)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Micro-batch:&lt;/strong&gt; every minute / every 5 minutes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch:&lt;/strong&gt; hourly/daily/weekly loads&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-time migration:&lt;/strong&gt; initial bulk transfer + then incremental updates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Ingestion frequency often decides &lt;strong&gt;Kinesis&lt;/strong&gt; (streaming) vs &lt;strong&gt;DataSync/S3 batch&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3&lt;/strong&gt; | Data Transfer Services
&lt;/h3&gt;

&lt;h4&gt;
  
  
  DataSync &amp;amp; Storage Gateway
&lt;/h4&gt;

&lt;p&gt;Used when data originates &lt;strong&gt;outside AWS&lt;/strong&gt; or you need managed movement.&lt;/p&gt;

&lt;h4&gt;
  
  
  3.1 &lt;strong&gt;AWS DataSync&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Managed, accelerated online transfer &lt;em&gt;(on-prem ↔ AWS)&lt;/em&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Moves large datasets efficiently&lt;/li&gt;
&lt;li&gt;Good for recurring transfers and migrations&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  3.2 &lt;strong&gt;AWS Storage Gateway&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Hybrid storage integration &lt;em&gt;(on-prem access with AWS backing)&lt;/em&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File Gateway &lt;em&gt;(NFS/SMB)&lt;/em&gt; to S3&lt;/li&gt;
&lt;li&gt;Volume Gateway &lt;em&gt;(block storage backed by AWS)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Tape Gateway &lt;em&gt;(backup/archive integration)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4&lt;/strong&gt; | Data Transformation Services
&lt;/h3&gt;

&lt;h4&gt;
  
  
  AWS Glue
&lt;/h4&gt;

&lt;p&gt;Serverless data integration &lt;em&gt;(ETL)&lt;/em&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Crawlers discover schema&lt;/li&gt;
&lt;li&gt;Jobs transform data &lt;em&gt;(Spark-based)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Common for converting formats &lt;em&gt;(CSV/JSON → Parquet)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Convert CSV to Parquet”&lt;/em&gt; → &lt;strong&gt;Glue.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5&lt;/strong&gt; | Secure Access To Ingestion Access Points
&lt;/h3&gt;

&lt;p&gt;Typical protection mechanisms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IAM roles &lt;em&gt;(least privilege)&lt;/em&gt; for producers/consumers&lt;/li&gt;
&lt;li&gt;S3 bucket policies + Block Public Access + encryption&lt;/li&gt;
&lt;li&gt;VPC endpoints / PrivateLink for private service access&lt;/li&gt;
&lt;li&gt;TLS for ingestion endpoints&lt;/li&gt;
&lt;li&gt;KMS keys for encryption at rest&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Data must not traverse the public internet”&lt;/em&gt; → &lt;strong&gt;VPC endpoints/PrivateLink + private subnets.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;6&lt;/strong&gt; | Sizes And Speeds To Meet Business Requirements
&lt;/h3&gt;

&lt;p&gt;Match service to throughput:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Bulk files (TB-scale)&lt;/em&gt; → &lt;strong&gt;DataSync / Snowball&lt;/strong&gt; (when offline) / &lt;strong&gt;S3 multipart upload&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Continuous events&lt;/em&gt; → &lt;strong&gt;Kinesis&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Query performance on S3&lt;/em&gt; → store as Parquet, partition by date/key, use &lt;strong&gt;Athena&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;7&lt;/strong&gt; | Streaming Data services
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Amazon Kinesis
&lt;/h4&gt;

&lt;h4&gt;
  
  
  7.1 &lt;strong&gt;Amazon Kinesis Data Streams&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;For real-time streaming ingestion:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Producers write records to shards&lt;/li&gt;
&lt;li&gt;Consumers process in parallel&lt;/li&gt;
&lt;li&gt;Scales by shard count&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Need real-time stream with custom consumers”&lt;/em&gt; → &lt;strong&gt;Data Streams&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  7.2 &lt;strong&gt;Kinesis Data Firehose&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;For “streaming to storage/analytics destinations” with minimal ops:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Loads to S3, Redshift, OpenSearch, etc.&lt;/li&gt;
&lt;li&gt;Can transform via Lambda in-flight &lt;em&gt;(basic transforms)&lt;/em&gt;
_
“Just deliver streaming data into S3/Redshift with minimal management”_ → *&lt;em&gt;Firehose
*&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Skills
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;A&lt;/strong&gt; | Build And Secure Data Lakes
&lt;/h3&gt;

&lt;p&gt;Baseline data lake pattern:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;S3&lt;/strong&gt; as storage (raw/clean/curated zones)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Glue Data Catalog&lt;/strong&gt; for schema&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lake Formation&lt;/strong&gt; for governance (optional but commonly tested)&lt;/li&gt;
&lt;li&gt;Encryption with KMS + tight bucket policies&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;B&lt;/strong&gt; | Design Data Streaming Architectures
&lt;/h3&gt;

&lt;p&gt;Common streaming pipeline:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Producers → &lt;strong&gt;Kinesis Data Streams&lt;/strong&gt; → consumers &lt;em&gt;(Lambda/Kinesis Client)&lt;/em&gt; → S3/DB/analytics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or simpler:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Producers → &lt;strong&gt;Firehose&lt;/strong&gt; → S3 (often landing as Parquet with later processing)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;C&lt;/strong&gt; | Design Data Transfer Solutions
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Recurring online transfer from on-prem&lt;/em&gt; → &lt;strong&gt;DataSync&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Hybrid access to S3 from on-prem apps&lt;/em&gt; → &lt;strong&gt;Storage Gateway&lt;/strong&gt; (File Gateway)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;D&lt;/strong&gt; | Implement Visualization Strategies
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Query data with Athena&lt;/li&gt;
&lt;li&gt;Visualize in QuickSight&lt;/li&gt;
&lt;li&gt;Secure access with IAM and Lake Formation permissions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;E&lt;/strong&gt; | Select Compute Options For Data Processing
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Amazon EMR
&lt;/h4&gt;

&lt;p&gt;Used for big data processing with Spark/Hadoop:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Highly scalable distributed processing&lt;/li&gt;
&lt;li&gt;Good when you need full control of the data processing framework&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Spark job / Hadoop”&lt;/em&gt; → &lt;strong&gt;EMR.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;F&lt;/strong&gt; | Select Appropriate Configurations For Ingestion
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Streaming capacity:&lt;/strong&gt; shard count (Kinesis Data Streams)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch throughput:&lt;/strong&gt; concurrency, scheduling, compression, multipart uploads&lt;/li&gt;
&lt;li&gt;Choose Parquet + partitioning for query performance&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;G&lt;/strong&gt; | Transform Data Between Formats
&lt;/h3&gt;

&lt;h4&gt;
  
  
  CSV → Parquet
&lt;/h4&gt;

&lt;p&gt;Common approach:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Land raw data in S3&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Transform with Glue (ETL) into Parquet in a curated zone&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Query via Athena, visualize via QuickSight&lt;/p&gt;




&lt;h2&gt;
  
  
  Cheat Sheet
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;Choice&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ad-hoc SQL on files in S3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Athena&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business dashboards/BI&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;QuickSight&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Govern a data lake with fine-grained permissions&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Lake Formation&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Move lots of data from on-prem to AWS online&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;DataSync&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hybrid file access (NFS/SMB) backed by S3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Storage Gateway (File Gateway)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Transform/ETL and convert CSV → Parquet&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS Glue&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Real-time streaming ingestion with custom consumers&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Kinesis Data Streams&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stream into S3/Redshift with minimal ops&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Kinesis Data Firehose&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spark/Hadoop processing at scale&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon EMR&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Recap Checklist ✅
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; [ ] Choose &lt;strong&gt;batch vs streaming&lt;/strong&gt; ingestion based on frequency and latency needs&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; [ ] Pick the right &lt;strong&gt;transfer service&lt;/strong&gt; &lt;em&gt;(DataSync vs Storage Gateway)&lt;/em&gt; for hybrid needs&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; [ ] Design a secure &lt;strong&gt;S3-based data lake&lt;/strong&gt; &lt;em&gt;(catalog + governance + encryption)&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; [ ] Choose the right &lt;strong&gt;streaming service&lt;/strong&gt; &lt;em&gt;(Kinesis Streams vs Firehose)&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; [ ] Transform data using &lt;strong&gt;Glue&lt;/strong&gt; &lt;em&gt;(including format conversion like CSV → Parquet)&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;6.&lt;/strong&gt; [ ] Select compute for processing &lt;em&gt;(EMR when Spark/Hadoop is required)&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;7.&lt;/strong&gt; [ ] Enable analytics &lt;em&gt;(Athena)&lt;/em&gt; and dashboards &lt;em&gt;(QuickSight)&lt;/em&gt; securely  &lt;/p&gt;




&lt;h2&gt;
  
  
  AWS Whitepapers and Official Documentation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Analytics And Visualization
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/athena/latest/ug/what-is.html" rel="noopener noreferrer"&gt;Athena&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/lake-formation/latest/dg/what-is-lake-formation.html" rel="noopener noreferrer"&gt;Lake Formation&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/quicksight/latest/user/welcome.html" rel="noopener noreferrer"&gt;QuickSight&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Ingestion And Transfer
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html" rel="noopener noreferrer"&gt;DataSync&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/storagegateway/latest/userguide/WhatIsStorageGateway.html" rel="noopener noreferrer"&gt;Storage Gateway&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html" rel="noopener noreferrer"&gt;Transfer Family&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  Streaming
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/streams/latest/dev/introduction.html" rel="noopener noreferrer"&gt;Kinesis Data Streams&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html" rel="noopener noreferrer"&gt;Kinesis Data Firehose&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Transformation And Catalog
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html" rel="noopener noreferrer"&gt;AWS Glue&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/glue/latest/dg/populate-data-catalog.html" rel="noopener noreferrer"&gt;Glue Data Catalog&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  Storage
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html" rel="noopener noreferrer"&gt;Amazon S3&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  Processing
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html" rel="noopener noreferrer"&gt;Amazon EMR&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;🚀 &lt;/p&gt;

</description>
      <category>aws</category>
      <category>certification</category>
      <category>cloud</category>
      <category>solutionsarchitect</category>
    </item>
    <item>
      <title>Determine High-Performing And / Or Scalable Network Architectures</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Mon, 30 Mar 2026 18:46:33 +0000</pubDate>
      <link>https://dev.to/aws-builders/determine-high-performing-and-or-scalable-network-architectures-2pe8</link>
      <guid>https://dev.to/aws-builders/determine-high-performing-and-or-scalable-network-architectures-2pe8</guid>
      <description>&lt;p&gt;&lt;strong&gt;Exam Guide:&lt;/strong&gt; Solutions Architect - Associate&lt;br&gt;
&lt;strong&gt;⚡ Domain 3: Design High-Performing Architectures&lt;/strong&gt;&lt;br&gt;
📘 &lt;em&gt;Task Statement 3.4&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎯 &lt;strong&gt;&lt;em&gt;Determining High-Performing And / Or Scalable Network Architectures&lt;/em&gt;&lt;/strong&gt; is about designing networks that:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1&lt;/strong&gt; Perform well: &lt;em&gt;low latency, high throughput, predictable routing&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;2&lt;/strong&gt; Scale cleanly: &lt;em&gt;more users, more subnets, more Regions&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;3&lt;/strong&gt; Support common patterns: &lt;em&gt;multi-tier, hybrid, global&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;4&lt;/strong&gt; Use the right “front door”: &lt;em&gt;CloudFront/ALB/API Gateway and the right connectivity (VPN/DX/PrivateLink)&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Start with &lt;strong&gt;where users are&lt;/strong&gt; (global vs regional), then pick the &lt;strong&gt;ingress pattern&lt;/strong&gt;, then design the &lt;strong&gt;VPC topology&lt;/strong&gt;, then pick &lt;strong&gt;connectivity&lt;/strong&gt; and &lt;strong&gt;load balancing&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Knowledge
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1&lt;/strong&gt; | Edge Networking Services
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;CloudFront &amp;amp; Global Accelerator&lt;/strong&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1.1&lt;/strong&gt; Amazon CloudFront (CDN)
&lt;/h4&gt;

&lt;p&gt;Use CloudFront when you need:&lt;br&gt;
&lt;em&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/em&gt; Lower latency for global users: &lt;em&gt;cache close to them&lt;/em&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/em&gt; Reduced load on origins: &lt;em&gt;cache + compression&lt;/em&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/em&gt; Better security integrations: &lt;em&gt;WAF, Shield, TLS&lt;/em&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/em&gt; Static content acceleration: &lt;em&gt;and some dynamic acceleration patterns&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Global users downloading static content”&lt;/em&gt; → &lt;strong&gt;CloudFront.&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1.2&lt;/strong&gt; AWS Global Accelerator
&lt;/h4&gt;

&lt;p&gt;Use Global Accelerator when you need:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Faster, more reliable global routing for &lt;strong&gt;TCP/UDP&lt;/strong&gt; or non-cacheable traffic&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Improved latency by using the AWS global network (Anycast IPs)&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Health-based routing to regional endpoints&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Improve global performance for a latency-sensitive app that can’t be cached&lt;/em&gt;” → &lt;strong&gt;Global Accelerator.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2&lt;/strong&gt; | How To Design Network Architecture (
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Subnet Tiers, Routing, IP Addressing
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2.1&lt;/strong&gt; Subnet Tiers
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;Public subnet:&lt;/strong&gt; &lt;em&gt;route to an Internet Gateway (IGW). Often hosts ALB, NAT GW.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;Private subnet:&lt;/strong&gt; &lt;em&gt;no IGW route because the app tier typically lives here.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;Isolated subnet:&lt;/strong&gt; &lt;em&gt;no IGW route and often no NAT route because the DB tier often lives here.&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2.2&lt;/strong&gt; Routing
&lt;/h4&gt;

&lt;p&gt;Routing decides where traffic can go:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; IGW for public inbound/outbound&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; NAT GW for private outbound&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; VPC endpoints for private access to AWS services&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2.3&lt;/strong&gt; IP Addressing
&lt;/h4&gt;

&lt;p&gt;You should plan CIDR ranges so you can grow:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Enough IPs per subnet for scaling targets: &lt;em&gt;ECS tasks, EKS pods, EC2&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Room for future subnets: &lt;em&gt;new tiers, new AZs, new services&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Avoid overlapping CIDRs if you’ll connect VPCs/on-prem later&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3&lt;/strong&gt; | Load Balancing Concepts
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3.1&lt;/strong&gt; Application Load Balancer (ALB)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; HTTP/HTTPS workloads&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Path/host-based routing: &lt;em&gt;microservices routing&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Integrations: &lt;em&gt;WAF, authentication, target groups&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“HTTP routing based on path &lt;code&gt;/api&lt;/code&gt; vs &lt;code&gt;/images&lt;/code&gt;”&lt;/em&gt; → &lt;strong&gt;ALB&lt;/strong&gt;  &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3.2&lt;/strong&gt; Network Load Balancer (NLB)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Very high performance / low latency L4 traffic like TCP/UDP/TLS.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Static IP support which is often helpful for allowlists&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Non-HTTP protocols&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“TCP, extreme performance, static IP, or non-HTTP”&lt;/em&gt; → *&lt;em&gt;NLB *&lt;/em&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4&lt;/strong&gt; | Network Connection Options
&lt;/h3&gt;

&lt;h4&gt;
  
  
  VPN, Direct Connect, PrivateLink
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;4.1&lt;/strong&gt; AWS Site-to-Site VPN
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Encrypted tunnel over the internet&lt;/li&gt;
&lt;li&gt;Fast to deploy, good baseline hybrid connectivity&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;4.2&lt;/strong&gt; AWS Direct Connect
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Dedicated private connection, more consistent latency/throughput&lt;/li&gt;
&lt;li&gt;Often used for large data transfer or steady hybrid traffic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Consistent throughput / private circuit”&lt;/em&gt; → &lt;strong&gt;Direct Connect.&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;4.3&lt;/strong&gt; AWS PrivateLink
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Private connectivity to services across VPCs/accounts without exposing to the public internet&lt;/li&gt;
&lt;li&gt;Often used for “consumer VPC connects to provider service privately”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Expose an internal service to other VPCs privately”&lt;/em&gt; → &lt;strong&gt;PrivateLink.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Skills
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;A&lt;/strong&gt; | Create A Network Topology For Various Architectures
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Global, Hybrid, Multi-tier
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Multi-Tier Regional Topology&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;CloudFront → ALB in public subnets → app in private subnets → DB in isolated subnets&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Hybrid Topology&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;On-prem ↔ (VPN or Direct Connect) ↔ VPC private subnets&lt;/li&gt;
&lt;li&gt;Use routing and security to restrict what on-prem can reach&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Global Topology&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;CloudFront &lt;em&gt;(cacheable)&lt;/em&gt; or Global Accelerator &lt;em&gt;(non-cacheable/latency-sensitive)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Multi-region endpoints with health-based routing &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;B&lt;/strong&gt; | Determine Network Configurations That Scale For Future Needs
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Plan CIDR blocks with growth in mind&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Use multiple subnets across AZs&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Avoid hard dependencies on single IPs &lt;em&gt;(use load balancers/DNS)&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;4&lt;/em&gt;&lt;/strong&gt; Consider VPC endpoint usage to reduce NAT bottlenecks and cost&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;C&lt;/strong&gt; | Determine Appropriate Placement Of Resources
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Common Placement Rules:
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Public-facing entry points &lt;em&gt;(ALB, CloudFront origin)&lt;/em&gt; are public&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; App tiers and databases are private/isolated&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Use separate subnets per AZ for HA and scaling&lt;br&gt;
&lt;strong&gt;&lt;em&gt;4&lt;/em&gt;&lt;/strong&gt; Put NAT Gateways in public subnets (often one per AZ for resilience)&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;D&lt;/strong&gt; | Select The Appropriate Load Balancing Strategy
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Choose Based On Protocol And Routing Needs:
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;ALB&lt;/strong&gt; for HTTP/HTTPS and advanced routing&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;NLB&lt;/strong&gt; for TCP/UDP/TLS and extreme performance&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;Gateway Load Balancer&lt;/strong&gt; for virtual appliances&lt;/p&gt;




&lt;h2&gt;
  
  
  Cheat Sheet
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Requirement&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Choice&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Global users, cacheable content&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CloudFront&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Global users, non-cacheable TCP/UDP or low-latency routing&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Global Accelerator&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HTTP/HTTPS, path-based routing&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ALB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TCP/UDP, static IPs, extreme performance&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;NLB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;On-prem to AWS quickly (encrypted)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Site-to-Site VPN&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;On-prem to AWS with consistent bandwidth/latency&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Direct Connect&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Private service exposure across VPCs/accounts&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;PrivateLink&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Need private access to AWS services (S3, etc.)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;VPC endpoints&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Recap Checklist ✅
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; [ ] I can choose &lt;strong&gt;CloudFront vs Global Accelerator&lt;/strong&gt; based on caching vs routing needs&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; [ ] VPCs are designed with &lt;strong&gt;public/private/isolated subnet tiers&lt;/strong&gt; where appropriate&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; [ ] Route tables, NAT, and endpoints are used intentionally (not accidentally)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; [ ] IP addressing (CIDR) is planned for scaling and future connectivity (no overlaps)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; [ ] Resource placement matches requirements (public entry, private app/data)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;6.&lt;/strong&gt; [ ] Load balancer choice matches protocol and routing needs (ALB vs NLB)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;7.&lt;/strong&gt; [ ] Hybrid connectivity uses the right option (VPN vs Direct Connect vs PrivateLink)  &lt;/p&gt;




&lt;h2&gt;
  
  
  AWS Whitepapers And Official Documentation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Edge Networking
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html" rel="noopener noreferrer"&gt;CloudFront&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/global-accelerator/latest/dg/what-is-global-accelerator.html" rel="noopener noreferrer"&gt;Global Accelerator&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  VPC Design Fundamentals
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html" rel="noopener noreferrer"&gt;Amazon VPC&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html" rel="noopener noreferrer"&gt;Route tables&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html" rel="noopener noreferrer"&gt;VPC CIDR blocks&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html" rel="noopener noreferrer"&gt;NAT gateway&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints.html" rel="noopener noreferrer"&gt;VPC endpoints&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;6.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html" rel="noopener noreferrer"&gt;AWS PrivateLink&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Load Balancing
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html" rel="noopener noreferrer"&gt;Application Load Balancer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html" rel="noopener noreferrer"&gt;Network Load Balancer&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Hybrid Connectivity
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html" rel="noopener noreferrer"&gt;Site-to-Site VPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html" rel="noopener noreferrer"&gt;Direct Connect&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;🚀&lt;/p&gt;

</description>
      <category>aws</category>
      <category>certification</category>
      <category>cloud</category>
      <category>solutionsarchitect</category>
    </item>
    <item>
      <title>Determine High-Performing Database Solutions</title>
      <dc:creator>Ntombizakhona Mabaso</dc:creator>
      <pubDate>Sun, 08 Feb 2026 05:42:07 +0000</pubDate>
      <link>https://dev.to/aws-builders/determine-high-performing-database-solutions-1iaf</link>
      <guid>https://dev.to/aws-builders/determine-high-performing-database-solutions-1iaf</guid>
      <description>&lt;p&gt;&lt;strong&gt;Exam Guide:&lt;/strong&gt; Solutions Architect - Associate&lt;br&gt;
&lt;strong&gt;⚡ Domain 3: Design High-Performing Architectures&lt;/strong&gt;&lt;br&gt;
📘 &lt;em&gt;Task Statement 3.3&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎯 &lt;strong&gt;&lt;em&gt;Determining High-Performing Database Solutions&lt;/em&gt;&lt;/strong&gt; is about picking and designing databases that meet:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Performance goals &lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Scale requirements &lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Availability expectations &lt;br&gt;
&lt;strong&gt;&lt;em&gt;4&lt;/em&gt;&lt;/strong&gt; Operational constraints &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Start with the &lt;strong&gt;data model + access pattern:&lt;/strong&gt; &lt;em&gt;relational vs key-value vs document&lt;/em&gt;, then choose the service, then add &lt;strong&gt;performance boosters:&lt;/strong&gt; &lt;em&gt;read replicas, caching, connection pooling.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Knowledge
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1&lt;/strong&gt; | AWS Global Infrastructure
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Availability Zones And Regions&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multi-AZ&lt;/strong&gt; deployments improve availability and can improve performance under failure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-region&lt;/strong&gt; designs support disaster recovery and global performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Must survive AZ outage”&lt;/em&gt; → &lt;strong&gt;Multi-AZ&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“Global users with low latency”&lt;/em&gt; → &lt;strong&gt;global DB patterns&lt;/strong&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2&lt;/strong&gt; | Caching Strategies And Services
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Amazon ElastiCache&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Caching reduces database load and improves latency.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ElastiCache for Redis&lt;/strong&gt;: caching + sessions + pub/sub + sorted sets
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ElastiCache for Memcached&lt;/strong&gt;: simple, distributed cache, no persistence
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Reduce read load / hot keys / repeated queries”&lt;/em&gt; → &lt;strong&gt;ElastiCache.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3&lt;/strong&gt; | Data Access Patterns
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Read-Intensive vs Write-Intensive&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;This is one of the most important drivers of database design:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;1&lt;/em&gt; &lt;strong&gt;Read-heavy&lt;/strong&gt; → add caching, read replicas, or purpose-built read scaling&lt;br&gt;
&lt;em&gt;2&lt;/em&gt; &lt;strong&gt;Write-heavy&lt;/strong&gt; → consider partitioning/sharding patterns, or DynamoDB if it fits&lt;br&gt;
&lt;em&gt;3&lt;/em&gt; &lt;strong&gt;Spiky traffic&lt;/strong&gt; → serverless options or buffering with queues&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4&lt;/strong&gt; | Database Capacity Planning
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Capacity Units, Instance Types And Provisioned IOPS&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; RDS/Aurora performance depends on &lt;strong&gt;instance size&lt;/strong&gt;, storage type, and sometimes &lt;strong&gt;Provisioned IOPS&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; DynamoDB uses &lt;strong&gt;RCUs/WCUs&lt;/strong&gt; (or on-demand) and partition design affects performance&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; High-performance workloads often need correct sizing plus monitoring&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5&lt;/strong&gt; | Database Connections And Proxies
&lt;/h3&gt;

&lt;p&gt;Connection limits are a common &lt;em&gt;real-world&lt;/em&gt; and &lt;em&gt;exam&lt;/em&gt; bottleneck.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Amazon RDS Proxy&lt;/strong&gt; pools connections and helps with spiky connection patterns (especially Lambda) and helps reduce failover impact and connection storms.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Serverless app is exhausting DB connections”&lt;/em&gt; → &lt;strong&gt;RDS Proxy.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;6&lt;/strong&gt; | Database Engines With Appropriate Use Cases
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Homogeneous vs Heterogeneous Migration&lt;/strong&gt;s
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Homogeneous migration:&lt;/strong&gt; same engine to same engine (e.g., MySQL → MySQL)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Heterogeneous migration:&lt;/strong&gt; different engines (e.g., Oracle → PostgreSQL)
_
&lt;strong&gt;AWS DMS&lt;/strong&gt; is commonly used for migrations (especially minimal downtime)._&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;7&lt;/strong&gt; | Database Replication
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Read Replicas&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Read replicas are mainly for:&lt;br&gt;
&lt;em&gt;1&lt;/em&gt; &lt;strong&gt;Scaling reads&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;2&lt;/em&gt; Offloading reporting/analytics queries&lt;br&gt;
&lt;em&gt;3&lt;/em&gt; Cross-region read performance (depending on engine)&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Read replicas&lt;/em&gt; are &lt;strong&gt;usually asynchronous&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Multi-AZ&lt;/em&gt; is for &lt;strong&gt;availability&lt;/strong&gt;, not for read scaling &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;8&lt;/strong&gt; | Database Types And Services
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Relational (SQL)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Amazon RDS:&lt;/strong&gt; MySQL, PostgreSQL, MariaDB, Oracle, SQL Server&lt;br&gt;
&lt;strong&gt;Amazon Aurora&lt;/strong&gt; MySQL/PostgreSQL-compatible, high performance, managed&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Non-relational (NoSQL)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Amazon DynamoDB&lt;/strong&gt;: key-value/document, massive scale, low latency&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;In-memory&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;ElastiCache&lt;/strong&gt;: Redis/Memcached &lt;em&gt;(cache, sessions)&lt;/em&gt;  &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Serverless Database Patterns&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Aurora Serverless v2:&lt;/strong&gt; elastic relational capacity &lt;/p&gt;




&lt;h2&gt;
  
  
  Skills
&lt;/h2&gt;

&lt;h3&gt;
  
  
  A | Configure Read Replicas To Meet Business Requirements
&lt;/h3&gt;

&lt;h4&gt;
  
  
  You Should Know When And Why
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Add replicas to scale reads and isolate reporting workloads&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Place replicas in other AZs or Regions if needed (engine-dependent)&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Monitor replication lag and route read traffic appropriately&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;B&lt;/strong&gt; | Design Database Architectures
&lt;/h3&gt;

&lt;p&gt;Typical high-performing patterns:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; App → (optional cache) → DB&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Multi-AZ for HA&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Read replicas for scaling reads&lt;br&gt;
&lt;strong&gt;&lt;em&gt;4&lt;/em&gt;&lt;/strong&gt; Shard/partition when required (more advanced, usually not primary SAA topic)&lt;br&gt;
&lt;strong&gt;&lt;em&gt;5&lt;/em&gt;&lt;/strong&gt; Offload analytics to separate systems when needed&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;C&lt;/strong&gt; | Determine An Appropriate Database Engine
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;MySQL vs PostgreSQL, etc.&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Expectation:&lt;/strong&gt; &lt;em&gt;pick based on compatibility/features/organization standards rather than arguing favorites.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Choose &lt;strong&gt;MySQL/Aurora MySQL&lt;/strong&gt; when compatibility with MySQL ecosystem is needed.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Choose &lt;strong&gt;PostgreSQL/Aurora PostgreSQL&lt;/strong&gt; when advanced SQL features/extensions are needed.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Choose commercial engines (Oracle/SQL Server) when required by licensing/app constraints.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;D&lt;/strong&gt; | Determine An Appropriate Database Type
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Aurora vs DynamoDB&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Fast rules:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; Need &lt;strong&gt;joins/transactions/relational schema&lt;/strong&gt; → &lt;strong&gt;RDS/Aurora&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2&lt;/em&gt;&lt;/strong&gt; Need &lt;strong&gt;massive scale + low latency key-value/document&lt;/strong&gt; → &lt;strong&gt;DynamoDB&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3&lt;/em&gt;&lt;/strong&gt; Need &lt;strong&gt;sub-millisecond repeated reads&lt;/strong&gt; → add &lt;strong&gt;ElastiCache&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;DynamoDB vs RDS is a frequent exam decision point.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;E&lt;/strong&gt; |Integrate Caching To Meet Business Requirements
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Caching Options&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ElastiCache&lt;/strong&gt; for app-side caching of hot data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DAX (DynamoDB Accelerator)&lt;/strong&gt; for DynamoDB read caching (in-memory, managed)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;“Microsecond reads for DynamoDB queries”&lt;/em&gt; → &lt;strong&gt;DAX&lt;/strong&gt; (if DynamoDB is the DB).&lt;/p&gt;




&lt;h2&gt;
  
  
  Cheat Sheet
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;Database&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Relational, transactions, joins&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;RDS or Aurora&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;High performance managed relational&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Aurora&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Key-value/document, massive scale&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;DynamoDB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read-heavy workload&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Read replicas + caching&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Repeated hot reads / lower latency&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;ElastiCache&lt;/strong&gt; (or &lt;strong&gt;DAX&lt;/strong&gt; for DynamoDB)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lambda too many DB connections&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;RDS Proxy&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Global low-latency reads + DR&lt;/td&gt;
&lt;td&gt;Aurora Global Database / DynamoDB Global Tables (if mentioned)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Migrate DB with minimal downtime&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AWS DMS&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Recap Checklist ✅
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; [ ] Database choice matches data model (relational vs non-relational)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; [ ] Read-heavy workloads use read scaling (read replicas) and/or caching&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; [ ] Write scaling is considered (correct service + partition design if DynamoDB)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; [ ] Connection spikes are handled (RDS Proxy when appropriate)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; [ ] Capacity planning is understood at a high level (instance types, IOPS, RCUs/WCUs)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;6.&lt;/strong&gt; [ ] Multi-AZ is used for availability; read replicas are used for read scaling&lt;br&gt;&lt;br&gt;
&lt;strong&gt;7.&lt;/strong&gt; [ ] Caching is integrated appropriately (ElastiCache/DAX)&lt;/p&gt;




&lt;h2&gt;
  
  
  AWS Whitepapers and Official Documentation
&lt;/h2&gt;

&lt;p&gt;These are the primary AWS documents behind &lt;strong&gt;Task Statement 3.3&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You do &lt;strong&gt;not&lt;/strong&gt; need to memorize them, use them to understand &lt;em&gt;how&lt;/em&gt; to Design High-Performing Database Solutions&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Database Services
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html" rel="noopener noreferrer"&gt;Amazon RDS&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html" rel="noopener noreferrer"&gt;Amazon Aurora&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html" rel="noopener noreferrer"&gt;Aurora Serverless v2&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html" rel="noopener noreferrer"&gt;Amazon DynamoDB&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Read Scaling, HA, and Connections
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html" rel="noopener noreferrer"&gt;RDS Read Replicas&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html" rel="noopener noreferrer"&gt;RDS Multi-AZ (concepts)&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html" rel="noopener noreferrer"&gt;Amazon RDS Proxy&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  Caching
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html" rel="noopener noreferrer"&gt;ElastiCache (Redis/Memcached)&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.html" rel="noopener noreferrer"&gt;DynamoDB Accelerator (DAX)&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Migration
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html" rel="noopener noreferrer"&gt;AWS Database Migration Service (DMS)&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  Capacity Planning
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html" rel="noopener noreferrer"&gt;DynamoDB Capacity Modes&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html" rel="noopener noreferrer"&gt;RDS storage options&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🚀&lt;/p&gt;

</description>
      <category>aws</category>
      <category>certification</category>
      <category>cloud</category>
      <category>solutionsarchitect</category>
    </item>
  </channel>
</rss>
