#CloudGuruChallenge: Your resume in Azure

#CloudGuruChallenge: Your resume in Azure

TL;DR

azure_resume_website.png

The A Cloud Guru has launched the popular Cloud Resume Challenge, but this time focusing on the Azure cloud. I did take the challenge because I wanted to improve my experience with Microsoft Azure and there is nothing better than building a project from beginning to end.

Check out.

Github: github.com/allan-oliveira/azure-resume

Website: allanoliveira.pt

The Steps

1. Create a GitHub repository for your project

I easily have created a GitHub repository in my profile.

2. Inside of your GitHub repo, create your website

As my primary goal was learning about Microsoft Azure, I have used the following template for the Resume website.

To make it easier to customize the template, I used an Nginx Docker image to host the content.

3. Add a visitors counter to your website

Although I had already practiced with the Serverless Framework, I followed the challenge and developed the Azure functions using Visual Studio Code and its extension.

First I did the local development of the Azure functions and then I did the integration with Cosmos DB through its emulator. Then I have implemented in the website the request to the endpoint built into the Azure Functions.

Create a C# Azure Function

Azure Function HTTP trigger

Cosmos DB Input

Cosmos DB Output

Fetch Request

4. Deploy the website to Azure Blob storage

I have been working with Azure Storage for some time, so all I had to do was create a new Azure Storage Account and enable the Static Site feature.

5. Enable HTTPS and custom domain support

I have purchased the domain through the amen.pt site because it had a 1-year offer for a free domain. After that, I have set up the Azure CDN for the static site and did the setup for the custom domain plus the SSL certificate.

6. Set up GitHub actions

Having a previous understanding of the GitHub Actions, it was enough just reading over the documentation and setting up the necessary steps for implementing the CI / CD processes.

Storage blob static site Action

Azure Functions Action

The toughest part

I would say the hardest part was when I had to work with Azure Cosmos DB because it was my first contact with this database. After I figured out its partitioning, I could actually set up the bindings in the Azure Functions solution.

Conclusion

I have enjoyed accepting this challenge and will be aware of future challenges.

The message I take away is that it is not enough to just read posts or watch videos if you don't buckle down. It is only by getting hands-on that we can effectively improve any skill.

I would like to share the Learning Pyramid here because it is only by doing in practice that we really learn, and completing this challenge is an example of that.

Besides that, another great value is the documentation itself. We have to learn to read more of the documentation of the tools we are using.