<?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: Anupa Supul</title>
    <description>The latest articles on DEV Community by Anupa Supul (@anupa_supul).</description>
    <link>https://dev.to/anupa_supul</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4019275%2F0a668de2-77e3-4beb-91c3-91f0f8ca4b63.jpeg</url>
      <title>DEV Community: Anupa Supul</title>
      <link>https://dev.to/anupa_supul</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anupa_supul"/>
    <language>en</language>
    <item>
      <title>How a Real Website Works on AWS — Complete AWS Architecture</title>
      <dc:creator>Anupa Supul</dc:creator>
      <pubDate>Fri, 04 Sep 2026 09:16:17 +0000</pubDate>
      <link>https://dev.to/anupa_supul/how-a-real-website-works-on-aws-complete-aws-architecture-201m</link>
      <guid>https://dev.to/anupa_supul/how-a-real-website-works-on-aws-complete-aws-architecture-201m</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxu4d7eeb0uxlfsfhynse.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxu4d7eeb0uxlfsfhynse.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;br&gt;
Let’s imagine we are building a &lt;strong&gt;MERN web application&lt;/strong&gt; with a React frontend, Node.js/Express backend, database, file uploads, authentication, and thousands of users.&lt;/p&gt;

&lt;p&gt;This is what the architecture could look like.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Big Picture
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                         USERS
                           │
                           ▼
                       Route 53
                           │
                           ▼
                      CloudFront
                       /       \
                      /         \
                     ▼           ▼
                  S3             ALB
             React Frontend      │
                                 ▼
                           Auto Scaling
                                 │
                    ┌────────────┼────────────┐
                    ▼            ▼            ▼
                   EC2          EC2          EC2
                    │            │            │
                    └────────────┼────────────┘
                                 │
                    ┌────────────┼────────────┐
                    ▼            ▼            ▼
                   RDS       ElastiCache      SQS
                Database        Cache        Queue
                    │                         │
                    │                         ▼
                    │                       Worker
                    │
                    ▼
                   S3
              File Storage
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;At first, this diagram can look complicated.&lt;/p&gt;

&lt;p&gt;But the important thing is that &lt;strong&gt;each service has a specific responsibility&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of thinking about AWS as one giant system, think of it as a collection of specialized building blocks.&lt;/p&gt;


&lt;h2&gt;
  
  
  1. What Happens When You Open a Website?
&lt;/h2&gt;

&lt;p&gt;Let's say a user types:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;www.mywebsite.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;into their browser.&lt;/p&gt;

&lt;p&gt;The request doesn't simply jump directly to an EC2 server.&lt;/p&gt;

&lt;p&gt;It goes through several layers.&lt;/p&gt;

&lt;p&gt;First, &lt;strong&gt;Route 53&lt;/strong&gt; helps the browser find where the domain should go. The request can then reach &lt;strong&gt;CloudFront&lt;/strong&gt;, AWS's content delivery network.&lt;/p&gt;

&lt;p&gt;CloudFront decides where the request should be served from.&lt;/p&gt;

&lt;p&gt;If the user requests a React file such as JavaScript, CSS, or an image, CloudFront can retrieve it from &lt;strong&gt;Amazon S3&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If the request is something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET /api/users
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;CloudFront can send it toward the backend through an &lt;strong&gt;Application Load Balancer (ALB)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So even before our backend receives the request, AWS has already handled DNS, content delivery, and traffic routing.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Route 53 — Finding Our Website
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Amazon Route 53&lt;/strong&gt; is AWS's DNS service.&lt;/p&gt;

&lt;p&gt;DNS is basically the system that translates a human-friendly domain name into a destination.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;www.mywebsite.com
        ↓
     DNS lookup
        ↓
   CloudFront
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Without DNS, users would need to remember an IP address instead of a domain name.&lt;/p&gt;

&lt;p&gt;Route 53 therefore acts like the &lt;strong&gt;phone book of our website&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It doesn't run our frontend or backend. Its job is mainly to help users find the correct destination.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. CloudFront — Bringing Content Closer to Users
&lt;/h2&gt;

&lt;p&gt;Once Route 53 points the request toward CloudFront, CloudFront can handle the delivery of content.&lt;/p&gt;

&lt;p&gt;CloudFront is a &lt;strong&gt;CDN (Content Delivery Network)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Imagine our application is hosted in a region far away from a user. Sending every image, JavaScript file, and CSS file all the way from our origin would add unnecessary latency.&lt;/p&gt;

&lt;p&gt;CloudFront solves this by caching content at locations around the world called &lt;strong&gt;edge locations&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So a simplified flow looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
  │
  ▼
CloudFront Edge Location
  │
  ├── Cached content → Return immediately
  │
  └── Not cached → Ask the origin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is especially useful for static content such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React JavaScript files&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;Images&lt;/li&gt;
&lt;li&gt;Videos&lt;/li&gt;
&lt;li&gt;Documents&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It can also sit in front of our API and work with services such as AWS WAF.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. React Frontend — Where Users Interact
&lt;/h2&gt;

&lt;p&gt;Our React application is the part users actually see.&lt;/p&gt;

&lt;p&gt;The frontend contains things like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Login page
Dashboard
Profile
Products
Buttons
Forms
Images
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Because a React production build consists largely of static files, we don't necessarily need an EC2 server just to serve those files.&lt;/p&gt;

&lt;p&gt;We can store the built frontend in &lt;strong&gt;Amazon S3&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;React Project
     │
     ▼
npm run build
     │
     ▼
HTML + CSS + JS
     │
     ▼
Amazon S3
     │
     ▼
CloudFront
     │
     ▼
Users
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is one of the first things that changed how I looked at AWS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not everything needs a traditional server.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Application Load Balancer — Sending Users to the Right Server
&lt;/h2&gt;

&lt;p&gt;Now suppose the frontend calls our backend:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;POST /api/login
GET /api/products
POST /api/orders
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We don't want every user connecting directly to one EC2 instance.&lt;/p&gt;

&lt;p&gt;Instead, requests can go through an &lt;strong&gt;Application Load Balancer (ALB)&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                  ALB
                   │
        ┌──────────┼──────────┐
        ▼          ▼          ▼
       EC2        EC2        EC2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The ALB distributes incoming requests across healthy backend instances.&lt;/p&gt;

&lt;p&gt;It also performs &lt;strong&gt;health checks&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For example, if one EC2 instance stops responding:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;EC2 #1 → Healthy
EC2 #2 → Healthy
EC2 #3 → Unhealthy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The ALB can stop sending new requests to the unhealthy instance.&lt;/p&gt;

&lt;p&gt;This is much more reliable than depending on a single server.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. EC2 + Auto Scaling — Running the Backend
&lt;/h2&gt;

&lt;p&gt;Our Node.js and Express backend can run on &lt;strong&gt;Amazon EC2&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;React
  │
  ▼
API Request
  │
  ▼
ALB
  │
  ├── EC2 #1
  ├── EC2 #2
  └── EC2 #3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But what happens when traffic suddenly increases?&lt;/p&gt;

&lt;p&gt;This is where &lt;strong&gt;EC2 Auto Scaling&lt;/strong&gt; becomes important.&lt;/p&gt;

&lt;p&gt;During normal traffic:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2 EC2 instances
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;During heavy traffic:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;4 EC2 instances
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;During extremely high traffic:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;6 EC2 instances
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The exact numbers depend on how we configure the scaling policy.&lt;/p&gt;

&lt;p&gt;The important idea is that &lt;strong&gt;Auto Scaling adjusts computing capacity based on demand&lt;/strong&gt;, while the ALB distributes traffic between the available instances.&lt;/p&gt;

&lt;p&gt;These two services solve different problems:&lt;/p&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;Main Responsibility&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ALB&lt;/td&gt;
&lt;td&gt;Distributes requests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auto Scaling&lt;/td&gt;
&lt;td&gt;Adjusts number of EC2 instances&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;EC2&lt;/td&gt;
&lt;td&gt;Runs our application&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  7. RDS — Where Our Application Data Lives
&lt;/h2&gt;

&lt;p&gt;Our backend needs somewhere to store permanent data.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Users
Orders
Products
Payments
Messages
Profiles
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is where &lt;strong&gt;Amazon RDS&lt;/strong&gt; can be used.&lt;/p&gt;

&lt;p&gt;Instead of installing and maintaining a database manually on an EC2 server, RDS provides a managed relational database environment.&lt;/p&gt;

&lt;p&gt;The backend might perform:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;React
  ↓
ALB
  ↓
EC2
  ↓
RDS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example, when a user creates an account:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User submits signup form
        ↓
React sends API request
        ↓
Backend receives request
        ↓
Backend validates data
        ↓
Backend writes user to RDS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The database should normally be placed in &lt;strong&gt;private subnets&lt;/strong&gt;, rather than being directly exposed to the public internet.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. S3 — Not Just for the Frontend
&lt;/h2&gt;

&lt;p&gt;One thing that can easily confuse beginners is S3.&lt;/p&gt;

&lt;p&gt;S3 is &lt;strong&gt;object storage&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It can store much more than React files.&lt;/p&gt;

&lt;p&gt;Our application might allow users to upload:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Profile pictures
PDF files
Documents
Product images
Videos
Reports
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of putting these large files inside the database, we can store them in S3.&lt;/p&gt;

&lt;p&gt;The database can then store information such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User ID
File name
S3 object key
Upload date
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So we can think of it like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;RDS → Application data
S3  → Files / Objects
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This separation makes the architecture easier to scale.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. SQS — When Everything Doesn't Need to Happen Immediately
&lt;/h2&gt;

&lt;p&gt;Some operations don't need to happen while the user is waiting.&lt;/p&gt;

&lt;p&gt;Imagine a user uploads a video.&lt;/p&gt;

&lt;p&gt;Our application might need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Save the file&lt;/li&gt;
&lt;li&gt;Generate thumbnails&lt;/li&gt;
&lt;li&gt;Process the video&lt;/li&gt;
&lt;li&gt;Send an email&lt;/li&gt;
&lt;li&gt;Update another system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Doing everything inside the original request could make the application slow.&lt;/p&gt;

&lt;p&gt;Instead, we can use &lt;strong&gt;Amazon SQS&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
 │
 ▼
Backend
 │
 ▼
SQS Queue
 │
 ▼
Worker
 │
 ├── Process file
 ├── Send email
 └── Perform background task
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The backend can put a message into the queue and respond to the user.&lt;/p&gt;

&lt;p&gt;A worker can process the job separately.&lt;/p&gt;

&lt;p&gt;This creates &lt;strong&gt;decoupling&lt;/strong&gt; between different parts of the system.&lt;/p&gt;




&lt;h2&gt;
  
  
  10. ElastiCache — Making Frequent Requests Faster
&lt;/h2&gt;

&lt;p&gt;Not every piece of data needs to be fetched from the database every time.&lt;/p&gt;

&lt;p&gt;Imagine thousands of users are requesting the same popular information.&lt;/p&gt;

&lt;p&gt;Instead of repeatedly doing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;EC2 → RDS → Return data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;we can cache frequently accessed data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;EC2
 │
 ▼
ElastiCache
 │
 ├── Data found → Return quickly
 │
 └── Data missing → Query RDS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;ElastiCache&lt;/strong&gt; can provide an in-memory cache using technologies such as Redis/Valkey or Memcached.&lt;/p&gt;

&lt;p&gt;The important idea is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Database = persistent source of data&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Cache = fast temporary copy of frequently used data&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Caching is an optimization, so it isn't required for every application.&lt;/p&gt;




&lt;h2&gt;
  
  
  11. Security — Protecting the Architecture
&lt;/h2&gt;

&lt;p&gt;Now we have a working architecture, but putting everything on the internet would be a terrible idea.&lt;/p&gt;

&lt;p&gt;Security needs to exist at multiple layers.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;AWS IAM&lt;/strong&gt; controls who or what can access AWS resources.&lt;/p&gt;

&lt;p&gt;For example, instead of putting AWS access keys directly inside our Node.js code, we can give an EC2 instance an appropriate &lt;strong&gt;IAM role&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;EC2
 │
 ▼
IAM Role
 │
 ▼
Allowed AWS Services
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The application gets only the permissions it actually needs.&lt;/p&gt;




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

&lt;p&gt;Security Groups act like virtual firewalls around AWS resources.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Internet
   │
   ▼
  ALB
   │
   ▼
  EC2
   │
   ▼
  RDS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can configure rules such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Internet → ALB       ✅
ALB → EC2             ✅
EC2 → RDS             ✅
Internet → RDS        ❌
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is much safer than exposing the database directly to the internet.&lt;/p&gt;




&lt;h3&gt;
  
  
  AWS WAF
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;AWS WAF&lt;/strong&gt; protects web applications by inspecting incoming HTTP/HTTPS requests.&lt;/p&gt;

&lt;p&gt;It can help block things such as malicious or unwanted web requests based on configured rules.&lt;/p&gt;

&lt;p&gt;A simplified security flow becomes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Internet
   │
   ▼
  WAF
   │
   ▼
CloudFront
   │
   ▼
  ALB
   │
   ▼
  EC2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






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

&lt;p&gt;Our application also needs sensitive information such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Database password
API keys
Application secrets
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These shouldn't simply be written directly inside source code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS Secrets Manager&lt;/strong&gt; provides a safer place to store and retrieve secrets.&lt;/p&gt;




&lt;h2&gt;
  
  
  12. VPC — The Network Behind Everything
&lt;/h2&gt;

&lt;p&gt;All of these services don't just randomly exist on the internet.&lt;/p&gt;

&lt;p&gt;Our backend architecture can be placed inside an &lt;strong&gt;Amazon VPC (Virtual Private Cloud)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A simple design could look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                    VPC
                     │
          ┌──────────┴──────────┐
          │                     │
    Public Subnets        Private Subnets
          │                     │
         ALB              EC2 / RDS / Cache
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The public and private subnet design helps control which resources can be reached from the internet.&lt;/p&gt;

&lt;p&gt;For a production architecture, we would normally distribute resources across multiple &lt;strong&gt;Availability Zones&lt;/strong&gt; to improve availability.&lt;/p&gt;




&lt;h2&gt;
  
  
  13. Monitoring — Knowing What Is Happening
&lt;/h2&gt;

&lt;p&gt;Building the infrastructure isn't enough.&lt;/p&gt;

&lt;p&gt;We also need to know:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Is the application healthy?&lt;/p&gt;

&lt;p&gt;Are servers running out of resources?&lt;/p&gt;

&lt;p&gt;Are requests failing?&lt;/p&gt;

&lt;p&gt;Is traffic increasing?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is where &lt;strong&gt;Amazon CloudWatch&lt;/strong&gt; becomes useful.&lt;/p&gt;

&lt;p&gt;CloudWatch can provide metrics, logs, dashboards, and alarms.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CPU usage &amp;gt; threshold
        ↓
CloudWatch Alarm
        ↓
Auto Scaling / Notification
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For auditing AWS API activity, &lt;strong&gt;CloudTrail&lt;/strong&gt; records account and API activity.&lt;/p&gt;

&lt;p&gt;So:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CloudWatch → Monitoring &amp;amp; Logs
CloudTrail  → AWS Activity &amp;amp; Auditing
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  14. HTTPS — Encrypting Communication
&lt;/h2&gt;

