<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bikila Hunde</title>
    <description>The latest articles on DEV Community by Bikila Hunde (@bikila_hunde_df0a4ddf8d66).</description>
    <link>https://dev.to/bikila_hunde_df0a4ddf8d66</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3409525%2F2e287043-297d-4389-aa8d-2e257c3f25b5.jpg</url>
      <title>DEV Community: Bikila Hunde</title>
      <link>https://dev.to/bikila_hunde_df0a4ddf8d66</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bikila_hunde_df0a4ddf8d66"/>
    <language>en</language>
    <item>
      <title>My Journey Through the Cloud Resume Challenge: Building a Serverless Portfolio</title>
      <dc:creator>Bikila Hunde</dc:creator>
      <pubDate>Sun, 03 Aug 2025 12:42:49 +0000</pubDate>
      <link>https://dev.to/bikila_hunde_df0a4ddf8d66/my-journey-through-the-cloud-resume-challenge-building-a-serverless-portfolio-3a47</link>
      <guid>https://dev.to/bikila_hunde_df0a4ddf8d66/my-journey-through-the-cloud-resume-challenge-building-a-serverless-portfolio-3a47</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;In this blog post, I’ll walk you through:&lt;br&gt;
✅ Why I chose the Cloud Resume Challenge&lt;br&gt;
✅ The architecture of my solution&lt;br&gt;
✅ Key technical challenges &amp;amp; learnings&lt;br&gt;
✅ How this boosted my cloud skills&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why the Cloud Resume Challenge?&lt;/strong&gt;&lt;br&gt;
As someone transitioning into cloud engineering, I needed a hands-on project that:&lt;br&gt;
✔ Demonstrated cloud skills in a practical way&lt;br&gt;
✔ Automated deployments using CI/CD&lt;br&gt;
✔ Integrated serverless components (Azure Functions, Cosmos DB)&lt;br&gt;
✔ Proved I could build a real-world cloud application&lt;/p&gt;

&lt;p&gt;The Cloud Resume Challenge was the perfect fit—combining frontend, backend, infrastructure, and automation into one cohesive project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architecture Overview&lt;/strong&gt;&lt;br&gt;
My resume website is built on Azure Static Web Apps with:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frontend&lt;/strong&gt;&lt;br&gt;
HTML/CSS/JS (hosted in /public)&lt;/p&gt;

&lt;p&gt;Fully responsive design (works on mobile &amp;amp; desktop)&lt;/p&gt;

&lt;p&gt;Visitor counter (dynamic feature)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend&lt;/strong&gt;&lt;br&gt;
Azure Function (Python) for visitor counting&lt;/p&gt;

&lt;p&gt;Cosmos DB (Table API) to store &amp;amp; retrieve counts&lt;/p&gt;

&lt;p&gt;Infrastructure as Code (IaC)&lt;br&gt;
GitHub Actions for CI/CD automation&lt;/p&gt;

&lt;p&gt;Azure Static Web Apps for serverless hosting&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automation&lt;/strong&gt;&lt;br&gt;
Auto-deploys on Git push&lt;/p&gt;

&lt;p&gt;Testing (future improvement)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Technical Challenges &amp;amp; Solutions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Visitor Counter with Cosmos DB&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I needed a serverless way to track visitors without managing a full database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Used Azure Functions (Python) + Cosmos DB Table API&lt;/p&gt;

&lt;p&gt;Atomic increments ensure accurate counting&lt;/p&gt;

&lt;p&gt;CORS headers for secure frontend-backend communication&lt;/p&gt;

&lt;h1&gt;
  
  
  Simplified Azure Function for counting
&lt;/h1&gt;

&lt;p&gt;def increment_counter():&lt;br&gt;
&lt;code&gt;entity = table_client.get_entity(partition_key="counter", row_key="main")&lt;br&gt;
    entity["Count"] += 1&lt;br&gt;
    table_client.upsert_entity(entity)&lt;br&gt;
    return entity["Count"]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. CI/CD with GitHub Actions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;br&gt;
Manual deployments are slow and error-prone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Auto-deploy on Git push&lt;/li&gt;
&lt;li&gt;Separate build &amp;amp; deploy steps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;# GitHub Actions Snippet&lt;br&gt;
  name: Deploy to Azure&lt;br&gt;
  uses: Azure/static-web-apps-deploy@v1&lt;br&gt;
  with:&lt;br&gt;
    azure_static_web_apps_api_token: ${{ secrets.AZURE_TOKEN }}&lt;br&gt;
    app_location: "public"&lt;br&gt;
    api_location: "api"&lt;br&gt;
    skip_app_build: true&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Cost Optimization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;br&gt;
Cosmos DB can get expensive if not configured properly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Used Table API (cheaper than SQL API)&lt;/p&gt;

&lt;p&gt;Serverless pricing (pay-per-request)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Learned&lt;/strong&gt;&lt;br&gt;
🔹 Serverless architectures reduce operational overhead&lt;br&gt;
🔹 CI/CD pipelines save time and reduce errors&lt;br&gt;
🔹 Infrastructure as Code (IaC) makes deployments repeatable&lt;br&gt;
🔹 Cloud cost management is crucial&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Future Improvements&lt;/strong&gt;&lt;br&gt;
🚀 Add automated testing (Jest, Playwright)&lt;br&gt;
🚀 Implement Terraform for IaC&lt;br&gt;
🚀 Add authentication (Azure AD)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;br&gt;
This project was a game-changer for my cloud career. It forced me to:&lt;br&gt;
✔ Think in cloud-native patterns&lt;br&gt;
✔ Automate everything&lt;br&gt;
✔ Solve real-world problems&lt;/p&gt;

&lt;p&gt;If you're learning cloud, I highly recommend the Cloud Resume Challenge!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://lively-dune-0dcea4703.1.azurestaticapps.net" rel="noopener noreferrer"&gt;Check out my live resume:&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/bikilath/cloud-resume" rel="noopener noreferrer"&gt;GitHub Repo:&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would you try the Cloud Resume Challenge? Let me know in the comments! 🚀&lt;/p&gt;

&lt;h1&gt;
  
  
  CloudComputing #Azure #DevOps #Serverless #CloudResumeChallenge
&lt;/h1&gt;

</description>
    </item>
  </channel>
</rss>
