Prerequisites
Before we start building, let’s make sure you have everything you need.
Technical Prerequisites
HTTP and JSON basics
- You understand how web requests work
- You can read JSON data
- You know what GET and POST mean
Programming language
- Comfortable with Node.js or Python
- Can write simple functions
- Understand basic error handling
Cloud account
- AWS, Azure, or GCP account
- Free tier is enough for this tutorial
- Access to create resources
Account Setup
You’ll need accounts for:
-
Cloud provider (choose one):
- AWS: aws.amazon.com
- Azure: azure.microsoft.com
- GCP: cloud.google.com
-
Email service (choose one):
- SendGrid: sendgrid.com (free tier: 100 emails/day)
- Mailgun: mailgun.com (free tier: 5,000 emails/month)
- AWS SES: Included with AWS account
- Azure Logic Apps: Included with Azure account
Architecture Overview
Here’s how the components fit together:
Component Breakdown
1. Storage Bucket
- Stores uploaded files
- Emits events when files are added
- Provides file metadata (name, size, path)
2. Event Trigger
- Listens for storage events
- Routes events to serverless function
- Can filter by file type or path
3. Serverless Function
- Receives event with file details
- Processes the information
- Calls email service
4. Email Service
- Sends notification emails
- Handles delivery and retries
- Provides delivery status
Cloud Provider Services
Each cloud provider has different names for similar services. Here’s the mapping:
Storage: Amazon S3 (Simple Storage Service)
Function: AWS Lambda
Trigger: S3 Event Notification
Email: Amazon SES (Simple Email Service)
OR SendGrid / Mailgun
Service Names:
- S3 Bucket → Storage bucket
- Lambda Function → Serverless function
- S3 Event → Trigger configuration
- SES → Email sending service Storage: Azure Blob Storage
Function: Azure Functions
Trigger: Blob Storage Trigger
Email: Logic Apps Email Connector
OR SendGrid / Mailgun
Service Names:
- Blob Container → Storage bucket
- Azure Function → Serverless function
- Blob Trigger → Trigger configuration
- Logic Apps → Email sending service Storage: Cloud Storage
Function: Cloud Functions
Trigger: Cloud Storage Trigger
Email: SendGrid / Mailgun
(via Cloud Functions)
Service Names:
- Cloud Storage Bucket → Storage bucket
- Cloud Function → Serverless function
- Storage Trigger → Trigger configuration
- SendGrid API → Email sending service Service Comparison Table
| Component | AWS | Azure | GCP |
|---|---|---|---|
| Storage | S3 | Blob Storage | Cloud Storage |
| Function | Lambda | Functions | Cloud Functions |
| Trigger | S3 Event | Blob Trigger | Storage Trigger |
| SES | Logic Apps | SendGrid/Mailgun |
All three providers offer similar capabilities. The main differences are in naming and configuration steps.
Quick Setup Checklist
Before moving to the next page, complete these steps:
Cloud Account Setup
- Create cloud account (AWS, Azure, or GCP)
- Verify account (may require credit card for free tier)
- Choose a region (pick one close to you)
- Set up billing alerts (optional, but recommended)
Email Service Setup
- Create email service account (SendGrid, Mailgun, or use cloud-native)
- Get API key (save it securely, you’ll need it later)
- Verify sender email (follow service instructions)
- Test email sending (optional, but good to verify)
Development Environment
- Install CLI tools (AWS CLI, Azure CLI, or gcloud)
- Set up credentials (configure authentication)
- Test CLI access (run a simple command to verify)
Knowledge Check
Let’s test your understanding of the architecture:
What’s Next?
Now that you understand the architecture, let’s start building. In the next page, we’ll create the storage bucket. This is where files will be uploaded and where events will originate.