&lt;p&gt;When users access:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://www.mywebsite.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;their communication should be encrypted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS Certificate Manager (ACM)&lt;/strong&gt; can provide and manage TLS certificates for supported AWS services.&lt;/p&gt;

&lt;p&gt;So instead of sending sensitive information over plain HTTP, we use HTTPS.&lt;/p&gt;

&lt;p&gt;This is especially important for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Login credentials&lt;/li&gt;
&lt;li&gt;Personal information&lt;/li&gt;
&lt;li&gt;Payments&lt;/li&gt;
&lt;li&gt;API requests&lt;/li&gt;
&lt;li&gt;Session information&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  15. Putting Everything Together
&lt;/h2&gt;

&lt;p&gt;Now the individual services should make much more sense.&lt;/p&gt;

&lt;p&gt;The complete request path can be summarized like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                         USER
                           │
                           ▼
                       Route 53
                           │
                           ▼
                      CloudFront
                       /       \
                      /         \
                     ▼           ▼
                  S3             ALB
             React Frontend      │
                                 ▼
                           Auto Scaling
                                 │
                    ┌────────────┼────────────┐
                    ▼            ▼            ▼
                   EC2          EC2          EC2
                    │            │            │
                    └────────────┼────────────┘
                                 │
                    ┌────────────┼────────────┐
                    ▼            ▼            ▼
                   RDS       ElastiCache      SQS
                Database        Cache        Queue
                    │                         │
                    │                         ▼
                    │                       Worker
                    │
                    ▼
                   S3
              File Storage
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And around this architecture we have:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IAM
Security Groups
WAF
Secrets Manager
ACM
CloudWatch
CloudTrail
VPC
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These aren't just extra AWS services added to make the diagram look impressive.&lt;/p&gt;

&lt;p&gt;Each one solves a different operational problem.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Most Important Thing I Learned
&lt;/h1&gt;

&lt;p&gt;When I first started learning AWS, I looked at services individually.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;EC2 = Server
S3 = Storage
RDS = Database
Route 53 = DNS
CloudFront = CDN
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is useful for getting started.&lt;/p&gt;

&lt;p&gt;But real cloud architecture is about understanding &lt;strong&gt;how those services work together&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A real application isn't just:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User → EC2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is closer to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
 ↓
DNS
 ↓
CDN
 ↓
Load Balancer
 ↓
Application Servers
 ↓
Database / Cache / Queue / Storage
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And surrounding all of that are networking, security, monitoring, and scaling mechanisms.&lt;/p&gt;

&lt;p&gt;That's when AWS started making much more sense to me.&lt;/p&gt;




&lt;h1&gt;
  
  
  Quick Cheat Sheet
&lt;/h1&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;AWS Service&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Domain / DNS&lt;/td&gt;
&lt;td&gt;Route 53&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CDN&lt;/td&gt;
&lt;td&gt;CloudFront&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;React static files&lt;/td&gt;
&lt;td&gt;S3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;EC2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Load balancing&lt;/td&gt;
&lt;td&gt;ALB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Automatic scaling&lt;/td&gt;
&lt;td&gt;Auto Scaling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Relational database&lt;/td&gt;
&lt;td&gt;RDS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File storage&lt;/td&gt;
&lt;td&gt;S3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Background jobs&lt;/td&gt;
&lt;td&gt;SQS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Caching&lt;/td&gt;
&lt;td&gt;ElastiCache&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Permissions&lt;/td&gt;
&lt;td&gt;IAM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Network isolation&lt;/td&gt;
&lt;td&gt;VPC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Firewall rules&lt;/td&gt;
&lt;td&gt;Security Groups&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web protection&lt;/td&gt;
&lt;td&gt;WAF&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Secrets&lt;/td&gt;
&lt;td&gt;Secrets Manager&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HTTPS certificates&lt;/td&gt;
&lt;td&gt;ACM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Monitoring&lt;/td&gt;
&lt;td&gt;CloudWatch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AWS activity auditing&lt;/td&gt;
&lt;td&gt;CloudTrail&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;The biggest shift in my AWS learning wasn't memorizing more services.&lt;/p&gt;

&lt;p&gt;It was learning to ask:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“What problem is this service solving, and where does it fit in the architecture?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once I started thinking that way, AWS stopped feeling like a huge list of unrelated services.&lt;/p&gt;

&lt;p&gt;Instead, it started looking like a set of building blocks.&lt;/p&gt;

&lt;p&gt;And when those building blocks are combined properly, we can build applications that are &lt;strong&gt;scalable, secure, highly available, and easier to operate&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That, for me, is where learning AWS started becoming much more interesting.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>amzon</category>
      <category>cloudcomputing</category>
      <category>amazonarchtecture</category>
    </item>
    <item>
      <title>Where Does My Website Actually Store Its Data? Understanding Amazon RDS</title>
      <dc:creator>Anupa Supul</dc:creator>
      <pubDate>Mon, 17 Aug 2026 04:56:29 +0000</pubDate>
      <link>https://dev.to/anupa_supul/where-does-my-website-actually-store-its-data-understanding-amazon-rds-47oo</link>
      <guid>https://dev.to/anupa_supul/where-does-my-website-actually-store-its-data-understanding-amazon-rds-47oo</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsqfuvh8beqrtns53tlax.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsqfuvh8beqrtns53tlax.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After learning how to run applications on EC2, I started thinking about something I had never really questioned before.&lt;/p&gt;

&lt;p&gt;Where does all the data actually go?&lt;/p&gt;

&lt;p&gt;When a user creates an account, where is that account stored?&lt;/p&gt;

&lt;p&gt;When someone places an order, where does the order information live?&lt;/p&gt;

&lt;p&gt;When I update my profile, how does the application remember that change the next time I log in?&lt;/p&gt;

&lt;p&gt;As a MERN developer, I already understood the idea of a database.&lt;/p&gt;

&lt;p&gt;I had worked with MongoDB and Mongoose.&lt;/p&gt;

&lt;p&gt;But AWS made me think about the bigger question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;How do you run and manage a database reliably in the cloud?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's when I started learning about &lt;strong&gt;Amazon RDS&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem I Started With
&lt;/h2&gt;

&lt;p&gt;Imagine I deploy my backend on an EC2 instance.&lt;/p&gt;

&lt;p&gt;My application is running perfectly.&lt;/p&gt;

&lt;p&gt;A user signs up.&lt;/p&gt;

&lt;p&gt;Their information needs to be saved somewhere.&lt;/p&gt;

&lt;p&gt;So my application needs a database.&lt;/p&gt;

&lt;p&gt;The basic idea looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
  │
  ▼
Backend
  │
  ▼
Database
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At first, this seems simple.&lt;/p&gt;

&lt;p&gt;But then I started thinking about everything that comes with managing a real database.&lt;/p&gt;

&lt;p&gt;Someone has to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install the database&lt;/li&gt;
&lt;li&gt;Configure it&lt;/li&gt;
&lt;li&gt;Manage updates&lt;/li&gt;
&lt;li&gt;Take backups&lt;/li&gt;
&lt;li&gt;Monitor it&lt;/li&gt;
&lt;li&gt;Handle failures&lt;/li&gt;
&lt;li&gt;Protect it&lt;/li&gt;
&lt;li&gt;Recover it when something goes wrong&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's a lot of responsibility.&lt;/p&gt;

&lt;p&gt;And this is where managed database services become useful.&lt;/p&gt;




&lt;h1&gt;
  
  
  So What Is Amazon RDS?
&lt;/h1&gt;

&lt;p&gt;The simplest way I understand Amazon RDS is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Amazon RDS is a managed relational database service from AWS.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of manually setting up and maintaining a relational database server yourself, AWS manages much of the underlying database infrastructure for you.&lt;/p&gt;

&lt;p&gt;RDS supports database engines such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MySQL&lt;/li&gt;
&lt;li&gt;PostgreSQL&lt;/li&gt;
&lt;li&gt;MariaDB&lt;/li&gt;
&lt;li&gt;Oracle&lt;/li&gt;
&lt;li&gt;SQL Server&lt;/li&gt;
&lt;li&gt;Amazon Aurora&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So instead of spending most of my time managing the database server itself, I can focus more on my application and the data.&lt;/p&gt;




&lt;h1&gt;
  
  
  Running a Database Yourself vs RDS
&lt;/h1&gt;

&lt;p&gt;This comparison helped me understand the difference.&lt;/p&gt;

&lt;h3&gt;
  
  
  If I Manage Everything Myself
&lt;/h3&gt;

&lt;p&gt;Imagine I launch an EC2 instance and install MySQL manually.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;EC2
 │
 ├── Operating System
 ├── MySQL
 ├── Configuration
 ├── Updates
 ├── Backups
 └── Monitoring
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now I'm responsible for all of it.&lt;/p&gt;

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

&lt;p&gt;With RDS, the architecture becomes much simpler:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Application
     │
     ▼
Amazon RDS
     │
     ▼
Relational Database
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;AWS handles much of the underlying infrastructure.&lt;/p&gt;

&lt;p&gt;That doesn't mean I have no responsibility.&lt;/p&gt;

&lt;p&gt;I still need to think about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Database design&lt;/li&gt;
&lt;li&gt;Queries&lt;/li&gt;
&lt;li&gt;Users and permissions&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;Application configuration&lt;/li&gt;
&lt;li&gt;Cost&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But AWS takes care of many infrastructure-level tasks.&lt;/p&gt;




&lt;h1&gt;
  
  
  A Real-World Example
&lt;/h1&gt;

&lt;p&gt;Imagine I build an online store.&lt;/p&gt;

&lt;p&gt;A customer creates an account.&lt;/p&gt;

&lt;p&gt;Then they add a product to their cart.&lt;/p&gt;

&lt;p&gt;Finally, they place an order.&lt;/p&gt;

&lt;p&gt;The application needs to store information such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Customer
    │
    ├── Account
    │
    ├── Orders
    │
    ├── Products
    │
    └── Inventory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A relational database is useful for this kind of structured data.&lt;/p&gt;

&lt;p&gt;The application architecture could look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
  │
  ▼
Frontend
  │
  ▼
Backend API
  │
  ▼
Amazon RDS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The frontend doesn't directly communicate with the database.&lt;/p&gt;

&lt;p&gt;The backend handles that communication.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why Shouldn't Users Connect Directly to the Database?
&lt;/h1&gt;

&lt;p&gt;This was another thing that became clear to me while learning AWS.&lt;/p&gt;

&lt;p&gt;Imagine this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Internet Users
      │
      ▼
   Database
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That would be a terrible architecture.&lt;/p&gt;

&lt;p&gt;You don't want random internet users connecting directly to your database.&lt;/p&gt;

&lt;p&gt;Instead, we want:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Internet Users
      │
      ▼
   Frontend
      │
      ▼
  Backend API
      │
      ▼
  Amazon RDS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The backend controls how the application communicates with the database.&lt;/p&gt;

&lt;p&gt;Security Groups can also be configured so the database only accepts connections from the backend resources that actually need access.&lt;/p&gt;

&lt;p&gt;That creates a much safer architecture.&lt;/p&gt;




&lt;h1&gt;
  
  
  What Happens If the Database Fails?
&lt;/h1&gt;

&lt;p&gt;This is where managing databases gets interesting.&lt;/p&gt;

&lt;p&gt;Imagine my application has thousands of users.&lt;/p&gt;

&lt;p&gt;Everything is working.&lt;/p&gt;

&lt;p&gt;Then suddenly, the database server experiences a failure.&lt;/p&gt;

&lt;p&gt;What happens to the application?&lt;/p&gt;

&lt;p&gt;If I manually manage the database, I have to think about how to recover it.&lt;/p&gt;

&lt;p&gt;RDS provides features designed to improve database availability and recovery.&lt;/p&gt;

&lt;p&gt;One important feature is &lt;strong&gt;Multi-AZ deployment&lt;/strong&gt;.&lt;/p&gt;




&lt;h1&gt;
  
  
  Multi-AZ
&lt;/h1&gt;

&lt;p&gt;With Multi-AZ, AWS can maintain a standby database instance in another Availability Zone.&lt;/p&gt;

&lt;p&gt;A simplified example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                 AWS Region
                     │
          ┌──────────┴──────────┐
          │                     │
          ▼                     ▼
 Availability Zone A      Availability Zone B
          │                     │
          ▼                     ▼
     Primary RDS            Standby RDS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The application normally communicates with the primary database.&lt;/p&gt;

&lt;p&gt;If a failure occurs, AWS can fail over to the standby.&lt;/p&gt;

&lt;p&gt;What I found interesting here is that high availability isn't simply about having a backup file.&lt;/p&gt;

&lt;p&gt;It's about designing the system so it can continue operating when something goes wrong.&lt;/p&gt;




&lt;h1&gt;
  
  
  What About Backups?
&lt;/h1&gt;

&lt;p&gt;Another thing I started appreciating about managed databases is backups.&lt;/p&gt;

&lt;p&gt;Imagine I accidentally delete important data.&lt;/p&gt;

&lt;p&gt;Without a backup strategy, recovering it could become a nightmare.&lt;/p&gt;

&lt;p&gt;RDS provides automated backup capabilities and supports database snapshots.&lt;/p&gt;

&lt;p&gt;So instead of thinking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I'll configure backups later."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I can make backups part of the infrastructure from the beginning.&lt;/p&gt;

&lt;p&gt;That was another important mindset shift for me.&lt;/p&gt;




&lt;h1&gt;
  
  
  What If My Application Gets Bigger?
&lt;/h1&gt;

&lt;p&gt;Let's say my application starts with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;100 users
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then it grows to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;10,000 users
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And eventually:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1,000,000 users
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The database now has much more work to handle.&lt;/p&gt;

&lt;p&gt;Eventually, database scaling becomes its own engineering problem.&lt;/p&gt;

&lt;p&gt;Depending on the workload, there are different ways to improve database performance and capacity.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Increasing the database instance size&lt;/li&gt;
&lt;li&gt;Using read replicas&lt;/li&gt;
&lt;li&gt;Adding caching&lt;/li&gt;
&lt;li&gt;Optimizing queries&lt;/li&gt;
&lt;li&gt;Choosing the right database architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So scaling isn't only about EC2.&lt;/p&gt;

&lt;p&gt;The database needs to scale too.&lt;/p&gt;




&lt;h1&gt;
  
  
  RDS With Everything I've Learned So Far
&lt;/h1&gt;

&lt;p&gt;This was probably the most useful part for me.&lt;/p&gt;

&lt;p&gt;I've already learned about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Route 53&lt;/li&gt;
&lt;li&gt;CloudFront&lt;/li&gt;
&lt;li&gt;Elastic Load Balancer&lt;/li&gt;
&lt;li&gt;EC2&lt;/li&gt;
&lt;li&gt;Auto Scaling&lt;/li&gt;
&lt;li&gt;Security Groups&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now I can finally see where the database fits into the bigger picture.&lt;/p&gt;

&lt;p&gt;A simplified AWS architecture could look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Users
  │
  ▼
Route 53
  │
  ▼
CloudFront
  │
  ▼
Load Balancer
  │
  ▼
Auto Scaling Group
  │
  ▼
EC2 Instances
  │
  ▼
