Introduction
Completing the Cloud Resume Challenge was one of the most rewarding experiences in my cloud learning journey. This project helped me bridge the gap between theoretical cloud knowledge and real-world implementation by building a serverless, fully automated resume website hosted on Azure.
In this blog post, I’ll walk you through:
✅ Why I chose the Cloud Resume Challenge
✅ The architecture of my solution
✅ Key technical challenges & learnings
✅ How this boosted my cloud skills
Why the Cloud Resume Challenge?
As someone transitioning into cloud engineering, I needed a hands-on project that:
✔ Demonstrated cloud skills in a practical way
✔ Automated deployments using CI/CD
✔ Integrated serverless components (Azure Functions, Cosmos DB)
✔ Proved I could build a real-world cloud application
The Cloud Resume Challenge was the perfect fit—combining frontend, backend, infrastructure, and automation into one cohesive project.
Architecture Overview
My resume website is built on Azure Static Web Apps with:
Frontend
HTML/CSS/JS (hosted in /public)
Fully responsive design (works on mobile & desktop)
Visitor counter (dynamic feature)
Backend
Azure Function (Python) for visitor counting
Cosmos DB (Table API) to store & retrieve counts
Infrastructure as Code (IaC)
GitHub Actions for CI/CD automation
Azure Static Web Apps for serverless hosting
Automation
Auto-deploys on Git push
Testing (future improvement)
Key Technical Challenges & Solutions
1. Visitor Counter with Cosmos DB
Problem:
I needed a serverless way to track visitors without managing a full database.
Solution:
Used Azure Functions (Python) + Cosmos DB Table API
Atomic increments ensure accurate counting
CORS headers for secure frontend-backend communication
Simplified Azure Function for counting
def increment_counter():
entity = table_client.get_entity(partition_key="counter", row_key="main")
entity["Count"] += 1
table_client.upsert_entity(entity)
return entity["Count"]
2. CI/CD with GitHub Actions
Problem:
Manual deployments are slow and error-prone.
Solution:
- Auto-deploy on Git push
- Separate build & deploy steps
# GitHub Actions Snippet
name: Deploy to Azure
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_TOKEN }}
app_location: "public"
api_location: "api"
skip_app_build: true
3. Cost Optimization
Problem:
Cosmos DB can get expensive if not configured properly.
Solution:
Used Table API (cheaper than SQL API)
Serverless pricing (pay-per-request)
What I Learned
🔹 Serverless architectures reduce operational overhead
🔹 CI/CD pipelines save time and reduce errors
🔹 Infrastructure as Code (IaC) makes deployments repeatable
🔹 Cloud cost management is crucial
Future Improvements
🚀 Add automated testing (Jest, Playwright)
🚀 Implement Terraform for IaC
🚀 Add authentication (Azure AD)
Final Thoughts
This project was a game-changer for my cloud career. It forced me to:
✔ Think in cloud-native patterns
✔ Automate everything
✔ Solve real-world problems
If you're learning cloud, I highly recommend the Cloud Resume Challenge!
Check out my live resume:
GitHub Repo:
Would you try the Cloud Resume Challenge? Let me know in the comments! 🚀
Top comments (0)