Nandini moves to the cloud
AWS, GCP, Azure — and how to stop paying for servers you do not need
Nandini's startup was growing. Her app had 50,000 users. She was paying ₹40,000/month for a dedicated server in a Hyderabad data centre. The server sat at 10% capacity most of the time, and crashed every time she sent a marketing email to her whole user base.
Her CTO Arun said, "We need to move to the cloud."
"Which cloud?" Nandini asked. "AWS, GCP, Azure — everyone recommends something different."
"It doesn't matter much at your scale. They all do the same things. Let's use AWS."
What is cloud computing really?
Simple answer: you rent computing power instead of owning hardware. When you need more, you get more instantly. When you need less, you pay less. You never buy a server again.
The three giants — AWS (Amazon), GCP (Google Cloud), Azure (Microsoft) — each have 200+ services. But most companies use about 6-8 of them.
The services Nandini actually needed
EC2 (Elastic Compute Cloud) — a virtual server. Like your laptop but in Amazon's data centre. You pick the size (CPU, RAM), start it, SSH in, and use it like a normal server.
S3 (Simple Storage Service) — file storage. Images, videos, backups, exports. Infinite storage, pay per GB. Nandini moved all user uploads here — ₹2/GB/month instead of ₹200/GB on her old server.
RDS (Relational Database Service) — managed PostgreSQL/MySQL. Amazon handles backups, updates, failover. You just use the database. No more 3am "database crashed" calls.
Load Balancer — distributes traffic across multiple EC2 instances. When Nandini sends a marketing email, traffic spikes, load balancer routes requests across 10 servers instead of overwhelming one.
Auto Scaling — automatically starts more EC2 instances when traffic is high, terminates them when traffic drops. She only pays for what she actually uses.
Terraform — infrastructure as code
After six months, Nandini had set up her AWS infrastructure manually through the web console. Then she accidentally deleted the wrong security group and half her app went down.
She learned about Terraform — writing infrastructure as code. Instead of clicking buttons in the AWS console, you write files:
```hcl
main.tf
provider "aws" {
region = "ap-south-1" # Mumbai region
}
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t3.medium"
tags = {
Name = "nandini-web-server"}
}
resource "aws_s3_bucket" "uploads" {
bucket = "nandini-app-uploads"
}
```
```bash
terraform init # Setup providers
terraform plan # Preview changes
terraform apply # Create/update infrastructure
terraform destroy # Delete everything (carefully!)
```
Now her infrastructure is in Git. If something breaks, she can recreate the entire AWS setup in 15 minutes from code. She can also create identical staging environments for testing.
What Nandini's bill looked like after the move
Before cloud: ₹40,000/month fixed, crashes on traffic spikes.
After cloud: ₹12,000/month normally, ₹28,000 on peak days (marketing campaigns).
Annual saving: ~₹2.5 lakh. Zero crashes.
The cloud is not always cheaper. But it is more flexible, more reliable, and scales with your business instead of against it.
Cloud = rented computing — pay for what you use, scale instantly
Core AWS services: EC2 (servers), S3 (storage), RDS (database), Load Balancer
Auto Scaling automatically adjusts capacity based on actual traffic
Terraform lets you write your infrastructure as code — version controlled and reproducible