Amazon RDS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each service has a different responsibility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Route 53&lt;/strong&gt; helps users find the application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CloudFront&lt;/strong&gt; helps deliver content efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Load Balancer&lt;/strong&gt; distributes incoming traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt; adjusts the number of EC2 instances.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EC2&lt;/strong&gt; runs the application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RDS&lt;/strong&gt; stores the relational data.&lt;/p&gt;

&lt;p&gt;Seeing all these pieces together made AWS feel much less like a list of services and more like an actual system.&lt;/p&gt;




&lt;h1&gt;
  
  
  One Thing I Finally Understood
&lt;/h1&gt;

&lt;p&gt;Before learning AWS, I mostly thought about databases from the application developer's perspective.&lt;/p&gt;

&lt;p&gt;I would:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create Database
      ↓
Connect Backend
      ↓
Write Queries
      ↓
Done
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But production systems are different.&lt;/p&gt;

&lt;p&gt;Now I have to ask:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;What happens if it fails?
        ↓
How are backups handled?
        ↓
Who can access it?
        ↓
Can it scale?
        ↓
How do I keep it available?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Those questions become increasingly important as an application grows.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Bigger Picture
&lt;/h1&gt;

&lt;p&gt;After learning EC2, ELB, Auto Scaling, and RDS, I started seeing cloud architecture differently.&lt;/p&gt;

&lt;p&gt;It's not about memorizing:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"EC2 does this."&lt;/p&gt;

&lt;p&gt;"RDS does that."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It's about understanding how the pieces work together.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                    Users
                      │
                      ▼
                  Route 53
                      │
                      ▼
                 CloudFront
                      │
                      ▼
              Load Balancer
                      │
                      ▼
              Auto Scaling
                 │      │
                 ▼      ▼
               EC2     EC2
                 │      │
                 └──┬───┘
                    │
                    ▼
                Amazon RDS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now the architecture actually tells a story.&lt;/p&gt;

&lt;p&gt;Users arrive.&lt;/p&gt;

&lt;p&gt;Traffic is routed.&lt;/p&gt;

&lt;p&gt;Content is delivered.&lt;/p&gt;

&lt;p&gt;Requests are distributed.&lt;/p&gt;

&lt;p&gt;Servers scale.&lt;/p&gt;

&lt;p&gt;The application runs.&lt;/p&gt;

&lt;p&gt;Data is stored.&lt;/p&gt;

&lt;p&gt;That's when AWS started making much more sense to me.&lt;/p&gt;




&lt;h1&gt;
  
  
  What Changed My Perspective
&lt;/h1&gt;

&lt;p&gt;Before learning AWS, I thought about databases mainly as something my application connects to.&lt;/p&gt;

&lt;p&gt;Now I understand that the database itself is an important part of the architecture.&lt;/p&gt;

&lt;p&gt;Questions like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What happens if the database fails?&lt;/p&gt;

&lt;p&gt;How do I protect it?&lt;/p&gt;

&lt;p&gt;How do I back it up?&lt;/p&gt;

&lt;p&gt;How will it handle more users?&lt;/p&gt;

&lt;p&gt;How do I make it highly available?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These aren't just database questions.&lt;/p&gt;

&lt;p&gt;They're &lt;strong&gt;system design questions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And that's probably the biggest thing RDS taught me.&lt;/p&gt;




&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;When I first started learning AWS, EC2 was exciting because I could actually see my application running on a cloud server.&lt;/p&gt;

&lt;p&gt;But RDS taught me something different.&lt;/p&gt;

&lt;p&gt;Running an application is only one part of the system.&lt;/p&gt;

&lt;p&gt;The application also needs somewhere reliable to store the information that makes it useful.&lt;/p&gt;

&lt;p&gt;And managing that database involves much more than simply creating a database and connecting to it.&lt;/p&gt;

&lt;p&gt;That's where managed services like Amazon RDS become valuable.&lt;/p&gt;

&lt;p&gt;For me, the biggest lesson was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;A database isn't just where data lives. It's part of the architecture that needs to be designed for security, availability, backups, and growth.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The more I learn AWS, the more I realize that building software isn't only about making the application work.&lt;/p&gt;

&lt;p&gt;It's about making sure the entire system can keep working when real users start depending on it.&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 What I'm Learning Next
&lt;/h3&gt;

&lt;p&gt;The more AWS services I learn, the more I realize that each one solves a different piece of the same puzzle.&lt;/p&gt;

&lt;p&gt;EC2 taught me where applications can run.&lt;/p&gt;

&lt;p&gt;ELB taught me how traffic can be distributed.&lt;/p&gt;

&lt;p&gt;Auto Scaling taught me how applications can adapt to demand.&lt;/p&gt;

&lt;p&gt;And RDS taught me where the application's important data can live reliably.&lt;/p&gt;

&lt;p&gt;The next step is understanding how these pieces work together in a real application.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I'm continuing to document my AWS learning journey by taking the concepts I learn and explaining them in the simplest way I can.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you're learning AWS too, I hope this made Amazon RDS a little easier to understand.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy learning! 🚀&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>amzon</category>
      <category>cloudcomputing</category>
      <category>rds</category>
    </item>
    <item>
      <title>Why Doesn't My Website Crash When Thousands of People Visit? Understanding Amazon EC2</title>
      <dc:creator>Anupa Supul</dc:creator>
      <pubDate>Fri, 31 Jul 2026 10:16:11 +0000</pubDate>
      <link>https://dev.to/anupa_supul/why-doesnt-my-website-crash-when-thousands-of-people-visit-understanding-amazon-ec2-3o7c</link>
      <guid>https://dev.to/anupa_supul/why-doesnt-my-website-crash-when-thousands-of-people-visit-understanding-amazon-ec2-3o7c</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftmaztz6gozt9stwo0l4j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftmaztz6gozt9stwo0l4j.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When I first started learning AWS, I assumed that if a website became popular, the solution was simple.&lt;/p&gt;

&lt;p&gt;Buy a bigger server.&lt;/p&gt;

&lt;p&gt;More CPU.&lt;/p&gt;

&lt;p&gt;More RAM.&lt;/p&gt;

&lt;p&gt;More storage.&lt;/p&gt;

&lt;p&gt;Problem solved.&lt;/p&gt;

&lt;p&gt;But then I started thinking about websites like Netflix, Amazon, and Instagram.&lt;/p&gt;

&lt;p&gt;Millions of people visit them every day.&lt;/p&gt;

&lt;p&gt;Sometimes millions of users are online at exactly the same time.&lt;/p&gt;

&lt;p&gt;Surely they don't keep buying one giant server every time traffic increases.&lt;/p&gt;

&lt;p&gt;So how do they handle sudden spikes in visitors without crashing?&lt;/p&gt;

&lt;p&gt;That question introduced me to &lt;strong&gt;Amazon EC2 Auto Scaling&lt;/strong&gt;.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Problem
&lt;/h1&gt;

&lt;p&gt;Imagine I build my own portfolio website.&lt;/p&gt;

&lt;p&gt;Normally, around 100 people visit it each day.&lt;/p&gt;

&lt;p&gt;Everything works perfectly.&lt;/p&gt;

&lt;p&gt;Then one day, someone with a huge social media following shares my website.&lt;/p&gt;

&lt;p&gt;Within minutes...&lt;/p&gt;

&lt;p&gt;10,000 people try to open it.&lt;/p&gt;

&lt;p&gt;What happens?&lt;/p&gt;

&lt;p&gt;If I only have &lt;strong&gt;one EC2 instance&lt;/strong&gt;, that single server now has to handle every request.&lt;/p&gt;

&lt;p&gt;Soon it becomes overloaded.&lt;/p&gt;

&lt;p&gt;Pages load slowly.&lt;/p&gt;

&lt;p&gt;Some users get errors.&lt;/p&gt;

&lt;p&gt;Eventually...&lt;/p&gt;

&lt;p&gt;The website crashes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR

Users --&amp;gt; EC2

style EC2 fill:#ff9999
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Clearly, one server isn't enough.&lt;/p&gt;




&lt;h1&gt;
  
  
  My First Thought
&lt;/h1&gt;

&lt;p&gt;My first solution was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Just buy a bigger server.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Upgrade from&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2 GB RAM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;to&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;16 GB RAM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is called &lt;strong&gt;Vertical Scaling&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR

SmallEC2["Small EC2"]

