My journey doing the Cloud Resume Challenge
Tags: aws, cloud, devops, serverless
Published: 2022-12-17 05:09:29

I started the **Cloud Resume Challenge** with a little background in web development and zero knowledge of the cloud. I had a conversation with a customer at my current work about aws and cloud and wanted to learn more. I stumbled upon the **Cloud Resume Challenge** and decided to give it a go knowing some HTML/CSS/JavaScript & Python I thought it wouldn't be too bad learning the new concepts.

Starting the challenge I dove head first and went step by step in order starting with:

**Certification**
Being completely new to the AWS and cloud world I achieved the  AWS Certified Cloud Practitioner Certification in November 2022 after studying the material and memorizing all the new information for a few weeks.

**Front-end (HTML/CSS/JavaScript)**
I've done some websites in HTML and CSS before but it was years ago in school/bootcamp so I decided to follow along a basic YouTube web development video (with some changes here and there) to refresh my memory. Once the page was finished, I used a little JavaScript and Googlefu to add a visitor counter to the website (which updates and fetches to the back end).

**Static Website, HTTPS & DNS**
I had very little knowledge with S3 other than the certification and the AWS Cloudquest game that has little interactive learning sections. That being said, getting the website up and running was pretty straightforward and simple. Just poking around the CloudFront, S3, and AWS Route 53 services I was able to purchase a custom domain name, configure the ACM to get a certificate and get the site up and running all with relative ease (and some googling of course).

**Back-end (Database, Python, API)**
To get the visitor counter to work I needed some backend infrastructure and logic. To start I made a simple **DynamoDB** table with one item that will store and update the visitor count number. Next I worked on the **Lamba** function using Python to retrieve and update the count in the database table I made. In the **AWS Lamba** dashboard there was a really simple way to add our **API Gateway** that we will need to communicate with the database as well. I was a little rusty on the python code but between some Googlefu, reading the boto docs, and coming back a different day... I was able to get it up and working with the visitor counter refreshing live! 

**Infrastructure as Code (IaC)**
Initially I was going into each service on the AWS console and setting up the services to communicate to each other. While simple and easy to use, making any changes to any part of the challenge was proving to be a nightmarish headache because I was having to poke in each service and see where I was going wrong. The challenge introduces me to IaC and I start learning and reading about AWS SAM. I read a few blogs and watched some videos on AWS SAM and it was confusing me. Through some trial and error and a few late nights I got my templates all setup correctly and working just like before except now I had everything centralized. This part of the challenge really gave me some struggle but once it was finally all working I can definitely see the benefits and power over doing it this way than before.

**Source Control + CI / CD (Backend and Frontend)**
In my brief stint in school and summer bootcamp we used Git and GitHub quite a bit. Setting up the GitHub actions and repositories were pretty easy and straightforward. My biggest hang-up was honestly just learning the .yml syntax and workflow templates. Once that was down it was a done deal!

**Completed Project**
Take a look at what I did here https://durstelerrentals.com/.
At this point I've completed the Cloud Resume Challenge and I honestly really enjoyed it. I am actively applying for entry cloud roles and going to start another project.