Cloud Computing · Portfolio From Zero
Build a Cloud Computing Portfolio With Zero Job Experience
Quick summary — building a cloud portfolio from zero
To build a cloud computing portfolio with zero job experience, set up a practice account safely with MFA and billing alarms, build three progressive projects such as a static website, a two-tier app in a private network and an automation or container project, define them in Terraform and document each with a diagram, README and cost note.
In this guide you will learn:
- Safe account setup — before any building.
- Three progressive projects — with code.
- Terraform and documentation — that show professionalism.
- A portfolio plan — and templates.
- Interview questions — your projects prepare you for.
SECTION 01Phase 1: setting up a safe practice account
Before building anything, protect yourself from security problems and surprise bills. Cloud accounts are powerful, and a leaked key or forgotten resource can be costly. Secure the root account with MFA, create a separate administrator user or role for daily work, set budgets and billing alerts, and choose one region for all labs so resources are easy to find and clean up. This setup is also a good first portfolio item:
| Step | What to do | Why it matters | Proof to show |
|---|---|---|---|
| Protect root | Enable MFA; stop using root for daily work | Root has unlimited access | Setup notes in README |
| Daily identity | Create an admin IAM user or role with MFA | Limits damage from mistakes | Policy summary |
| Budget alert | Create a monthly budget with email alerts | Avoid surprise bills | Screenshot or Terraform code |
| One region | Pick one region for all labs | Easier cleanup and cost tracking | Region noted in each README |
resource "aws_budgets_budget" "monthly" {
name = "practice-monthly-budget"
budget_type = "COST"
limit_amount = "5"
limit_unit = "USD"
time_unit = "MONTHLY"
notification {
comparison_operator = "GREATER_THAN"
threshold = 80
threshold_type = "PERCENTAGE"
notification_type = "ACTUAL"
subscriber_email_addresses = ["you@example.com"]
}
}
#!/usr/bin/env bash
# Quick safety checks for a practice account
set -euo pipefail
echo "== Who am I? =="
aws sts get-caller-identity --query Arn --output text
echo "== Root MFA enabled? (1 = yes) =="
aws iam get-account-summary --query 'SummaryMap.AccountMFAEnabled'
echo "== Running EC2 instances in ap-south-1 =="
aws ec2 describe-instances --region ap-south-1 \
--filters Name=instance-state-name,Values=running \
--query 'Reservations[].Instances[].InstanceId' --output text
SECTION 02Phase 2: three progressive projects
A strong zero-experience portfolio grows in difficulty. Start with something small that teaches storage, access and content delivery, then build a classic two-tier application inside a private network, and finish with automation, containers or serverless work. Each project should be defined in Terraform so it can be created and destroyed reliably, which also keeps costs low:
| Project | What you build | Skills shown | Difficulty |
|---|---|---|---|
| 1. Static website | S3 static site behind a CDN with HTTPS | Storage, access policies, CDN, DNS basics | Beginner |
| 2. Two-tier app | Load balancer, private app servers, private database | VPC design, security groups, IAM roles | Intermediate |
| 3a. Containers | Containerised API deployed with CI | Docker, registries, CI/CD | Intermediate |
| 3b. Serverless | Function triggered by uploads, writes results | Event-driven design, least privilege | Intermediate |
resource "aws_s3_bucket" "site" {
bucket = "yourname-portfolio-site-ap-south-1"
}
resource "aws_s3_bucket_public_access_block" "site" {
bucket = aws_s3_bucket.site.id
block_public_acls = true
block_public_policy = true
ignore_public_acls = true
restrict_public_buckets = true
}
# Serve through CloudFront with origin access control so the
# bucket itself stays private (see project README for full code).
output "bucket" { value = aws_s3_bucket.site.bucket }
resource "aws_security_group" "alb" {
vpc_id = aws_vpc.main.id
ingress {
from_port = 443
to_port = 443
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}
resource "aws_security_group" "app" {
vpc_id = aws_vpc.main.id
ingress {
from_port = 8080
to_port = 8080
protocol = "tcp"
security_groups = [aws_security_group.alb.id] # only from the ALB
}
}
SECTION 03Phase 3: documenting and presenting your work
Recruiters cannot see your cloud account, so documentation is the portfolio. Each project needs a README that explains the goal, an architecture diagram, the key design decisions, how to deploy and destroy it, what it costs to run and what you learned. Screenshots of working results help too. Finally, link everything from a simple portfolio page, your resume and LinkedIn:
| Item | What to include | Common mistake | Better approach |
|---|---|---|---|
| Architecture diagram | Boxes for each component and network boundary | No diagram | Simple diagram image in README |
| Design decisions | Why private subnets, why roles, why this region | Only listing services | Explain two or three choices |
| Deploy and destroy | terraform init, plan, apply, destroy | Manual console steps only | Commands anyone can repeat |
| Cost note | Which parts cost money and how you limited it | Ignoring cost | Short honest note with teardown steps |
# Two-Tier Web App on AWS

## Goal
Run a web app with no public access to app servers or database.
## Design decisions
- App servers and RDS in private subnets across two AZs
- ALB is the only public entry point (HTTPS)
- IAM roles instead of access keys
## Deploy / destroy
terraform init && terraform plan
terraform apply
terraform destroy
## Cost note
Load balancer and NAT gateway cost money per hour; I destroy the
stack after each session.
## What I learned
Private instances need a planned route out (NAT) for updates.
# pip install diagrams (needs Graphviz installed)
from diagrams import Cluster, Diagram
from diagrams.aws.compute import EC2
from diagrams.aws.database import RDS
from diagrams.aws.network import ELB
with Diagram("Two-tier app", filename="diagram", show=False):
lb = ELB("ALB (public)")
with Cluster("Private subnets (2 AZs)"):
apps = [EC2("app-a"), EC2("app-b")]
db = RDS("PostgreSQL")
lb >> apps >> db
print("saved diagram.png")
SECTION 04Cloud portfolio plan and templates
Use these templates to plan and finish your portfolio:
Week 1 Safe account setup: MFA, admin user, budget, region
Weeks 2-3 Project 1: static site with CDN, in Terraform
Weeks 4-5 Project 2: two-tier app in a private VPC
Week 6 Project 3: container API with CI, or a serverless function
Week 7 Diagrams, READMEs, cost notes, screenshots
Week 8 Portfolio page, resume and LinkedIn links, peer review
For every project:
[ ] Goal stated in one sentence
[ ] Architecture diagram
[ ] 2-3 design decisions explained
[ ] Terraform: init, plan, apply, destroy documented
[ ] Security: no public databases, roles not keys
[ ] Cost note and teardown steps
[ ] Screenshot of the working result
[ ] 'What I learned' section
# <Name> - Cloud Portfolio
AWS | Terraform | Linux | Docker
1. **Static site with CDN** - private bucket, HTTPS, Terraform
2. **Two-tier app in a private VPC** - ALB, private EC2 and RDS, IAM roles
3. **Container API with CI** - Docker image built and deployed on push
Each project has a diagram, README and cost note.
SECTION 05Tips for a zero-experience cloud portfolio
These habits make your portfolio convincing without job experience:
- Secure the account first — MFA and budgets before any project.
- Build in Terraform — reproducible code proves real skill.
- Explain design choices — why matters more than what.
- Mind the cost — destroy labs after each session.
- Document like a professional — diagrams, READMEs and lessons learned.
SECTION 06Interview Q&A — cloud portfolios
Q1How did you secure your practice account?
Enabled MFA on root, created a separate admin identity with MFA, set a budget alert and avoided using root for daily work.
Q2Walk me through your two-tier architecture.
Explain the public load balancer, private app servers and database across two zones, security group rules, IAM roles and how Terraform builds it.
Q3How did you keep your bucket private but still serve a website?
Blocked public access on the bucket and served content through a CDN using origin access control, with HTTPS.
Q4What did a project cost, and how did you control it?
Explain which components were charged, how you checked pricing, and that you destroyed resources after each session with Terraform.
Q5What was the hardest problem you solved?
Describe a real issue, such as private instances lacking internet access, how you diagnosed it and the fix.
SECTION 07Test yourself — cloud portfolios quiz
Five questions. No sign-up.
0 / 5Pick an answer to see why it is right or wrong.
SECTION 08Frequently asked questions
How do I build a cloud portfolio with no experience?
Set up a practice account safely, build three progressive projects in Terraform, and document each with a diagram, design decisions, deploy steps and a cost note.
What cloud projects should a beginner build?
A static website with a CDN, a two-tier app in a private network, and a container or serverless project. Together they cover the core cloud skills.
Will cloud projects cost me money?
Some services cost money even at small scale. Use free-tier eligible options where possible, set budget alerts and destroy resources after each session.
Do I need certifications before building a cloud portfolio?
No. Projects can come first. Certifications can be added alongside to support your hands-on work.
How should I present my cloud portfolio?
Use GitHub repositories with clear READMEs and diagrams, a simple portfolio page linking all projects, and links from your resume and LinkedIn.
SECTION 09Related reads
Classroom & online · Noida
Build a cloud portfolio with guidance
Our AWS Training Course guides you through hands-on AWS projects, Terraform and documentation that work as portfolio proof.
Talk to a counsellor for current fees- Hands-on AWS labs
- Terraform projects
- Portfolio reviews
- Weekday & weekend batches