--&amp;gt;LargeEC2["Bigger EC2"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This works...&lt;/p&gt;

&lt;p&gt;But only up to a point.&lt;/p&gt;

&lt;p&gt;Eventually, even the biggest server has limits.&lt;/p&gt;




&lt;h1&gt;
  
  
  AWS Had a Better Idea
&lt;/h1&gt;

&lt;p&gt;Instead of buying one huge server...&lt;/p&gt;

&lt;p&gt;Why not create &lt;strong&gt;more servers&lt;/strong&gt; whenever they're needed?&lt;/p&gt;

&lt;p&gt;That's exactly what Auto Scaling does.&lt;/p&gt;

&lt;p&gt;Instead of this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR

Users --&amp;gt; OneServer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;AWS can do this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR

Users

--&amp;gt;ELB

ELB--&amp;gt;EC21

ELB--&amp;gt;EC22

ELB--&amp;gt;EC23

ELB--&amp;gt;EC24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now the workload is shared across multiple EC2 instances.&lt;/p&gt;

&lt;p&gt;Each server handles only part of the traffic.&lt;/p&gt;




&lt;h1&gt;
  
  
  What Is Amazon EC2 Auto Scaling?
&lt;/h1&gt;

&lt;p&gt;Amazon EC2 Auto Scaling automatically launches or removes EC2 instances depending on your application's traffic.&lt;/p&gt;

&lt;p&gt;Simply put:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;More visitors ➜ More servers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fewer visitors ➜ Fewer servers&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No manual work required.&lt;/p&gt;




&lt;h1&gt;
  
  
  Scale Out
&lt;/h1&gt;

&lt;p&gt;Suppose your website suddenly becomes popular.&lt;/p&gt;

&lt;p&gt;Traffic increases.&lt;/p&gt;

&lt;p&gt;Auto Scaling detects the increase.&lt;/p&gt;

&lt;p&gt;It automatically launches additional EC2 instances.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR

Traffic

--&amp;gt;AutoScaling

AutoScaling

--&amp;gt;EC21

AutoScaling

--&amp;gt;EC22

AutoScaling

--&amp;gt;EC23

AutoScaling

--&amp;gt;EC24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This process is called &lt;strong&gt;Scale Out&lt;/strong&gt;.&lt;/p&gt;




&lt;h1&gt;
  
  
  Scale In
&lt;/h1&gt;

&lt;p&gt;Now imagine it's midnight.&lt;/p&gt;

&lt;p&gt;Most users leave.&lt;/p&gt;

&lt;p&gt;You no longer need four servers.&lt;/p&gt;

&lt;p&gt;Keeping them running would waste money.&lt;/p&gt;

&lt;p&gt;Auto Scaling automatically terminates the extra EC2 instances.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR

TrafficDrops

--&amp;gt;AutoScaling

AutoScaling

--&amp;gt;EC21
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is called &lt;strong&gt;Scale In&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You only pay for what you actually use.&lt;/p&gt;




&lt;h1&gt;
  
  
  Auto Scaling Group
&lt;/h1&gt;

&lt;p&gt;Auto Scaling doesn't create random servers.&lt;/p&gt;

&lt;p&gt;Instead, it manages them inside something called an &lt;strong&gt;Auto Scaling Group (ASG).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An ASG follows rules that you define.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Minimum Instances → 2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Desired Instances → 3&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maximum Instances → 10&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If traffic increases, AWS can grow from:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;3 → 4 → 5 → 6 → ... → 10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If traffic decreases, it can shrink back down.&lt;/p&gt;

&lt;p&gt;Everything happens automatically.&lt;/p&gt;




&lt;h1&gt;
  
  
  Auto Scaling + Elastic Load Balancer
&lt;/h1&gt;

&lt;p&gt;One thing finally clicked for me.&lt;/p&gt;

&lt;p&gt;Auto Scaling creates servers.&lt;/p&gt;

&lt;p&gt;But...&lt;/p&gt;

&lt;p&gt;How do users know which server to use?&lt;/p&gt;

&lt;p&gt;That's where the &lt;strong&gt;Elastic Load Balancer (ELB)&lt;/strong&gt; comes in.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR

Users

--&amp;gt;ELB

ELB--&amp;gt;EC21

ELB--&amp;gt;EC22

ELB--&amp;gt;EC23

ELB--&amp;gt;EC24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Load Balancer distributes traffic.&lt;/p&gt;

&lt;p&gt;Auto Scaling creates or removes servers.&lt;/p&gt;

&lt;p&gt;Together, they make applications highly available.&lt;/p&gt;




&lt;h1&gt;
  
  
  Real-World Examples
&lt;/h1&gt;

&lt;p&gt;Auto Scaling is useful almost everywhere.&lt;/p&gt;

&lt;p&gt;Imagine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Black Friday shopping&lt;/li&gt;
&lt;li&gt; Concert ticket sales&lt;/li&gt;
&lt;li&gt; Online gaming events&lt;/li&gt;
&lt;li&gt; Netflix releasing a new season&lt;/li&gt;
&lt;li&gt; Viral social media applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Traffic suddenly increases.&lt;/p&gt;

&lt;p&gt;Instead of crashing...&lt;/p&gt;

&lt;p&gt;AWS automatically adds more servers.&lt;/p&gt;

&lt;p&gt;Once traffic drops, it removes the extra servers.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why This Saves Money
&lt;/h1&gt;

&lt;p&gt;Without Auto Scaling, you might keep ten servers running all day.&lt;/p&gt;

&lt;p&gt;Even when only one server is needed.&lt;/p&gt;

&lt;p&gt;That's expensive.&lt;/p&gt;

&lt;p&gt;With Auto Scaling:&lt;/p&gt;

&lt;p&gt;Busy hours:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;8 Servers
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Quiet hours:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2 Servers
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;AWS adjusts automatically.&lt;/p&gt;

&lt;p&gt;You only pay for the servers you actually need.&lt;/p&gt;




&lt;h1&gt;
  
  
  Benefits of Auto Scaling
&lt;/h1&gt;

&lt;p&gt;Handles sudden traffic spikes&lt;/p&gt;

&lt;p&gt;Improves application availability&lt;/p&gt;

&lt;p&gt;Prevents server overload&lt;/p&gt;

&lt;p&gt;Automatically adds or removes EC2 instances&lt;/p&gt;

&lt;p&gt;Reduces infrastructure costs&lt;/p&gt;

&lt;p&gt;Works seamlessly with Elastic Load Balancers&lt;/p&gt;




&lt;h1&gt;
  
  
  What Changed My Perspective
&lt;/h1&gt;

&lt;p&gt;Before learning Auto Scaling, I thought handling more users meant buying a more powerful server.&lt;/p&gt;

&lt;p&gt;Now I understand that's only one approach.&lt;/p&gt;

&lt;p&gt;Sometimes the better solution isn't:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A bigger server.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It's:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;More servers working together.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That small mindset shift completely changed how I think about scalable applications.&lt;/p&gt;




&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;When I first heard the term &lt;strong&gt;Amazon EC2 Auto Scaling&lt;/strong&gt;, I imagined it was just another AWS feature.&lt;/p&gt;

&lt;p&gt;Now I realize it's one of the key reasons modern cloud applications stay online during sudden traffic spikes.&lt;/p&gt;

&lt;p&gt;Instead of guessing how many servers you'll need...&lt;/p&gt;

&lt;p&gt;AWS watches your traffic for you.&lt;/p&gt;

&lt;p&gt;When demand increases, it automatically adds more servers.&lt;/p&gt;

&lt;p&gt;When demand decreases, it removes the extras.&lt;/p&gt;

&lt;p&gt;That's one of the biggest advantages of cloud computing.&lt;/p&gt;

&lt;p&gt;You don't have to build for your busiest day.&lt;/p&gt;

&lt;p&gt;AWS scales with you.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Auto Scaling automatically launches and removes EC2 instances.&lt;/li&gt;
&lt;li&gt;Scale Out adds more servers during high traffic.&lt;/li&gt;
&lt;li&gt;Scale In removes servers when traffic decreases.&lt;/li&gt;
&lt;li&gt;Auto Scaling Groups manage EC2 instances using rules.&lt;/li&gt;
&lt;li&gt;Elastic Load Balancer distributes traffic across all instances.&lt;/li&gt;
&lt;li&gt;Together, ELB and Auto Scaling build highly available applications.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;*&lt;em&gt;Thanks for reading! *&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>amazon</category>
      <category>cloudcomputing</category>
      <category>ec2</category>
    </item>
    <item>
      <title>How Does AWS Know Which Website I'm Trying to Visit? Understanding Amazon Route 53</title>
      <dc:creator>Anupa Supul</dc:creator>
      <pubDate>Fri, 31 Jul 2026 09:57:57 +0000</pubDate>
      <link>https://dev.to/anupa_supul/how-does-aws-know-which-website-im-trying-to-visit-understanding-amazon-route-53-2mco</link>
      <guid>https://dev.to/anupa_supul/how-does-aws-know-which-website-im-trying-to-visit-understanding-amazon-route-53-2mco</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fldkutdelstc2amo835hf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fldkutdelstc2amo835hf.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When I first started learning web development, opening a website felt almost magical.&lt;/p&gt;

&lt;p&gt;I would type something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;www.amazon.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Press &lt;strong&gt;Enter&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A few seconds later, the website appeared.&lt;/p&gt;

&lt;p&gt;I never stopped to think about what actually happened.&lt;/p&gt;

&lt;p&gt;How did my computer know where Amazon's servers were?&lt;/p&gt;

&lt;p&gt;How did it find the correct server among millions connected to the internet?&lt;/p&gt;

&lt;p&gt;And why don't we type an IP address like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;54.239.28.85
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;instead of simply typing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;amazon.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Those questions eventually led me to one of the first networking services in AWS:&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Amazon Route 53&lt;/strong&gt;
&lt;/h1&gt;




&lt;h1&gt;
  
  
  The Question That Made Me Curious
&lt;/h1&gt;

&lt;p&gt;Imagine I build my own MERN application.&lt;/p&gt;

&lt;p&gt;I deploy it on an EC2 instance.&lt;/p&gt;

&lt;p&gt;AWS gives me a public IP address like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;18.142.120.54
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Technically, people can visit my application using that IP.&lt;/p&gt;

&lt;p&gt;But let's be honest...&lt;/p&gt;

&lt;p&gt;Nobody wants to remember numbers like that.&lt;/p&gt;

&lt;p&gt;It's much easier to visit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;myportfolio.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;myapp.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That made me wonder:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;How does my computer know that "myapp.com" actually means "18.142.120.54"?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  The Phone Contact Analogy
&lt;/h1&gt;

&lt;p&gt;This example made everything click for me.&lt;/p&gt;

&lt;p&gt;Imagine your best friend has this phone number.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;+94 71 123 4567
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Do you memorize the number?&lt;/p&gt;

&lt;p&gt;Probably not.&lt;/p&gt;

&lt;p&gt;Instead, you save it as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;John
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now whenever you want to call him, you simply tap:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;John
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your phone automatically finds the correct phone number.&lt;/p&gt;

&lt;p&gt;You don't need to remember it.&lt;/p&gt;

&lt;p&gt;The internet works almost the same way.&lt;/p&gt;

&lt;p&gt;Instead of remembering:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;18.142.120.54
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;we simply remember:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mywebsite.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Something translates that easy-to-read name into the server's IP address.&lt;/p&gt;

&lt;p&gt;That "something" is called &lt;strong&gt;DNS (Domain Name System).&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  What Is Amazon Route 53?
&lt;/h1&gt;

&lt;p&gt;Amazon Route 53 is AWS's managed &lt;strong&gt;DNS service&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Its job is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Convert human-friendly domain names into IP addresses that computers understand.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;18.142.120.54
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We simply type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mywebsite.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Route 53 performs the translation and sends us to the correct server.&lt;/p&gt;




&lt;h1&gt;
  
  
  What Actually Happens?
&lt;/h1&gt;

&lt;p&gt;Let's say I open:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;www.myportfolio.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here's what happens behind the scenes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR

A[User Types myportfolio.com]

--&amp;gt;B[Browser]

--&amp;gt;C[Amazon Route53 DNS Lookup]

--&amp;gt;D[Returns IP Address]

--&amp;gt;E[EC2 Server]

--&amp;gt;F[Website Loads]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The entire process usually takes only milliseconds.&lt;/p&gt;




&lt;h1&gt;
  
  
  A Real AWS Example
&lt;/h1&gt;

&lt;p&gt;Suppose I host my MERN application on an EC2 instance in Singapore.&lt;/p&gt;

&lt;p&gt;Its public IP address is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;18.xxx.xxx.xxx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Without Route 53, users would have to visit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;18.xxx.xxx.xxx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With Route 53:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR

A[myportfolio.com]

--&amp;gt;B[Amazon Route53]

--&amp;gt;C[18.xxx.xxx.xxx]

--&amp;gt;D[EC2 Instance]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Much easier.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why Is It Called Route 53?
&lt;/h1&gt;

&lt;p&gt;One thing that caught my attention was the number &lt;strong&gt;53&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It's actually named after &lt;strong&gt;Port 53&lt;/strong&gt;, the standard network port used for DNS communication.&lt;/p&gt;

&lt;p&gt;A small detail, but one I found interesting.&lt;/p&gt;




&lt;h1&gt;
  
  
  Route 53 Does More Than DNS
&lt;/h1&gt;

&lt;p&gt;Initially, I thought Route 53 only converted domain names into IP addresses.&lt;/p&gt;

&lt;p&gt;But it can also:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Route traffic globally&lt;/li&gt;
&lt;li&gt; Perform Health Checks&lt;/li&gt;
&lt;li&gt; Fail over to healthy resources&lt;/li&gt;
&lt;li&gt; Route traffic intelligently&lt;/li&gt;
&lt;li&gt; Improve application availability&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Where Route 53 Fits in AWS
&lt;/h1&gt;

&lt;p&gt;As I learned more AWS services, I realized Route 53 is usually the very first AWS service involved when someone opens a website.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR

User

--&amp;gt;Route53

--&amp;gt;CloudFront

--&amp;gt;LoadBalancer

--&amp;gt;EC2

--&amp;gt;Database
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every service has its own responsibility.&lt;/p&gt;

&lt;p&gt;Route 53 simply helps users find the right destination.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why Route 53 Matters
&lt;/h1&gt;

&lt;p&gt;Without DNS:&lt;/p&gt;

&lt;p&gt;Users must remember IP addresses.&lt;/p&gt;

&lt;p&gt;With Route 53:&lt;/p&gt;

&lt;p&gt;Easy-to-remember domain names&lt;/p&gt;

&lt;p&gt;Highly available DNS&lt;/p&gt;

&lt;p&gt;Faster routing&lt;/p&gt;

&lt;p&gt;Health monitoring&lt;/p&gt;

&lt;p&gt;Traffic routing policies&lt;/p&gt;

&lt;p&gt;Works with almost every AWS service&lt;/p&gt;




&lt;h1&gt;
  
  
  What Changed My Perspective
&lt;/h1&gt;

&lt;p&gt;Before learning AWS, I thought typing a website name directly connected me to the server.&lt;/p&gt;

&lt;p&gt;Now I understand there's an important translation happening first.&lt;/p&gt;

&lt;p&gt;Someone has to convert:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mywebsite.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;into&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;18.xxx.xxx.xxx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's exactly what DNS does.&lt;/p&gt;

&lt;p&gt;And in AWS, that job belongs to &lt;strong&gt;Amazon Route 53&lt;/strong&gt;.&lt;/p&gt;




&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;When I first heard the name &lt;strong&gt;Route 53&lt;/strong&gt;, I had no idea what it actually did.&lt;/p&gt;

&lt;p&gt;Now I think of it much more simply.&lt;/p&gt;

&lt;p&gt;It's like the contact list on my phone.&lt;/p&gt;

&lt;p&gt;I don't remember phone numbers.&lt;/p&gt;

&lt;p&gt;I remember names.&lt;/p&gt;

&lt;p&gt;Similarly, my browser doesn't magically know where a website lives.&lt;/p&gt;

&lt;p&gt;Route 53 translates a human-friendly domain name into the server's actual address.&lt;/p&gt;

&lt;p&gt;Sometimes the most important AWS services are the ones quietly working behind the scenes.&lt;/p&gt;

&lt;p&gt;And Route 53 is definitely one of them.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Route 53 is AWS's managed DNS service.&lt;/li&gt;
&lt;li&gt;It converts domain names into IP addresses.&lt;/li&gt;
&lt;li&gt;It makes websites easier to access.&lt;/li&gt;
&lt;li&gt;It supports health checks and intelligent routing.&lt;/li&gt;
&lt;li&gt;It's usually the first AWS service involved when visiting a website.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;*&lt;em&gt;Thanks for reading! *&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>amazon</category>
      <category>route</category>
    </item>
    <item>
      <title>Why Is Netflix So Fast Everywhere? Understanding Amazon CloudFront</title>
      <dc:creator>Anupa Supul</dc:creator>
      <pubDate>Wed, 22 Jul 2026 10:27:13 +0000</pubDate>
      <link>https://dev.to/anupa_supul/why-is-netflix-so-fast-everywhere-understanding-amazon-cloudfront-1bnh</link>
      <guid>https://dev.to/anupa_supul/why-is-netflix-so-fast-everywhere-understanding-amazon-cloudfront-1bnh</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frcr40kvdavbwxh0cgyp3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frcr40kvdavbwxh0cgyp3.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When I first started learning AWS, I thought website speed mostly depended on one thing:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A powerful server.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;More CPU.&lt;/p&gt;

&lt;p&gt;More memory.&lt;/p&gt;

&lt;p&gt;Better hardware.&lt;/p&gt;

&lt;p&gt;Problem solved.&lt;/p&gt;

&lt;p&gt;Or at least that's what I thought.&lt;/p&gt;

&lt;p&gt;Then a question hit me.&lt;/p&gt;

&lt;p&gt;Netflix loads quickly.&lt;/p&gt;

&lt;p&gt;YouTube loads quickly.&lt;/p&gt;

&lt;p&gt;Amazon loads quickly.&lt;/p&gt;

&lt;p&gt;But their servers aren't sitting in my room.&lt;/p&gt;

&lt;p&gt;In fact, many of them are located thousands of kilometers away.&lt;/p&gt;

&lt;p&gt;So why doesn't every click feel slow?&lt;/p&gt;

&lt;p&gt;That question eventually led me to &lt;strong&gt;Amazon CloudFront&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Thought That Started It
&lt;/h2&gt;

&lt;p&gt;Imagine I host a website on AWS in Singapore.&lt;/p&gt;

&lt;p&gt;Now imagine someone opens that website from Sri Lanka.&lt;/p&gt;

&lt;p&gt;Every image.&lt;/p&gt;

&lt;p&gt;Every CSS file.&lt;/p&gt;

&lt;p&gt;Every JavaScript file.&lt;/p&gt;

&lt;p&gt;Every request.&lt;/p&gt;

&lt;p&gt;Has to travel all the way to Singapore and back.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR
    USER[User in Sri Lanka]
    SERVER[AWS Server in Singapore]

    USER --&amp;gt; SERVER
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That doesn't sound very efficient.&lt;/p&gt;

&lt;p&gt;And it gets even worse when thousands or millions of users are involved.&lt;/p&gt;

&lt;p&gt;So I started wondering:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How do global companies deliver content so quickly to people all around the world?&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Concept That Finally Clicked
&lt;/h2&gt;

&lt;p&gt;The simplest way I understand CloudFront is this:&lt;/p&gt;

&lt;p&gt;Imagine there is only one library in an entire country.&lt;/p&gt;

&lt;p&gt;Every student has to travel there to borrow a book.&lt;/p&gt;

&lt;p&gt;It works.&lt;/p&gt;

&lt;p&gt;But it's slow.&lt;/p&gt;

&lt;p&gt;Now imagine small branches of that library are opened across different cities.&lt;/p&gt;

&lt;p&gt;Students can get popular books from a nearby branch instead of traveling to the main library.&lt;/p&gt;

&lt;p&gt;That's basically what CloudFront does.&lt;/p&gt;

&lt;p&gt;Instead of forcing every user to communicate with the original server, AWS places copies of content closer to users.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is Amazon CloudFront?
&lt;/h2&gt;

&lt;p&gt;Amazon CloudFront is AWS's Content Delivery Network (CDN).&lt;/p&gt;

&lt;p&gt;Its job is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Deliver content from the location closest to the user whenever possible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Rather than always requesting files from the original server, CloudFront stores frequently requested content in locations around the world called &lt;strong&gt;Edge Locations&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;When a user requests that content again, it can be delivered from a nearby Edge Location instead of the original AWS Region.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Simple Example
&lt;/h2&gt;

&lt;p&gt;Suppose I host a portfolio website.&lt;/p&gt;

&lt;p&gt;The website contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Images&lt;/li&gt;
&lt;li&gt;CSS files&lt;/li&gt;
&lt;li&gt;JavaScript files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without CloudFront:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR
    USER[User]
    SERVER[Singapore Server]

    USER --&amp;gt; SERVER
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every request makes the full journey.&lt;/p&gt;




&lt;p&gt;With CloudFront:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR
    USER[User]

    EDGE[CloudFront Edge Location]

    SERVER[Singapore Server]

    USER --&amp;gt; EDGE
    EDGE --&amp;gt; SERVER
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the content is already cached, CloudFront delivers it immediately.&lt;/p&gt;

&lt;p&gt;Fewer long-distance trips.&lt;/p&gt;

&lt;p&gt;Faster loading times.&lt;/p&gt;

&lt;p&gt;Better experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Are Edge Locations?
&lt;/h2&gt;

&lt;p&gt;While learning AWS Global Infrastructure, I came across three important concepts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Regions&lt;/li&gt;
&lt;li&gt;Availability Zones&lt;/li&gt;
&lt;li&gt;Edge Locations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CloudFront uses Edge Locations to serve content closer to users.&lt;/p&gt;

&lt;p&gt;Think of them as small delivery centers spread around the world.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart TD
    USER[User]

    EDGE[Nearest Edge Location]

    ORIGIN[Origin Server]

    USER --&amp;gt; EDGE
    EDGE --&amp;gt; ORIGIN
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When content is already available at the Edge Location, users get it much faster.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;Before learning CloudFront, I thought performance was mainly about the server.&lt;/p&gt;

&lt;p&gt;Now I realize distance is part of the equation too.&lt;/p&gt;

&lt;p&gt;Even a powerful server can't overcome physics.&lt;/p&gt;

&lt;p&gt;Data still needs to travel.&lt;/p&gt;

&lt;p&gt;CloudFront helps reduce that distance from the user's perspective.&lt;/p&gt;

&lt;p&gt;And when you're serving users across different countries, that makes a huge difference.&lt;/p&gt;




&lt;h2&gt;
  
  
  CloudFront + S3
&lt;/h2&gt;

&lt;p&gt;One of the most common AWS architectures combines CloudFront with Amazon S3.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR
    USER[Users]

    CF[CloudFront]

    S3[Amazon S3 Bucket]

    USER --&amp;gt; CF
    CF --&amp;gt; S3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This setup is commonly used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Static websites&lt;/li&gt;
&lt;li&gt;Images&lt;/li&gt;
&lt;li&gt;Downloads&lt;/li&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;li&gt;Portfolio sites&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  CloudFront + Modern Web Applications
&lt;/h2&gt;

&lt;p&gt;CloudFront can also work with dynamic applications.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR
    USER[Users]

    CF[CloudFront]

    ELB[Load Balancer]

    EC2[EC2 Instances]

    USER --&amp;gt; CF
    CF --&amp;gt; ELB
    ELB --&amp;gt; EC2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Seeing architectures like this helped me realize that AWS services aren't isolated tools.&lt;/p&gt;

&lt;p&gt;They work together to solve larger problems.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Is Netflix So Fast?
&lt;/h2&gt;

&lt;p&gt;This was the original question that made me curious.&lt;/p&gt;

&lt;p&gt;Streaming platforms serve enormous amounts of content every second.&lt;/p&gt;

&lt;p&gt;Imagine if every user had to fetch videos directly from a single server.&lt;/p&gt;

&lt;p&gt;The experience would be terrible.&lt;/p&gt;

&lt;p&gt;Instead, content is distributed closer to users.&lt;/p&gt;

&lt;p&gt;Popular files are cached.&lt;/p&gt;

&lt;p&gt;Travel distance is reduced.&lt;/p&gt;

&lt;p&gt;Latency drops.&lt;/p&gt;

&lt;p&gt;The result is a much smoother experience.&lt;/p&gt;

&lt;p&gt;While Netflix has a far more complex infrastructure than this simplified example, the underlying idea is very similar:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Bring content closer to users.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Benefits of Amazon CloudFront
&lt;/h2&gt;

&lt;p&gt;After learning about CloudFront, these are the biggest benefits that stood out to me:&lt;/p&gt;

&lt;p&gt;✅ Faster content delivery&lt;/p&gt;

&lt;p&gt;✅ Lower latency&lt;/p&gt;

&lt;p&gt;✅ Better user experience&lt;/p&gt;

&lt;p&gt;✅ Reduced load on origin servers&lt;/p&gt;

&lt;p&gt;✅ Global content distribution&lt;/p&gt;

&lt;p&gt;✅ Improved scalability&lt;/p&gt;




&lt;h2&gt;
  
  
  What Changed My Perspective
&lt;/h2&gt;

&lt;p&gt;Before learning AWS, I thought website performance was mostly about powerful servers.&lt;/p&gt;

&lt;p&gt;Then I learned about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Load Balancers&lt;/li&gt;
&lt;li&gt;Auto Scaling&lt;/li&gt;
&lt;li&gt;CloudFront&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And I realized something.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sometimes the fastest solution isn't a bigger server.&lt;/p&gt;

&lt;p&gt;It's bringing content closer to the user.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That simple idea is what made CloudFront click for me.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;When I first heard about Amazon CloudFront, it sounded like just another AWS service.&lt;/p&gt;

&lt;p&gt;Now I see it differently.&lt;/p&gt;

&lt;p&gt;It's AWS's answer to a simple problem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How do you make a website feel fast for users all around the world?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not by making people travel farther.&lt;/p&gt;

&lt;p&gt;By bringing content closer to them.&lt;/p&gt;

&lt;p&gt;And honestly, that's not something I ever thought about when I first started learning web development.&lt;/p&gt;




&lt;p&gt;ops&lt;/p&gt;

</description>
      <category>cloudcomputing</category>
      <category>aws</category>
      <category>cloudfront</category>
      <category>devops</category>
    </item>
    <item>
      <title>How AWS Security Groups Finally Made Sense to Me</title>
      <dc:creator>Anupa Supul</dc:creator>
      <pubDate>Wed, 22 Jul 2026 10:11:43 +0000</pubDate>
      <link>https://dev.to/anupa_supul/how-aws-security-groups-finally-made-sense-to-me-5770</link>
      <guid>https://dev.to/anupa_supul/how-aws-security-groups-finally-made-sense-to-me-5770</guid>
      <description>&lt;h1&gt;
  
  
  🔐 How AWS Security Groups Finally Made Sense to Me
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;The AWS feature that taught me security isn't just about passwords and encryption.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa98qqsrzp17rue7kcjue.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa98qqsrzp17rue7kcjue.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When I launched my first EC2 instance, AWS asked me to configure something called a &lt;strong&gt;Security Group&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;At the time, I didn't think much about it.&lt;/p&gt;

&lt;p&gt;I simply opened the ports AWS recommended, launched the server, and moved on.&lt;/p&gt;

&lt;p&gt;The application worked.&lt;/p&gt;

&lt;p&gt;The website loaded.&lt;/p&gt;

&lt;p&gt;Everything seemed fine.&lt;/p&gt;

&lt;p&gt;But as I continued learning AWS, I kept seeing Security Groups appear everywhere.&lt;/p&gt;

&lt;p&gt;EC2 instances had them.&lt;/p&gt;

&lt;p&gt;Databases had them.&lt;/p&gt;

&lt;p&gt;Load Balancers used them.&lt;/p&gt;

&lt;p&gt;That's when I started wondering:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What exactly are Security Groups, and why are they so important?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Mistake Most Beginners Make
&lt;/h2&gt;

&lt;p&gt;When I first heard the word &lt;em&gt;security&lt;/em&gt;, I immediately thought about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Passwords&lt;/li&gt;
&lt;li&gt;Encryption&lt;/li&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Antivirus software&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Security Groups are different.&lt;/p&gt;

&lt;p&gt;They answer a much simpler question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Who is allowed to communicate with my AWS resources?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And surprisingly, that single question is incredibly important.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Real Scenario: Hosting a Website
&lt;/h2&gt;

&lt;p&gt;Imagine I deploy a MERN application on an EC2 instance.&lt;/p&gt;

&lt;p&gt;Users need to access the website through their browsers.&lt;/p&gt;

&lt;p&gt;For that to happen, the server must allow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTP (Port 80)&lt;/li&gt;
&lt;li&gt;HTTPS (Port 443)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart TD
    U[User]
    SG[Security Group]
    EC2[EC2 Instance]

    U --&amp;gt; SG
    SG --&amp;gt; EC2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Without those ports being open, nobody can access the application.&lt;/p&gt;

&lt;p&gt;Even if the server is running perfectly, it remains unreachable.&lt;/p&gt;

&lt;p&gt;This was my first realization:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Security Groups don't make resources public.&lt;/p&gt;

&lt;p&gt;They decide whether traffic is allowed to reach them.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  So What Is a Security Group?
&lt;/h2&gt;

&lt;p&gt;The simplest explanation I found is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;A Security Group acts as a virtual firewall for AWS resources.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It controls two types of traffic:&lt;/p&gt;

&lt;h3&gt;
  
  
  Inbound Rules
&lt;/h3&gt;

&lt;p&gt;Traffic coming into a resource.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Users visiting a website&lt;/li&gt;
&lt;li&gt;Developers connecting through SSH&lt;/li&gt;
&lt;li&gt;Applications calling APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Outbound Rules
&lt;/h3&gt;

&lt;p&gt;Traffic leaving a resource.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Calling external APIs&lt;/li&gt;
&lt;li&gt;Downloading updates&lt;/li&gt;
&lt;li&gt;Connecting to databases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every request is checked against these rules.&lt;/p&gt;

&lt;p&gt;If a rule allows it, traffic passes.&lt;/p&gt;

&lt;p&gt;If not, AWS blocks it automatically.&lt;/p&gt;




&lt;h2&gt;
  
  
  The SSH Example
&lt;/h2&gt;

&lt;p&gt;This is where Security Groups became very practical for me.&lt;/p&gt;

&lt;p&gt;Suppose I want to connect to my EC2 instance using SSH.&lt;/p&gt;

&lt;p&gt;SSH uses:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Port 22&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart TD
    DEV[Developer]
    SSH[SSH Port 22]
    SG[Security Group]
    EC2[EC2 Instance]

    DEV --&amp;gt; SSH
    SSH --&amp;gt; SG
    SG --&amp;gt; EC2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A common beginner mistake is allowing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;0.0.0.0/0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Which means:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Anyone on the internet can attempt to connect.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It works.&lt;/p&gt;

&lt;p&gt;But it's not ideal.&lt;/p&gt;

&lt;p&gt;A safer approach is allowing only your own public IP address.&lt;/p&gt;

&lt;p&gt;That way, only you can access the server.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Database Scenario That Made Everything Click
&lt;/h2&gt;

&lt;p&gt;This was the example that finally made Security Groups click for me.&lt;/p&gt;

&lt;p&gt;Imagine a simple application architecture:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart TD
    USER[Users]

    FE[Frontend]

    API[Backend API]

    DB[(Database)]

    USER --&amp;gt; FE
    FE --&amp;gt; API
    API --&amp;gt; DB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now ask yourself:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Should internet users connect directly to the database?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Definitely not.&lt;/p&gt;

&lt;p&gt;The database should only accept requests from the backend server.&lt;/p&gt;

&lt;p&gt;Instead of this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart TD
    INTERNET[Internet Users]
    DB[(Database)]

    INTERNET -. Blocked ❌ .-&amp;gt; DB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We want this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart TD
    FE[Frontend]
    API[Backend API]
    DB[(Database)]

    FE --&amp;gt; API
    API --&amp;gt; DB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Security Groups make this possible by controlling exactly who can communicate with what.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Security Groups Are Stateful
&lt;/h2&gt;

&lt;p&gt;One AWS concept that surprised me was that Security Groups are &lt;strong&gt;stateful&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Imagine a user sends a request to an EC2 instance.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR
    USER[User]

    SG[Security Group]

    EC2[EC2 Instance]

    USER --&amp;gt; SG
    SG --&amp;gt; EC2

    EC2 --&amp;gt; USER
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the inbound request is allowed, the response is automatically allowed back.&lt;/p&gt;

&lt;p&gt;You don't need to create a separate return rule.&lt;/p&gt;

&lt;p&gt;AWS handles that automatically.&lt;/p&gt;

&lt;p&gt;This makes Security Groups much easier to manage.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Real-World AWS Architecture
&lt;/h2&gt;

&lt;p&gt;A simple production setup might look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart TD
    USER[Users]

    SG1[Web Security Group]

    EC2[Backend Server]

    SG2[Database Security Group]

    DB[(Database)]

    USER --&amp;gt; SG1
    SG1 --&amp;gt; EC2

    EC2 --&amp;gt; SG2
    SG2 --&amp;gt; DB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Users can access the backend server.&lt;/li&gt;
&lt;li&gt;The backend server can access the database.&lt;/li&gt;
&lt;li&gt;Users cannot access the database directly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is one of the most common security patterns you'll see in AWS architectures.&lt;/p&gt;




&lt;h2&gt;
  
  
  Security Is Not Just About Applications
&lt;/h2&gt;

&lt;p&gt;Before learning AWS, I thought security mostly happened inside the application.&lt;/p&gt;

&lt;p&gt;Things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User authentication&lt;/li&gt;
&lt;li&gt;Password hashing&lt;/li&gt;
&lt;li&gt;JWT tokens&lt;/li&gt;
&lt;li&gt;Role-based access control&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are still important.&lt;/p&gt;

&lt;p&gt;But AWS taught me something else:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Security also exists at the infrastructure level.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Even a perfectly written application can become vulnerable if network access isn't configured properly.&lt;/p&gt;

&lt;p&gt;Security Groups provide one of the first layers of defense.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Changed My Perspective
&lt;/h2&gt;

&lt;p&gt;The first time I configured a Security Group, it felt like just another setup step before launching an instance.&lt;/p&gt;

&lt;p&gt;Now I see it differently.&lt;/p&gt;

&lt;p&gt;Every rule is answering a simple question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Who should be allowed to communicate with this resource?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The more I learn AWS, the more I realize that cloud security isn't about blocking everything.&lt;/p&gt;

&lt;p&gt;It's about allowing only what is necessary.&lt;/p&gt;

&lt;p&gt;And Security Groups are one of the simplest and most effective tools AWS provides for doing exactly that.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Security Groups looked complicated when I first encountered them.&lt;/p&gt;

&lt;p&gt;Today, I think of them much more simply.&lt;/p&gt;

&lt;p&gt;They're the gatekeepers of AWS resources.&lt;/p&gt;

&lt;p&gt;They decide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who can enter&lt;/li&gt;
&lt;li&gt;What traffic is allowed&lt;/li&gt;
&lt;li&gt;What traffic should be blocked&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And understanding that concept helped me appreciate why Security Groups appear in almost every AWS architecture diagram.&lt;/p&gt;

&lt;p&gt;Sometimes the most important AWS services aren't the most exciting ones.&lt;/p&gt;

&lt;p&gt;They're the ones quietly protecting everything behind the scenes.&lt;/p&gt;




</description>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>Why Doesn't Everyone Connect to the Same Server? Understanding AWS Elastic Load Balancer (ELB)</title>
      <dc:creator>Anupa Supul</dc:creator>
      <pubDate>Mon, 20 Jul 2026 05:51:01 +0000</pubDate>
      <link>https://dev.to/anupa_supul/why-doesnt-everyone-connect-to-the-same-server-understanding-aws-elastic-load-balancer-elb-2c33</link>
      <guid>https://dev.to/anupa_supul/why-doesnt-everyone-connect-to-the-same-server-understanding-aws-elastic-load-balancer-elb-2c33</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8aab24m3v30rf3ypxs3v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8aab24m3v30rf3ypxs3v.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While learning AWS, I noticed something interesting.&lt;/p&gt;

&lt;p&gt;In almost every AWS architecture diagram, there was a service sitting in front of multiple servers.&lt;/p&gt;

&lt;p&gt;It looked something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Users
   │
   ▼
Load Balancer
   │
 ┌─┴─┐
 ▼   ▼
EC2 EC2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At first, I didn't understand why it was there.&lt;/p&gt;

&lt;p&gt;I kept thinking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Why can't users just connect directly to the server?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After all, if the server is running my application, shouldn't users talk to it directly?&lt;/p&gt;

&lt;p&gt;The more I learned, the more I realized that this simple service solves a huge problem.&lt;/p&gt;

&lt;p&gt;And that's how I discovered AWS Elastic Load Balancer (ELB).&lt;/p&gt;




&lt;h2&gt;
  
  
  The Question That Made Me Curious
&lt;/h2&gt;

&lt;p&gt;Imagine I build a website.&lt;/p&gt;

&lt;p&gt;On a normal day, maybe &lt;strong&gt;100 people&lt;/strong&gt; visit it.&lt;/p&gt;

&lt;p&gt;One server is enough.&lt;/p&gt;

&lt;p&gt;Everything works smoothly.&lt;/p&gt;

&lt;p&gt;Now imagine my website suddenly goes viral.&lt;/p&gt;

&lt;p&gt;Thousands of people start visiting at the same time.&lt;/p&gt;

&lt;p&gt;What happens?&lt;/p&gt;

&lt;p&gt;Every request goes to the same server.&lt;/p&gt;

&lt;p&gt;Eventually, that server becomes overwhelmed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pages become slow&lt;/li&gt;
&lt;li&gt;Users start waiting&lt;/li&gt;
&lt;li&gt;Requests fail&lt;/li&gt;
&lt;li&gt;Visitors leave&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's when I realized:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The problem isn't just having servers.&lt;/p&gt;

&lt;p&gt;It's deciding how traffic should be shared between them.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Coffee Shop Analogy
&lt;/h2&gt;

&lt;p&gt;This was the example that made everything click for me.&lt;/p&gt;

&lt;p&gt;Imagine a coffee shop with only one cashier.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;500 Customers
      │
      ▼
  1 Cashier
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The line becomes huge.&lt;/p&gt;

&lt;p&gt;Customers wait.&lt;/p&gt;

&lt;p&gt;Some leave before getting served.&lt;/p&gt;

&lt;p&gt;Now imagine adding three more cashiers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;500 Customers
      │
      ▼
 ┌─────────┐
 │ Manager │
 └─────────┘
  │  │  │  │
  ▼  ▼  ▼  ▼
 C1 C2 C3 C4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The manager directs customers to whichever cashier is available.&lt;/p&gt;

&lt;p&gt;Nobody has to choose a cashier manually.&lt;/p&gt;

&lt;p&gt;The workload gets distributed automatically.&lt;/p&gt;

&lt;p&gt;That manager is basically what a Load Balancer does.&lt;/p&gt;




&lt;h2&gt;
  
  
  So... What Is an Elastic Load Balancer?
&lt;/h2&gt;

&lt;p&gt;The simplest way I understand it is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;An Elastic Load Balancer automatically distributes incoming traffic across multiple servers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of sending every user to one server, AWS spreads the requests across several servers.&lt;/p&gt;

&lt;p&gt;Benefits include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved performance&lt;/li&gt;
&lt;li&gt;Higher availability&lt;/li&gt;
&lt;li&gt;Better fault tolerance&lt;/li&gt;
&lt;li&gt;Handling traffic spikes&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Without a Load Balancer
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;10,000 Users
      │
      ▼
     EC2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One server has to handle everything.&lt;/p&gt;

&lt;p&gt;If it fails, the application becomes unavailable.&lt;/p&gt;




&lt;h2&gt;
  
  
  With a Load Balancer
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;10,000 Users
       │
       ▼
 Load Balancer
   │    │    │
   ▼    ▼    ▼
 EC2  EC2  EC2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Traffic gets shared.&lt;/p&gt;

&lt;p&gt;Each server handles a smaller amount of work.&lt;/p&gt;

&lt;p&gt;The application stays responsive.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Happens If a Server Fails?
&lt;/h2&gt;

&lt;p&gt;Without a Load Balancer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Users
  │
  ▼
Failed Server ❌
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Website unavailable.&lt;/p&gt;

&lt;p&gt;With a Load Balancer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Users
  │
  ▼
Load Balancer
 │     │     │
 ▼     ▼     ▼
❌    EC2   EC2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Traffic automatically moves to healthy servers.&lt;/p&gt;

&lt;p&gt;Most users never notice anything happened.&lt;/p&gt;




&lt;h2&gt;
  
  
  How ELB Works With Auto Scaling
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Internet Users
       │
       ▼
 Load Balancer
       │
 ┌─────┼─────┐
 ▼     ▼     ▼
EC2   EC2   EC2
       │
       ▼
 Auto Scaling
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Auto Scaling decides how many servers exist.&lt;/li&gt;
&lt;li&gt;ELB decides where traffic goes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, they keep applications scalable and highly available.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;When I first saw Elastic Load Balancer in AWS diagrams, it looked like just another service with a complicated name.&lt;/p&gt;

&lt;p&gt;Now I see it much more simply.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"If thousands of users arrive at the same time, who decides where each request should go?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's exactly the problem ELB solves.&lt;/p&gt;

&lt;p&gt;And for me, it was another reminder that cloud computing isn't just about servers.&lt;/p&gt;

&lt;p&gt;It's about designing systems that continue working even when demand grows.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>softwareengineering</category>
      <category>devops</category>
    </item>
    <item>
      <title>Understanding Amazon Route 53: How the Internet Finds Your Website</title>
      <dc:creator>Anupa Supul</dc:creator>
      <pubDate>Fri, 10 Jul 2026 11:00:15 +0000</pubDate>
      <link>https://dev.to/anupa_supul/understanding-amazon-route-53-how-the-internet-finds-your-website-1hi9</link>
      <guid>https://dev.to/anupa_supul/understanding-amazon-route-53-how-the-internet-finds-your-website-1hi9</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fupu6kbegs4l0zh7j42ra.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fupu6kbegs4l0zh7j42ra.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;When I first started learning web development, I never really thought about what happened after typing a website address into my browser.&lt;/p&gt;

&lt;p&gt;For example, if I typed:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.amazon.com" rel="noopener noreferrer"&gt;www.amazon.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;or&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.google.com" rel="noopener noreferrer"&gt;www.google.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;the website would simply open.&lt;/p&gt;

&lt;p&gt;It felt almost like magic.&lt;/p&gt;

&lt;p&gt;But one day, while learning AWS, I stopped and asked myself:&lt;/p&gt;

&lt;p&gt;"How does my computer know where this website actually is?"&lt;/p&gt;

&lt;p&gt;After all, computers don't understand names like google.com or amazon.com.&lt;/p&gt;

&lt;p&gt;They understand IP addresses.&lt;/p&gt;

&lt;p&gt;So who translates a website name into an IP address?&lt;/p&gt;

&lt;p&gt;That's when I discovered Amazon Route 53 and, more importantly, learned about DNS (Domain Name System).&lt;/p&gt;

&lt;p&gt;Before Learning DNS...&lt;/p&gt;

&lt;p&gt;To be honest, I assumed typing a website name was enough.&lt;/p&gt;

&lt;p&gt;I thought my browser somehow knew where every website lived.&lt;/p&gt;

&lt;p&gt;But that's not how the internet works.&lt;/p&gt;

&lt;p&gt;Every website has an IP address, something like this:&lt;/p&gt;

&lt;p&gt;54.239.28.85&lt;/p&gt;

&lt;p&gt;Imagine having to remember IP addresses for every website you visit.&lt;/p&gt;

&lt;p&gt;Instead of typing:&lt;/p&gt;

&lt;p&gt;google.com&lt;/p&gt;

&lt;p&gt;you would have to type:&lt;/p&gt;

&lt;p&gt;142.250.190.78&lt;/p&gt;

&lt;p&gt;That would be nearly impossible.&lt;/p&gt;

&lt;p&gt;Thankfully, DNS exists.&lt;/p&gt;

&lt;p&gt;What Is DNS?&lt;/p&gt;

&lt;p&gt;The simplest way I understand DNS is this:&lt;/p&gt;

&lt;p&gt;DNS is like the internet's phonebook.&lt;/p&gt;

&lt;p&gt;Instead of remembering someone's phone number, you save their name in your contacts.&lt;/p&gt;

&lt;p&gt;When you tap their name, your phone finds the correct number automatically.&lt;/p&gt;

&lt;p&gt;DNS works the same way.&lt;/p&gt;

&lt;p&gt;Instead of remembering an IP address, we simply type a domain name.&lt;/p&gt;

&lt;p&gt;DNS finds the correct IP address for us.&lt;/p&gt;

&lt;p&gt;That simple analogy made everything click.&lt;/p&gt;

&lt;p&gt;So... What Is Amazon Route 53?&lt;/p&gt;

&lt;p&gt;Once I understood DNS, Route 53 became much easier to understand.&lt;/p&gt;

&lt;p&gt;The easiest way I remember it is:&lt;/p&gt;

&lt;p&gt;Amazon Route 53 is AWS's DNS service.&lt;/p&gt;

&lt;p&gt;Its main job is to help users reach the correct website.&lt;/p&gt;

&lt;p&gt;When someone types:&lt;/p&gt;

&lt;p&gt;mywebsite.com&lt;/p&gt;

&lt;p&gt;Route 53 helps translate that name into the IP address of the server hosting the website.&lt;/p&gt;

&lt;p&gt;Without DNS, our browsers wouldn't know where to send the request.&lt;/p&gt;

&lt;p&gt;A Simple Example&lt;/p&gt;

&lt;p&gt;Imagine I've deployed my MERN application on an EC2 instance.&lt;/p&gt;

&lt;p&gt;The server has an IP address like this:&lt;/p&gt;

&lt;p&gt;13.229.xxx.xxx&lt;/p&gt;

&lt;p&gt;Technically, visitors could use that IP address to access my website.&lt;/p&gt;

&lt;p&gt;But let's be honest...&lt;/p&gt;

&lt;p&gt;Which is easier to remember?&lt;/p&gt;

&lt;p&gt;13.229.xxx.xxx&lt;/p&gt;

&lt;p&gt;or&lt;/p&gt;

&lt;p&gt;myportfolio.com&lt;/p&gt;

&lt;p&gt;The answer is obvious.&lt;/p&gt;

&lt;p&gt;Route 53 connects the domain name with the server's IP address.&lt;/p&gt;

&lt;p&gt;The Journey of a Website Request&lt;/p&gt;

&lt;p&gt;This was one of my favorite things to learn because it finally showed me what happens behind the scenes.&lt;/p&gt;

&lt;p&gt;When I type a website into my browser:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.mywebsite.com" rel="noopener noreferrer"&gt;www.mywebsite.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;the process looks something like this:&lt;/p&gt;

&lt;p&gt;You&lt;br&gt;
 │&lt;br&gt;
 ▼&lt;br&gt;
Browser&lt;br&gt;
 │&lt;br&gt;
 ▼&lt;br&gt;
DNS (Route 53)&lt;br&gt;
 │&lt;br&gt;
 ▼&lt;br&gt;
Find Server IP Address&lt;br&gt;
 │&lt;br&gt;
 ▼&lt;br&gt;
AWS Server (EC2)&lt;br&gt;
 │&lt;br&gt;
 ▼&lt;br&gt;
Website Loads&lt;/p&gt;

&lt;p&gt;The whole process happens in just a few milliseconds.&lt;/p&gt;

&lt;p&gt;As users, we hardly even notice it.&lt;/p&gt;

&lt;p&gt;Why Is It Called Route 53?&lt;/p&gt;

&lt;p&gt;This was a question I was curious about.&lt;/p&gt;

&lt;p&gt;It turns out the number 53 comes from Port 53, the standard network port used by DNS.&lt;/p&gt;

&lt;p&gt;Once I learned that, the name suddenly made much more sense.&lt;/p&gt;

&lt;p&gt;More Than Just Finding Websites&lt;/p&gt;

&lt;p&gt;As I kept learning, I realized Route 53 can do much more than simply translate domain names.&lt;/p&gt;

&lt;p&gt;It can also:&lt;/p&gt;

&lt;p&gt;Route users to different servers.&lt;br&gt;
Improve availability.&lt;br&gt;
Support disaster recovery.&lt;br&gt;
Help direct users to the nearest AWS Region.&lt;/p&gt;

&lt;p&gt;I haven't explored all of these features yet, but it's exciting to know there's much more to learn.&lt;/p&gt;

&lt;p&gt;How Route 53 Fits Into Everything I've Learned&lt;/p&gt;

&lt;p&gt;One thing I really like about AWS is how each service connects with another.&lt;/p&gt;

&lt;p&gt;Route 53 doesn't replace EC2.&lt;/p&gt;

&lt;p&gt;It doesn't replace CloudFront.&lt;/p&gt;

&lt;p&gt;Instead, it works together with them.&lt;/p&gt;

&lt;p&gt;A simple setup might look like this:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;         User
           │
           ▼
  Route 53 (DNS)
           │
           ▼
    CloudFront
           │
           ▼
    Load Balancer
           │
           ▼
         EC2
           │
           ▼
       Database
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Seeing the bigger picture made me realize that AWS isn't just a collection of individual services.&lt;/p&gt;

&lt;p&gt;They're all designed to work together.&lt;/p&gt;

&lt;p&gt;What Changed My Perspective&lt;/p&gt;

&lt;p&gt;Before learning AWS, I thought opening a website was as simple as typing its name into the browser.&lt;/p&gt;

&lt;p&gt;Now I understand there's an entire system working behind the scenes before the website even starts loading.&lt;/p&gt;

&lt;p&gt;A simple service like DNS makes the internet much easier to use.&lt;/p&gt;

&lt;p&gt;Without it, we'd all be trying to remember long IP addresses instead of simple website names.&lt;/p&gt;

&lt;p&gt;It's one of those things we use every single day but rarely stop to think about.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;When I first heard the name Amazon Route 53, I honestly had no idea what it did.&lt;/p&gt;

&lt;p&gt;Now I think of it much more simply.&lt;/p&gt;

&lt;p&gt;It's the service that helps the internet answer one basic question:&lt;/p&gt;

&lt;p&gt;"Where should this request go?"&lt;/p&gt;

&lt;p&gt;Without DNS, finding websites would be far more complicated.&lt;/p&gt;

&lt;p&gt;Learning Route 53 helped me appreciate that even the simplest action—typing a website name—depends on an incredible amount of technology working quietly in the background.&lt;/p&gt;

&lt;p&gt;And that's another reason why I'm enjoying this AWS learning journey.&lt;/p&gt;

&lt;p&gt;Every topic makes me look at the internet a little differently.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>amazon</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Why Doesn't AWS Want Me Using the Root Account? Understanding IAM</title>
      <dc:creator>Anupa Supul</dc:creator>
      <pubDate>Fri, 10 Jul 2026 10:51:37 +0000</pubDate>
      <link>https://dev.to/anupa_supul/why-doesnt-aws-want-me-using-the-root-account-understanding-iam-4cl4</link>
      <guid>https://dev.to/anupa_supul/why-doesnt-aws-want-me-using-the-root-account-understanding-iam-4cl4</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx9f6tpyjdz79mp2y4zoc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx9f6tpyjdz79mp2y4zoc.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;br&gt;
The day I created my AWS account, I was excited to start exploring cloud computing.&lt;/p&gt;

&lt;p&gt;I logged in, looked around the AWS Management Console, and couldn't wait to launch my first EC2 instance.&lt;/p&gt;

&lt;p&gt;But before I did anything, I noticed something interesting.&lt;/p&gt;

&lt;p&gt;AWS kept reminding me:&lt;/p&gt;

&lt;p&gt;"Don't use your root account for everyday tasks."&lt;/p&gt;

&lt;p&gt;At first, I didn't understand why.&lt;/p&gt;

&lt;p&gt;I remember thinking,&lt;/p&gt;

&lt;p&gt;"It's my account. Why shouldn't I use it?"&lt;/p&gt;

&lt;p&gt;If the root account has the highest level of access, wouldn't it make sense to use it all the time?&lt;/p&gt;

&lt;p&gt;The more I learned, the more I realized AWS wasn't trying to make things difficult.&lt;/p&gt;

&lt;p&gt;It was actually trying to protect me.&lt;/p&gt;

&lt;p&gt;That curiosity introduced me to one of the most important AWS services: IAM (Identity and Access Management).&lt;/p&gt;

&lt;p&gt;My First Thought&lt;/p&gt;

&lt;p&gt;Coming from web development, I was used to creating one account and using it for everything.&lt;/p&gt;

&lt;p&gt;So when AWS suggested creating another user instead of using the root account, it felt unnecessary.&lt;/p&gt;

&lt;p&gt;I thought,&lt;/p&gt;

&lt;p&gt;"I'll be the only one using this account anyway."&lt;/p&gt;

&lt;p&gt;But then I imagined something.&lt;/p&gt;

&lt;p&gt;What if someone somehow got access to my root account?&lt;/p&gt;

&lt;p&gt;They wouldn't just have access to one EC2 instance.&lt;/p&gt;

&lt;p&gt;They could:&lt;/p&gt;

&lt;p&gt;Delete every resource&lt;br&gt;
Remove databases&lt;br&gt;
Change billing settings&lt;br&gt;
Create new users&lt;br&gt;
Close the AWS account&lt;/p&gt;

&lt;p&gt;Suddenly, AWS's warning started making a lot more sense.&lt;/p&gt;

&lt;p&gt;So... What Is the Root Account?&lt;/p&gt;

&lt;p&gt;The root account is the account you create when you first sign up for AWS.&lt;/p&gt;

&lt;p&gt;It's like the master key to everything inside your AWS account.&lt;/p&gt;

&lt;p&gt;With it, you can:&lt;/p&gt;

&lt;p&gt;Access every AWS service&lt;br&gt;
Change account settings&lt;br&gt;
Manage billing&lt;br&gt;
Create or delete users&lt;br&gt;
Delete almost every resource&lt;/p&gt;

&lt;p&gt;Because it has unlimited permissions, AWS recommends using it only when absolutely necessary.&lt;/p&gt;

&lt;p&gt;For everyday work, there's a better option.&lt;/p&gt;

&lt;p&gt;That's where IAM comes in.&lt;/p&gt;

&lt;p&gt;What Is IAM?&lt;/p&gt;

&lt;p&gt;The simplest way I understand IAM is this:&lt;/p&gt;

&lt;p&gt;IAM helps you decide who can access your AWS account and what they're allowed to do.&lt;/p&gt;

&lt;p&gt;Instead of everyone using the powerful root account, you create separate IAM users with only the permissions they need.&lt;/p&gt;

&lt;p&gt;That immediately reminded me of something we use in everyday life.&lt;/p&gt;

&lt;p&gt;The Analogy That Helped Me&lt;/p&gt;

&lt;p&gt;Imagine you own a company.&lt;/p&gt;

&lt;p&gt;You probably wouldn't hand your master office key to every employee.&lt;/p&gt;

&lt;p&gt;Instead:&lt;/p&gt;

&lt;p&gt;The manager gets access to most areas.&lt;br&gt;
The accountant can access financial records.&lt;br&gt;
The receptionist can access only the front desk.&lt;br&gt;
Visitors can enter only the waiting area.&lt;/p&gt;

&lt;p&gt;Everyone has different responsibilities.&lt;/p&gt;

&lt;p&gt;Everyone gets different levels of access.&lt;/p&gt;

&lt;p&gt;IAM works exactly the same way.&lt;/p&gt;

&lt;p&gt;Instead of giving every user full control, AWS lets you decide exactly what each person can do.&lt;/p&gt;

&lt;p&gt;The Four IAM Concepts That Finally Clicked for Me&lt;/p&gt;

&lt;p&gt;When I first saw IAM documentation, I came across four terms over and over again:&lt;/p&gt;

&lt;p&gt;Users&lt;br&gt;
Groups&lt;br&gt;
Roles&lt;br&gt;
Policies&lt;/p&gt;

&lt;p&gt;At first, they all sounded similar.&lt;/p&gt;

&lt;p&gt;But once I understood their purpose, they became much easier to remember.&lt;/p&gt;

&lt;p&gt;👤 IAM Users&lt;/p&gt;

&lt;p&gt;An IAM User represents a person or an application that needs access to AWS.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Me&lt;br&gt;
Another developer&lt;br&gt;
A CI/CD pipeline&lt;/p&gt;

&lt;p&gt;Instead of sharing one account, everyone gets their own login.&lt;/p&gt;

&lt;p&gt;That makes AWS much safer and easier to manage.&lt;/p&gt;

&lt;p&gt;👥 IAM Groups&lt;/p&gt;

&lt;p&gt;Imagine I have five developers working on the same project.&lt;/p&gt;

&lt;p&gt;Giving each person the same permissions one by one would be repetitive.&lt;/p&gt;

&lt;p&gt;Instead, I can create a group called:&lt;/p&gt;

&lt;p&gt;Developers&lt;/p&gt;

&lt;p&gt;Then simply add users to that group.&lt;/p&gt;

&lt;p&gt;Anyone who joins automatically receives the same permissions.&lt;/p&gt;

&lt;p&gt;That felt like a much smarter approach.&lt;/p&gt;

&lt;p&gt;📜 IAM Policies&lt;/p&gt;

&lt;p&gt;Policies are simply permission rules.&lt;/p&gt;

&lt;p&gt;They answer questions like:&lt;/p&gt;

&lt;p&gt;Can this user launch an EC2 instance?&lt;br&gt;
Can they upload files to S3?&lt;br&gt;
Can they delete databases?&lt;/p&gt;

&lt;p&gt;Without a policy, an IAM user can't do very much.&lt;/p&gt;

&lt;p&gt;Policies define what is allowed and what isn't.&lt;/p&gt;

&lt;p&gt;🎭 IAM Roles&lt;/p&gt;

&lt;p&gt;Roles confused me the most at first.&lt;/p&gt;

&lt;p&gt;Then I learned they're a little different from users.&lt;/p&gt;

&lt;p&gt;Instead of representing a person, a role is usually assumed temporarily by an AWS service or an application.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;An EC2 instance might need permission to upload files to S3.&lt;/p&gt;

&lt;p&gt;Instead of storing secret access keys on the server, AWS lets the EC2 instance assume an IAM Role.&lt;/p&gt;

&lt;p&gt;That role gives it only the permissions it needs.&lt;/p&gt;

&lt;p&gt;Once I understood that, roles made much more sense.&lt;/p&gt;

&lt;p&gt;The Principle That Stuck With Me&lt;/p&gt;

&lt;p&gt;While learning IAM, I came across an idea called the Principle of Least Privilege.&lt;/p&gt;

&lt;p&gt;It simply means:&lt;/p&gt;

&lt;p&gt;Only give the permissions that are actually needed. Nothing more.&lt;/p&gt;

&lt;p&gt;If someone only needs to read files from S3...&lt;/p&gt;

&lt;p&gt;Don't give them permission to delete S3 buckets.&lt;/p&gt;

&lt;p&gt;If someone only needs to view CloudWatch logs...&lt;/p&gt;

&lt;p&gt;Don't give them administrator access.&lt;/p&gt;

&lt;p&gt;It's a simple idea, but it makes a huge difference when it comes to security.&lt;/p&gt;

&lt;p&gt;How I Plan to Use IAM&lt;/p&gt;

&lt;p&gt;Now that I understand IAM better, here's how I plan to use my AWS account:&lt;/p&gt;

&lt;p&gt;Keep the root account safe.&lt;br&gt;
Enable Multi-Factor Authentication (MFA).&lt;br&gt;
Create an IAM user for everyday work.&lt;br&gt;
Give only the permissions I actually need.&lt;br&gt;
Use roles whenever AWS services need to communicate securely.&lt;/p&gt;

&lt;p&gt;It feels like a much safer way to work.&lt;/p&gt;

&lt;p&gt;What Changed My Perspective&lt;/p&gt;

&lt;p&gt;Before learning AWS, I thought security started after deploying an application.&lt;/p&gt;

&lt;p&gt;Now I realize it starts much earlier.&lt;/p&gt;

&lt;p&gt;It starts with something as simple as deciding which account you log in with.&lt;/p&gt;

&lt;p&gt;IAM taught me that good security isn't about making things complicated.&lt;/p&gt;

&lt;p&gt;It's about giving the right people the right access—and nothing more.&lt;/p&gt;

&lt;p&gt;That lesson will probably stay with me long after I finish learning AWS.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;When I first saw AWS warning me not to use the root account, I honestly thought it was just another recommendation that I could ignore.&lt;/p&gt;

&lt;p&gt;Now I understand why AWS takes it so seriously.&lt;/p&gt;

&lt;p&gt;The root account is incredibly powerful.&lt;/p&gt;

&lt;p&gt;Using it every day isn't just unnecessary—it increases the risk if something ever goes wrong.&lt;/p&gt;

&lt;p&gt;Learning IAM helped me understand that cloud security isn't only about firewalls or encryption.&lt;/p&gt;

&lt;p&gt;Sometimes it starts with a simple decision:&lt;/p&gt;

&lt;p&gt;Who should have access, and how much access do they really need?&lt;/p&gt;

&lt;p&gt;For me, IAM was one of those topics that looked boring at first but turned out to be one of the most practical lessons I've learned in AWS.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Can a Website Run Without a Server? Understanding AWS Lambda</title>
      <dc:creator>Anupa Supul</dc:creator>
      <pubDate>Thu, 09 Jul 2026 06:34:13 +0000</pubDate>
      <link>https://dev.to/anupa_supul/can-a-website-run-without-a-server-understanding-aws-lambda-4ei4</link>
      <guid>https://dev.to/anupa_supul/can-a-website-run-without-a-server-understanding-aws-lambda-4ei4</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4q6bqf9u3ve0cfplbtx9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4q6bqf9u3ve0cfplbtx9.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One day, while exploring AWS services, I came across a term that immediately caught my attention.&lt;/p&gt;

&lt;p&gt;Serverless Computing.&lt;/p&gt;

&lt;p&gt;My first reaction was honestly something like this:&lt;/p&gt;

&lt;p&gt;"Wait... how can something run without a server?"&lt;/p&gt;

&lt;p&gt;That didn't make any sense to me.&lt;/p&gt;

&lt;p&gt;Every application has to run somewhere.&lt;/p&gt;

&lt;p&gt;There has to be a computer.&lt;/p&gt;

&lt;p&gt;There has to be memory.&lt;/p&gt;

&lt;p&gt;There has to be a processor.&lt;/p&gt;

&lt;p&gt;So how can AWS say it's serverless?&lt;/p&gt;

&lt;p&gt;The more I learned, the more I realized something interesting.&lt;/p&gt;

&lt;p&gt;Serverless doesn't mean there are no servers.&lt;/p&gt;

&lt;p&gt;It simply means I don't have to manage them.&lt;/p&gt;

&lt;p&gt;That small difference completely changed how I understood AWS Lambda.&lt;/p&gt;

&lt;p&gt;Before Learning Lambda...&lt;/p&gt;

&lt;p&gt;By this point in my AWS journey, I had already learned about Amazon EC2.&lt;/p&gt;

&lt;p&gt;EC2 made perfect sense.&lt;/p&gt;

&lt;p&gt;If I wanted to run an application, I would:&lt;/p&gt;

&lt;p&gt;Launch an EC2 instance&lt;br&gt;
Install my software&lt;br&gt;
Configure everything&lt;br&gt;
Keep the server running&lt;br&gt;
Pay while it was running&lt;/p&gt;

&lt;p&gt;It felt very similar to owning a computer in the cloud.&lt;/p&gt;

&lt;p&gt;Then AWS introduced Lambda.&lt;/p&gt;

&lt;p&gt;And suddenly...&lt;/p&gt;

&lt;p&gt;Everything worked differently.&lt;/p&gt;

&lt;p&gt;Let's Imagine a Small Example&lt;/p&gt;

&lt;p&gt;Imagine I build a simple contact form for my website.&lt;/p&gt;

&lt;p&gt;Every time someone clicks Submit, I want to:&lt;/p&gt;

&lt;p&gt;Save their message&lt;br&gt;
Send a confirmation email&lt;br&gt;
Store the data in a database&lt;/p&gt;

&lt;p&gt;Now I asked myself:&lt;/p&gt;

&lt;p&gt;Do I really need a server running all day just to wait for someone to click one button?&lt;/p&gt;

&lt;p&gt;Probably not.&lt;/p&gt;

&lt;p&gt;Most of the time...&lt;/p&gt;

&lt;p&gt;Nobody is clicking anything.&lt;/p&gt;

&lt;p&gt;The server is simply waiting.&lt;/p&gt;

&lt;p&gt;That doesn't feel very efficient.&lt;/p&gt;

&lt;p&gt;So... What Is AWS Lambda?&lt;/p&gt;

&lt;p&gt;The easiest way I understand Lambda is this:&lt;/p&gt;

&lt;p&gt;AWS Lambda runs my code only when something happens.&lt;/p&gt;

&lt;p&gt;That "something" is called an event.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;A user uploads an image.&lt;br&gt;
Someone submits a form.&lt;br&gt;
A new file is added to Amazon S3.&lt;br&gt;
An API request is received.&lt;br&gt;
A scheduled task runs every night.&lt;/p&gt;

&lt;p&gt;Instead of keeping a server running all day...&lt;/p&gt;

&lt;p&gt;AWS simply waits for the event.&lt;/p&gt;

&lt;p&gt;When it happens...&lt;/p&gt;

&lt;p&gt;My code runs.&lt;/p&gt;

&lt;p&gt;When it's finished...&lt;/p&gt;

&lt;p&gt;Everything stops.&lt;/p&gt;

&lt;p&gt;A Simple Way to Picture It&lt;/p&gt;

&lt;p&gt;Instead of this:&lt;/p&gt;

&lt;p&gt;24 Hours&lt;br&gt;
──────────────────────────────&lt;br&gt;
🖥️ Server running all day&lt;/p&gt;

&lt;p&gt;Lambda looks more like this:&lt;/p&gt;

&lt;p&gt;User clicks button&lt;br&gt;
        │&lt;br&gt;
        ▼&lt;br&gt;
    AWS Lambda&lt;br&gt;
        │&lt;br&gt;
     Runs code&lt;br&gt;
        │&lt;br&gt;
      Stops&lt;/p&gt;

&lt;p&gt;Nothing runs when nothing is happening.&lt;/p&gt;

&lt;p&gt;The Analogy That Helped Me&lt;/p&gt;

&lt;p&gt;Imagine hiring a photographer.&lt;/p&gt;

&lt;p&gt;You have two options.&lt;/p&gt;

&lt;p&gt;Option 1&lt;/p&gt;

&lt;p&gt;Hire them for the entire day.&lt;/p&gt;

&lt;p&gt;Even if they only take photos for one hour...&lt;/p&gt;

&lt;p&gt;You still pay for the whole day.&lt;/p&gt;

&lt;p&gt;That's similar to running an EC2 instance.&lt;/p&gt;

&lt;p&gt;Option 2&lt;/p&gt;

&lt;p&gt;Call the photographer only when you actually need photos.&lt;/p&gt;

&lt;p&gt;They arrive.&lt;/p&gt;

&lt;p&gt;Do the job.&lt;/p&gt;

&lt;p&gt;Leave.&lt;/p&gt;

&lt;p&gt;That's much closer to how Lambda works.&lt;/p&gt;

&lt;p&gt;You only use computing resources when your code actually needs to run.&lt;/p&gt;

&lt;p&gt;Where Can Lambda Be Used?&lt;/p&gt;

&lt;p&gt;As I learned more, I realized Lambda appears in many real applications.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Sending emails&lt;br&gt;
Resizing uploaded images&lt;br&gt;
Processing payments&lt;br&gt;
Running scheduled backups&lt;br&gt;
Handling API requests&lt;br&gt;
Automating small tasks&lt;/p&gt;

&lt;p&gt;Most of these jobs don't need a server running 24 hours a day.&lt;/p&gt;

&lt;p&gt;They only need to run for a few seconds.&lt;/p&gt;

&lt;p&gt;That's exactly where Lambda shines.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9mdxdzrskrlel9rvvfi3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9mdxdzrskrlel9rvvfi3.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I don't think one is better than the other.&lt;/p&gt;

&lt;p&gt;They simply solve different problems.&lt;/p&gt;

&lt;p&gt;What Changed My Perspective&lt;/p&gt;

&lt;p&gt;Before learning AWS, I assumed every application needed a server that was always running.&lt;/p&gt;

&lt;p&gt;Now I know that's not always true.&lt;/p&gt;

&lt;p&gt;Sometimes all you need is a small piece of code that wakes up, does its job, and goes back to sleep.&lt;/p&gt;

&lt;p&gt;That idea felt completely new to me.&lt;/p&gt;

&lt;p&gt;It also made me realize how much cloud computing has evolved.&lt;/p&gt;

&lt;p&gt;Instead of thinking about servers first...&lt;/p&gt;

&lt;p&gt;We can simply think about solving problems.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;When I first heard the word serverless, I thought AWS was trying to tell me that applications somehow ran without computers.&lt;/p&gt;

&lt;p&gt;Now I understand it much differently.&lt;/p&gt;

&lt;p&gt;The servers are still there.&lt;/p&gt;

&lt;p&gt;I just don't have to think about them anymore.&lt;/p&gt;

&lt;p&gt;And honestly...&lt;/p&gt;

&lt;p&gt;That's one of the coolest things I've learned so far in my AWS journey.&lt;/p&gt;

&lt;p&gt;It reminded me that cloud computing isn't just about bigger servers.&lt;/p&gt;

&lt;p&gt;Sometimes it's about using less infrastructure to solve the same problem more efficiently.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>amazon</category>
      <category>lambda</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>I Finally Understood AWS Data Pipelines After Following a Single Customer Click</title>
      <dc:creator>Anupa Supul</dc:creator>
      <pubDate>Wed, 08 Jul 2026 04:45:11 +0000</pubDate>
      <link>https://dev.to/anupa_supul/i-finally-understood-aws-data-pipelines-after-following-a-single-customer-click-4njh</link>
      <guid>https://dev.to/anupa_supul/i-finally-understood-aws-data-pipelines-after-following-a-single-customer-click-4njh</guid>
      <description>&lt;p&gt;beginner has been there.&lt;/p&gt;

&lt;p&gt;You memorize services like:&lt;/p&gt;

&lt;p&gt;Amazon S3&lt;br&gt;
Kinesis&lt;br&gt;
Lambda&lt;br&gt;
Glue&lt;br&gt;
Athena&lt;br&gt;
SageMaker&lt;/p&gt;

&lt;p&gt;Then someone asks,&lt;/p&gt;

&lt;p&gt;"How do these services actually work together?"&lt;br&gt;
Silence.&lt;br&gt;
The problem isn't the services.&lt;/p&gt;

&lt;p&gt;It's that AWS documentation teaches them individually, while real companies use them together.&lt;br&gt;
So let's forget the documentation for a minute.&lt;br&gt;
Instead, let's follow one customer click inside an e-commerce application.&lt;br&gt;
By the end, you'll understand why each AWS service exists.&lt;/p&gt;

&lt;p&gt;Imagine This&lt;/p&gt;

&lt;p&gt;A customer opens your shopping website.&lt;br&gt;
They search for:&lt;br&gt;
Wireless Headphones&lt;br&gt;
A few seconds later...&lt;/p&gt;

&lt;p&gt;The website recommends another product.&lt;br&gt;
The sales dashboard updates.&lt;br&gt;
Marketing learns about the search trend.&lt;/p&gt;

&lt;p&gt;Inventory changes.&lt;/p&gt;

&lt;p&gt;And somewhere in the background...&lt;br&gt;
An AI model just became a little smarter.&lt;/p&gt;

&lt;p&gt;How?&lt;br&gt;
Let's trace the journey.&lt;/p&gt;

&lt;p&gt;Step 1. Everything Starts with Data&lt;/p&gt;

&lt;p&gt;Every action creates an event.&lt;br&gt;
User Login&lt;br&gt;
Search Product&lt;br&gt;
Add to Cart&lt;br&gt;
Purchase&lt;br&gt;
Leave Review&lt;br&gt;
That information needs somewhere to live.&lt;br&gt;
Amazon DynamoDB&lt;br&gt;
DynamoDB stores application data.&lt;/p&gt;

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

&lt;p&gt;Customer profiles&lt;br&gt;
Orders&lt;br&gt;
Shopping carts&lt;br&gt;
Product information&lt;br&gt;
User sessions&lt;/p&gt;

&lt;p&gt;Think of DynamoDB as the application's working database.&lt;br&gt;
It is extremely fast because millions of users might be writing data at the same time.&lt;/p&gt;

&lt;p&gt;Step 2. Don't Wait Until Tomorrow&lt;br&gt;
Imagine Amazon waited until midnight before analyzing customer behavior.&lt;/p&gt;

&lt;p&gt;Too late.&lt;br&gt;
Modern applications react instantly.&lt;br&gt;
That's where streaming begins.&lt;br&gt;
Amazon Kinesis Data Streams&lt;br&gt;
Kinesis continuously collects events as they happen.&lt;/p&gt;

&lt;p&gt;Website&lt;br&gt;
        │&lt;br&gt;
        ▼&lt;br&gt;
Customer Events&lt;br&gt;
        │&lt;br&gt;
        ▼&lt;br&gt;
Amazon Kinesis&lt;/p&gt;

&lt;p&gt;Every click...&lt;br&gt;
Every purchase...&lt;br&gt;
Every API request...&lt;br&gt;
flows into Kinesis.&lt;br&gt;
Think of it as a highway carrying millions of tiny data packets every second.&lt;/p&gt;

&lt;p&gt;Step 3. Getting Data Where It Needs to Go&lt;/p&gt;

&lt;p&gt;Collecting data is only half the job.&lt;br&gt;
Now it needs to be delivered somewhere useful.&lt;br&gt;
Amazon Data Firehose&lt;br&gt;
If Kinesis is the highway,&lt;br&gt;
Firehose is the delivery truck.&lt;/p&gt;

&lt;p&gt;It automatically moves streaming data into destinations like:&lt;/p&gt;

&lt;p&gt;Amazon S3&lt;br&gt;
Amazon Redshift&lt;br&gt;
Amazon OpenSearch&lt;/p&gt;

&lt;p&gt;No servers.&lt;br&gt;
No scripts.&lt;br&gt;
No cron jobs.&lt;br&gt;
Just continuous delivery.&lt;/p&gt;

&lt;p&gt;Step 4. Raw Data Is Ugly&lt;/p&gt;

&lt;p&gt;Real production data isn't clean.&lt;br&gt;
It contains things like:&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
"name":"john",&lt;br&gt;
"country":"usa",&lt;br&gt;
"age":"25",&lt;br&gt;
"status":"TRUE"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Another application might send:&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
"Name":"John",&lt;br&gt;
"Country":"USA",&lt;br&gt;
"Age":25&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Now imagine millions of records like this.&lt;br&gt;
Someone has to clean them.&lt;/p&gt;

&lt;p&gt;AWS Lambda&lt;br&gt;
Lambda automatically processes incoming data.&lt;/p&gt;

&lt;p&gt;Typical tasks include:&lt;/p&gt;

&lt;p&gt;Removing duplicates&lt;br&gt;
Fixing formats&lt;br&gt;
Validating records&lt;br&gt;
Filtering bad data&lt;br&gt;
Converting JSON into CSV&lt;/p&gt;

&lt;p&gt;No servers are running.&lt;br&gt;
The function executes only when data arrives.&lt;/p&gt;

&lt;p&gt;Step 5. The Data Needs a Home&lt;/p&gt;

&lt;p&gt;After processing, everything is stored.&lt;br&gt;
Amazon S3&lt;/p&gt;

&lt;p&gt;This is where many AWS architectures begin to make sense.&lt;br&gt;
S3 is not just file storage.&lt;br&gt;
It becomes the company's Data Lake.&lt;/p&gt;

&lt;p&gt;Inside S3 you might find:&lt;/p&gt;

&lt;p&gt;Images&lt;br&gt;
Videos&lt;br&gt;
CSV files&lt;br&gt;
Application logs&lt;br&gt;
Customer events&lt;br&gt;
Machine learning datasets&lt;br&gt;
Backups&lt;/p&gt;

&lt;p&gt;Think of S3 as the central warehouse where every department stores information.&lt;/p&gt;

&lt;p&gt;Step 6. Imagine Finding One File Among 50 Million&lt;/p&gt;

&lt;p&gt;Storage isn't enough.&lt;/p&gt;

&lt;p&gt;People need to know:&lt;/p&gt;

&lt;p&gt;Where is the file?&lt;br&gt;
What columns does it contain?&lt;br&gt;
Which dataset owns it?&lt;/p&gt;

&lt;p&gt;That's metadata.&lt;/p&gt;

&lt;p&gt;AWS Glue Data Catalog&lt;/p&gt;

&lt;p&gt;Glue Catalog doesn't store your data.&lt;/p&gt;

&lt;p&gt;It stores information about your data.&lt;/p&gt;

&lt;p&gt;Think of a library.&lt;/p&gt;

&lt;p&gt;The books are the data.&lt;/p&gt;

&lt;p&gt;The catalog tells you exactly where each book lives.&lt;/p&gt;

&lt;p&gt;Without Glue,&lt;/p&gt;

&lt;p&gt;your data lake becomes a giant messy folder.&lt;/p&gt;

&lt;p&gt;Step 7. Finally... Someone Wants Answers&lt;/p&gt;

&lt;p&gt;The business team doesn't care where the data came from.&lt;/p&gt;

&lt;p&gt;They ask questions like:&lt;/p&gt;

&lt;p&gt;Which products sold the most today?&lt;br&gt;
Which country generated the highest revenue?&lt;br&gt;
How many customers abandoned their cart?&lt;br&gt;
Amazon Athena&lt;/p&gt;

&lt;p&gt;Athena lets you query files stored in S3 using SQL.&lt;/p&gt;

&lt;p&gt;SELECT country,&lt;br&gt;
COUNT(*)&lt;br&gt;
FROM sales&lt;br&gt;
GROUP BY country;&lt;/p&gt;

&lt;p&gt;No database setup.&lt;/p&gt;

&lt;p&gt;No infrastructure.&lt;/p&gt;

&lt;p&gt;Just SQL.&lt;/p&gt;

&lt;p&gt;One of my favorite AWS services because it feels almost magical.&lt;/p&gt;

&lt;p&gt;Step 8. This Is Where AI Enters&lt;/p&gt;

&lt;p&gt;Now imagine months of customer data sitting safely inside S3.&lt;/p&gt;

&lt;p&gt;That data becomes training material.&lt;/p&gt;

&lt;p&gt;Amazon SageMaker AI&lt;/p&gt;

&lt;p&gt;SageMaker helps data scientists:&lt;/p&gt;

&lt;p&gt;Build models&lt;br&gt;
Train models&lt;br&gt;
Deploy models&lt;br&gt;
Monitor models&lt;/p&gt;

&lt;p&gt;Now the application can predict:&lt;/p&gt;

&lt;p&gt;Which customer is likely to buy&lt;br&gt;
Which transaction looks fraudulent&lt;br&gt;
Which products should be recommended&lt;br&gt;
Which inventory will run out next week&lt;/p&gt;

&lt;p&gt;This is where raw data becomes business intelligence.&lt;/p&gt;

&lt;p&gt;The Entire Journey&lt;br&gt;
Customer&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;DynamoDB&lt;br&gt;
(Store application data)&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Kinesis&lt;br&gt;
(Stream events)&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Data Firehose&lt;br&gt;
(Deliver events)&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Lambda&lt;br&gt;
(Clean and transform)&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Amazon S3&lt;br&gt;
(Store everything)&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Glue Catalog&lt;br&gt;
(Organize metadata)&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Athena&lt;br&gt;
(Analyze with SQL)&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;SageMaker&lt;br&gt;
(Train AI models)&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Recommendations&lt;br&gt;
Predictions&lt;br&gt;
Dashboards&lt;br&gt;
Business Insights&lt;br&gt;
The Biggest Lesson I Learned&lt;/p&gt;

&lt;p&gt;At first, AWS looked like hundreds of unrelated services.&lt;/p&gt;

&lt;p&gt;Now I see something completely different.&lt;/p&gt;

&lt;p&gt;Every service has one responsibility.&lt;/p&gt;

&lt;p&gt;Service Responsibility&lt;br&gt;
DynamoDB    Store application data&lt;br&gt;
Kinesis Capture live events&lt;br&gt;
Firehose    Move streaming data&lt;br&gt;
Lambda  Process data&lt;br&gt;
S3  Store everything&lt;br&gt;
Glue    Organize metadata&lt;br&gt;
Athena  Query data&lt;br&gt;
SageMaker   Build AI models&lt;/p&gt;

&lt;p&gt;Individually, they're simple.&lt;/p&gt;

&lt;p&gt;Together, they power companies serving millions of users every day.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;Learning AWS isn't about memorizing service names.&lt;/p&gt;

&lt;p&gt;It's about understanding how data moves.&lt;/p&gt;

&lt;p&gt;Once you can follow a single customer click through an entire system, AWS starts feeling less like a list of products and more like a complete ecosystem.&lt;/p&gt;

&lt;p&gt;The next time someone asks,&lt;/p&gt;

&lt;p&gt;"Why does AWS have so many services?"&lt;/p&gt;

&lt;p&gt;You'll have a much better answer.&lt;/p&gt;

&lt;p&gt;Because each service solves one specific problem, and together they build the systems behind the applications we use every single day.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>aws</category>
      <category>beginners</category>
      <category>dataengineering</category>
    </item>
  </channel>
</rss>
