Working through the Cloud Resume Project - Azure Edition
What is the Cloud Resume Project?
If you've done any amount of research into methods of learning cloud technologies, or more specifically, if you've got some cloud knowlege and are looking to build a portfolio, you've likely come across the Cloud Resume Project. The Cloud Resume Project is a project that was created by Forrest Brazeal, a Senior Manager of Developer Relations at A Cloud Guru. The project is designed to help you build a portfolio of cloud projects that you can show to potential employers.
Before we get into the dirty details of what this post is about and what I'm doing, allow me to give credit where credit is due. The Cloud Resume Project was created by Forrest Brazeal, and you can find the original project in the link below. I am not affiliated with Forrest Brazeal or A Cloud Guru in any way. I am simply a fan of the project and am using it to build my own cloud resume.
Check out the Cloud Resume Project here
What to Do - Requirements
The Cloud Resume Project is structured in a way that participants walk through a number of key areas in a variety of technologies that will showcase thier technical abilities first hand, whilst also serving as an online resume ... hence the include of "Resume" in the project title. Clever.
You'll note that not every focus area is specifically focused on cloud technology (for example HTML, CSS, and JavaScript), but it can be easily argued that having these skills (or a rudimentary understanding of them) will help you immensely on your cloud journey.
Focus Areas of the Cloud Resume Project: Azure Edition
1. Certification - Azure Fundamentals (AZ-900)
Considered an entry level certification, focusing on the core features of Azure and the services that are available, the AZ-900 is a great place to start. While the project indicates the importance of this certification, it is not a requirement and I myself am still debating whether or not I will take it, though I have studied up enough to pass it as I work towards the more advanced (and infamously grueling) AZ-104.
2. Static Website - HTML
HTML - the backbone of the internet. The Project empahsizes the importance of having your resume written up in HTML in favour of how you may be accustomed to doing it in Word or Google Docs, or even a PDF. Why? Because it's a great way to showcase your skills in a simple and effective way.
3. CSS - Styling Your Resume
Style it. Please, style it. HTML is cool, but if you forget to give it some finesse, I may as well travel back to my parents house and dig up that old Pentiun 3 and dial-up modem, and load up Netscape Navigator to view your resume. Also, CSS is fund and easy to get some basics down.
4. JavaScript - Interactivity
Ok, we are getting a bit more sophistaicated now. JavaScript is a great way to add some interactivity to your resume. The Project suggests adding a counter that shows how many people have visited your site. Not a bad lil' project to get you started and I fully recommend it. I am coming from a background in JavaScript, and specifically React (Next.js) so I'll be showcasing a bit more than just a counter.
5. Static Website - Deploying Your Resume
The deployment of your site should be done through Azure Storage Static Websites. This is a great way to showcase your ability to deploy a static website in Azure. It's quite a bit easier, and ultimately cheaper, than deploying a full-fledged web app using Azure App Services which has a free tier, but I have found the uptime to be a bit spotty ... no, actually it's been terrible.
6. HTTPS
The Project highlights using the Azure CDN to add HTTPS to your site. This is a great way to showcase your ability to secure your site and provide a secure connection to your users. We will dive into how the CDN works to serve both content and secure your site.
7. DNS
The Project suggests using Azure DNS to manage your domain. This is a great way to showcase your ability to manage DNS records and configure your domain to point to your site.
8. Database - Azure Cosmos DB
In the JavsaScript section the suggestion is made to add a counter to your site. This counter will need to be stored somewhere, and the Project suggests using Azure Cosmos DB to store the counter. This is a great way to showcase your ability to work with databases in Azure. I'll dive into storage in more depth a bit later as I will have another external CMS that I will be using to store data.
For the purpose of the project however, there will be some areas where I will be using Cosmos DB. Since I'm writing this as I build the project, I'm not entirely sure how I will be using it yet and I may just end up recreating my CV that already exists with NextJS and Sanity.io (CMS) for the sake of the project.
Resource Options:
9. API
For this project, our app will need to communicate with our Cosmos DB, specifically using Azure Functions. This is a great way to showcase your ability to work with APIs and serverless functions in Azure. The Projecte authors have provide the following link to help you get started with Azure Functions:
10. Python - Azure Functions
Why Python, you ask? The Project designers, rightly I believe, suggest that you go beyond writing all your code in JavaScript and showcase that you can also work with Python. Python is a greate language to show as a skill on your resume as it is highly versatile and frequently used for scripting and automation tasks.
Suggested Python Courses:
This Udemy course covers a range of python topics
Note about Udemy - they have sales all the time. I've never paid more than $20 for a course. shhhhhh.
11. Tests
Nothing says "I know what I'm doing" like a good set of tests. Testing is a great way to showcase your ability to write clean, maintainable code. The Project authors offer the link to help familiarize yourself with testing Python code:
12. Infrastructure as Code - ARM Templates
This one is a bit more advanced. I'll quote the project author here:
You should not be configuring your API resources – the Azure Function, the CosmosDB – manually, by clicking around in the Azure console. Instead, define them in an Azure Resource Manager (ARM) template on a Consumption plan. This is called “infrastructure as code” or IaC. It saves you time in the long run.
Here are some things that you may want to reference:
Source Control
This step is directly tied to the next step (CI/CD) - I'd recommend using GitHub for this, but if you are confident, you might use any other sources control system, so long as you can integrate it with your CI/CD pipeline.

