Cloud Resume Challenge - Part 1: Earning my AWS Cloud Practitioner Certification
Tags: beginners, cloud, resume, challenge
Published: 2023-04-27 22:57:53

Back around October of 2022, I did something that I could never have seen myself doing, which was to sign up for the UCI Continuing Education Division's Cybersecurity Boot Camp.

Before the class began I did a lot of research in the different areas of Cybersecurity and learned a lot of new terminology, like "pentesting" and "white hat".

Seeing some sources siting the need for coding in some of the roles and not wanting to be intimidated by this, I started studying python on the Mimo app and got my entry-level PCEP certificate in November.

Wanting to have a good idea of what I was getting myself into, I reached out to some friends who were already in the industry, who strongly urged me to focus on Cloud.

While doing more research, I came across the Cloud Resume Challenge by Forrest Brazeal, and it peaked my interest. Though I completely forgot about it once my course began, I did make a mental note that the first step was to obtain the AWS CCP.

In December, I studied as much as I could for about 2 months between my course work and my full-time job using the extremely fun and helpful _AWS Skill Builder Cloud Practitioner Essentials Course_ and was able to secure the CCP last month on March 16th!

I remember being incredibly nervous, but confident on the day of the exam and was smiling ear-to-ear when I walked back to my car, victorious. 

(_If you ever need a confidence boost, I highly recommend passing a certification exam!_)

I'm currently studying for my Security+ exam now and look forward to graduating in June!

After doing more research, specifically into Cloud roles, I followed a little activity I found on youtube by a channel called, "Open Up The Cloud" and started feeling more and more that Cloud Engineering with a strong Cybersecurity foundation was the path for me.

Highly recommend the video (and the channel in general) if you too are struggling with choosing a role in Cloud. It really helped me wrap my head around things and gave me some much-needed insight and perspective: https://youtu.be/E0haz6mymxY

While looking through my saved bookmarks a couple weeks ago, I once again stumbled upon the Cloud Resume Project and decided to try and complete it before graduation. 

After all, I have the first step done, and how cool would it be to have my own little happy home on the internet where I can display all the things I've learned and all the certificates I've earned at the end of the program?!

The steps for the challenge are as follows (AWS Version):
1. ~~Earn the AWS Cloud Practitioner Certification and add it to the website.~~
2. Write your resume in HTML.
3. Add CSS to add styling to your web-page.
4. Add the resources of the website to an S3 bucket on AWS and deploy it as a static website.
5. Utilize Amazon CloudFront to ensure you are using HTTPS instead of HTTP so that data is transferred securely between the webserver and the user's browser.
6. Obtain a domain from any provider and use Amazon Route 53 to set up the DNS registry.
7. Use Javascript to add a visitor counter to your website.
8. In order for the visitor counter to function, we will be using a database. I have chosen to use DynamoDB.
9. Using AWS API Gateway and Lambda, we will communicate with DynamoDB using an API that accepts requests from the web app and communicates them to the database.
10. Our Lambda function will require either more Javascript or Python, but honestly I would rather do this entire thing in Python, so I will use Python and its boto3 library in AWS.
11. Write some good Python tests...guess I will learn what that means! lol
12. Learning Infrastructure as Code--the challenge asks that we do not configure our API resources (DynamoDB, API Gateway, and the Lambda function) manually in our AWS Management Console. Instead we will define them in AWS SAM (Serverless Application Model) and deploy them using the CLI (Command-Line Interface).
13. Creating a GitHub Repo for our backend code.
14. Setting up Github Actions in order to start working with CI/CD (Continuous Integration and Deployment) for the back end of the project. It should work to where when you push updates to SAM or in Python, the Python tests get run. If the tests pass, SAM should get the packages from the repo and deploy to AWS.
15. Creating a second GitHub Repo for the front end code so that when new code gets pushed, the S3 bucket's front end contents get updated.
*There's a note in this step: "You may need to invalidate your AWS CloudFront cache in the code. And DO NOT commit AWS credentials to source control. Bad hats will find them and use them against you!"
16. Blog Post--the step mentions to wait until the end to write a short blog post describing what you learned while working on the project. But I want to write about my experience, frustrations, obstacles, etc. for each major step in the challenge and then wrap up with a summary blog post.

Anyway...

Challenge Accepted! Let's do this! >:) 

If you would also like to take the challenge, it can be found here: https://cloudresumechallenge.dev/docs/the-challenge/