My Azure Cloud Challenge Journey

Welcome to my Azure Cloud Challenge page! This project has been an incredible learning experience, allowing me to dive deep into Azure cloud services while building a fully functional, cloud-hosted resume website. Below, I’ll walk you through the steps I took, the technologies I used, and the lessons I learned along the way.

1. Certification: AZ-900 Azure Fundamentals

To kick off the challenge, I earned the AZ-900 Azure Fundamentals certification. This introductory certification provided me with a solid understanding of Azure’s core services, pricing models, and cloud concepts. It was a great starting point for the challenge and helped me familiarize myself with the Azure ecosystem.

Lesson Learned: The AZ-900 certification taught me the importance of understanding cloud fundamentals before diving into hands-on projects. It also gave me confidence in navigating the Azure portal and selecting the right services for my needs.

2. HTML & CSS: Building the Resume

I wrote my resume in HTML and styled it using CSS. While I’m not a designer, I focused on creating a clean, professional layout that is both functional and visually appealing. Using VS Code as my code editor, I was able to efficiently write and debug my code.

Lesson Learned: This step reinforced the importance of writing clean, semantic HTML and using CSS to create a responsive design. It also reminded me that simplicity often leads to the best user experience.

3. Static Website: Azure Static Web App

Instead of using services like Netlify or GitHub Pages, I deployed my resume as a static website using Azure Static Web Apps. This service was perfect for hosting my HTML and CSS files, and it integrated seamlessly with my GitHub repository for continuous deployment.

Cost Optimization: I used the free tier of Azure Static Web Apps, which provided more than enough resources for my project. This allowed me to host my website without incurring any costs.

Lesson Learned: Azure Static Web Apps is a powerful and cost-effective solution for hosting static websites. Its integration with GitHub made deployment effortless, and the free tier is perfect for small projects like this one.

4. HTTPS & DNS: Securing and Customizing the Website

To secure my website, I enabled HTTPS using Azure CDN. This ensured that all traffic to my site was encrypted. I also purchased a custom domain from Porkbun.com for just $3 for the first year and configured it to point to my Azure CDN endpoint.

Lesson Learned: Configuring HTTPS and DNS taught me the importance of securing web applications and making them accessible via user-friendly URLs. It also gave me hands-on experience with Azure CDN and DNS management.

5. JavaScript: Visitor Counter

To make my resume more interactive, I added a visitor counter using JavaScript. This counter displays the number of people who have accessed my site. The counter updates dynamically by communicating with a backend API.

Lesson Learned: This step introduced me to the power of JavaScript for adding dynamic functionality to static websites. It also highlighted the importance of separating frontend and backend logic.

6. Database: Azure Cosmos DB

The visitor counter stores and retrieves its count from a Cosmos DB database. I used the Table API in serverless capacity mode, which is highly cost-effective for small-scale applications like this one.

Cost Optimization: By using the serverless tier, I minimized costs while still benefiting from Cosmos DB’s scalability and performance.

Lesson Learned: Cosmos DB is a versatile and powerful database solution. The serverless tier is perfect for projects with low traffic, as it ensures you only pay for what you use.

7. API: Azure Functions

To securely interact with Cosmos DB, I created an API using Azure Functions. The function, triggered by HTTP requests, handles the logic for retrieving and updating the visitor count.

Cost Optimization: I used the consumption plan for Azure Functions, which is a low-cost, pay-as-you-go option. This plan is ideal for lightweight applications and ensured that my costs remained minimal.

Lesson Learned: Azure Functions is a fantastic serverless compute option for building APIs. It taught me how to decouple frontend and backend logic while keeping costs low.

8. Version Control: GitHub

Throughout the project, I used GitHub for version control. This allowed me to track changes, collaborate with others (if needed), and deploy my code seamlessly to Azure Static Web Apps.

Lesson Learned: Version control is essential for any development project. GitHub’s integration with Azure made deployment straightforward and efficient.

9. Cost Optimization: A Key Focus

One of my primary goals for this project was to keep costs as low as possible. Here’s how I achieved that:

By carefully selecting the right Azure services and tiers, I was able to build and host my resume website for less than $5 per year.

Lesson Learned: Cloud cost optimization is a critical skill. By understanding pricing models and selecting the right tiers, you can build powerful applications without breaking the bank.

Conclusion

The Azure Cloud Challenge has been an incredible learning experience. It allowed me to gain hands-on experience with Azure services like Static Web Apps, Functions, Cosmos DB, and CDN, while also reinforcing my understanding of HTML, CSS, and JavaScript. Most importantly, it taught me how to build and deploy a cost-effective, cloud-hosted application from scratch.

I’m excited to continue building on this foundation and exploring more advanced cloud concepts in the future. Thanks for visiting my site, and feel free to reach out if you have any questions!