DEV Community

Cover image for WHY MY FILES NEVER TOUCH MY SERVER ?? πŸ€”
Ria saraswat
Ria saraswat

Posted on

WHY MY FILES NEVER TOUCH MY SERVER ?? πŸ€”

When I first started building cloud projects, I assumed file uploads worked like this:

πŸ“‚ User Uploads File
⬇️
πŸ–₯️ Server Stores File on Its Disk

Simple, right?

But while building RIA Vault, a cloud document management dashboard, I learned that modern cloud applications often work very differently.

Instead of storing files on the server itself, my architecture looks like this:

πŸ“‚ User
⬇️
🌐 Frontend (Vercel)
⬇️
βš™οΈ Flask Backend (Render)
⬇️
☁️ AWS S3

So where does the file actually live?

πŸ‘‰ Not on my server.

πŸ‘‰ Not on Render.

πŸ‘‰ Inside Amazon S3.

What happens when a user uploads a file?

1️⃣ The user selects a file from the dashboard.

2️⃣ The frontend sends the file to my Flask backend using the Fetch API.

3️⃣ The backend receives the file and uses AWS Boto3 SDK.

4️⃣ Boto3 calls Amazon S3's upload service.

5️⃣ S3 stores the file and returns a success response.

6️⃣ The dashboard instantly updates to show the uploaded file.

Why not store files on the server?

Imagine 10,000 users uploading documents.

If everything is stored directly on the server:

❌ Storage fills up quickly
❌ Scaling becomes difficult
❌ Server crashes can affect files
❌ Managing backups becomes a headache

Using Amazon S3 solves many of these problems:

βœ… Highly scalable storage
βœ… Designed for massive amounts of data
βœ… Better reliability and durability
βœ… Pay only for what you use

AWS Services I Used

πŸ”Ή Amazon S3 – Cloud object storage

πŸ”Ή AWS Boto3 SDK – Python SDK to interact with AWS services

Key methods used:

s3_client.upload_fileobj()
s3_client.list_objects_v2()
s3_client.delete_object()
Enter fullscreen mode Exit fullscreen mode

These three methods powered the core functionality of my project:

πŸ“€ Upload Files

πŸ“‹ View Files

πŸ—‘οΈ Delete Files

My Biggest Learning

Before this project, I thought cloud storage was just "a folder on the internet."

After building with AWS S3, I realized modern applications separate:

πŸ–₯️ Compute Layer β†’ Handles requests

☁️ Storage Layer β†’ Stores files

This separation makes applications easier to scale, maintain, and deploy.

Building projects teaches concepts that documentation alone cannot.

What's one AWS service that completely changed how you think about cloud architecture?

Top comments (0)