What is this project and why was it done?
What you see here is the Azure Resume challenge completed. Essentially, the aim was to:
I wanted to complete this project as I'm an aspiring cloud engineer and wanted to gain practical experience of: deploying and connecting services, troubleshooting and scripting.
...me? What were the chances?
To say that this project was easy would be me lying. But you are reading this...which means I am very stubborn (un)fortunately.
Mindset shift required to stay resilient: Fail often, Fail forward
Have you ever heard about the 4 stages of competency? It's a model that talks about the different stages of learning a new skill:
For me, each new stage was me jumping back and forth between the “unconscious incompetence” and “conscious incompetence”. In summary, I learned a whole lot about what I didn’t know. It was humbling shift in identity. During the day, while working as an associate psychologist, I was confident and even mentored new starters and during the evenings I became a beginner. Every step involved words and contexts I had never heard of. There was a lot of stopping, to understand and research and try. Then, I'd return to the challenge and troubleshoot. This happened multiple times, and sometimes in cycles. My motto had to become "fail often, fail forward"... so much so that I celebrated having a different error, rather than the same one!
My favourite mistakes
1) Folder organisation is a must!
I didn’t realise how important essential file placements and local folder structures were for deployment and CI/CI.
I remember attempting to deploy Azure Functions multiple times using ARM but the function code couldn’t be found.
After days of troubleshooting, I giggled out of tiredness when I realised that all I needed to do was to organise my folders and files better! However, I clearly hadn't learn it wekk so I life taught me the same lesson...twice!
I was trying to set up the GitHub workflow, but I one point I kept coming across an error relating to not being able to open a zip file it had automatically created from local repository. Again, a lot desperation just to find out I had collected and upload a bunch of unnecessary files which was confusing the workflow. Lesson learned for sure! Here's the screenshot of the success :)
2) So many dependencies!
My first attempt to create the function app ARM template was a lot of troubleshooting. Prior to that, I had attempted to create resources using the portal (which creates required dependent resources such as Storage) automatically. Due to that, naively, I assumed that if I wanted the create the Function app using ARM templates,all I'd need to do is to mentioned I wanted Functions created and that Azure would read my mind and create the rest of the dependencies! However the error logs soon corrected me! It was then that I realised i needed storage, so I added it. And then realised I needed a service plan…and then application insights! I truly understood how co-dependent some Azure resources are. I will not take for granted all the automatic work that the portal does for us...ever again!
3) Bankruptcy while trying to make this project? Not me!
I must admit that the quickest tool I learned how to use was the cost management tab! This was the first time I had ventured into Azure services and was worried about racking up a bill accidentally. At the start of my project I had initially chosen Azure front door to host my static website however the forecast cost began to look pricey (for a project that was meant to be virtually free). So I did my research and realised that Azure CND would be as good! I became so good at it that Azure advise doesn’t even have any more suggestions on how I can optimise my costs!
I was relentlessly bullied by error logs however I am proud of my resilience (aka stubbornness!)
Homepage | My Resume