Writeup for “Cloud Resume Challenge”

Hi there! In this post, I share my practice during joining the “Cloud Resume Challenge” (CRC). I heard about this challenge by the tweet of Forrest Brazeal.

Some information about me, I am just a freshman in Cloud computing. I started researching around the AWS 3 months ago as there are my tasks at work. I found that this challenge is very helpful for me, I can review my knowledge and know more about AWS as well. Besides that, I will have a CV on the ☁️, that it is indeed needed in my near future.

After a week of researching and coding, I can proudly say I’ve been able to complete almost all of the tasks on the challenge. Take a look at my result: https://cv.tvqhub.com 👀

1. Certification

To be honest, I only completed the course AWS Cloud Practitioner Essentials and not have any AWS Certifications for now. Nevertheless, I continue to discover more to prepare for the certification as I think the certification is the ticket that will bring you to go far in this field.

2. HTML & 3. CSS & 7. Javascript

I have been attracted by the template Resume by Start Bootstrap, it is not only a small and clean template but also easy to start and not take so much time on the front-end side.

In addition, I also try to minify the CSS that only keeps the used CSS to increase the performance then the site bandwidth will be less. The tool I used is https://purifycss.online.

For the JS, I use the jQuery Ajax for calling API and the library countUp.js to make a counter animation.

4. Static S3 Website

After downloading the template and do some setup on local, I create a bucket on S3 to upload all files manually then get the first point on the cloud.

5. HTTPS

I learned that S3 only generates the HTTP protocol URL, in order to redirect HTTPS, we need help from CloudFront. I also study about creating a Certificate in ACM to manage My Custom Domain for the resume URL.

6. DNS

Actually, I use Cloudflare instead of Route53 because it is free for me. So I just go to Cloudflare and point the subdomain to the CloudFront distribution URL (*.cloudfront.net).

8. Database

DynamoDB is a great choice for the website like this, it is easy to store simple data. I will apply this stack for my future side projects.

9. API & 10. Python & 11. Test

I use the Lambda with Python code, this is the first time I try this programming language. I write code on the boto3 framework and I love it, an easy start for the newbie. For example, in this challenge, I need to connect the Python code with DynamoDB, therefore I will read on this document https://boto3.amazonaws.com/v1/documentation/api/latest/guide/dynamodb.html

However, I skip the Test for now as I just make the first step with Python, I will back into this later.

After writing the Lambda function, we need to register an API Gateway to generate a URL that put into JS Ajax code. In this step, I have some trouble with CORS, but no worry as everything will end with a happy result unless it has not ended yet.

12. Infrastructure as Code

fIt is a best practice that keeps everything you deployed on Cloud with the control by code or template. I have known about the CloudFormation, then in this challenge, I would like to learn about SAM. I found that on SAM we could debug our Serverless easily with the help of Docker.

Here is the infrastructure of my approach on this challenge.

13. Source Control + 14 + 15. CI/CD

Above all, Github and Github Actions are my choices. Now I could stay anywhere, update my code and push then… everything is automatically deployed to the Cloud.

You can explore my code on https://github.com/tvqqq/cloud-resume-challenge 🌟

16. Blog post

Here it is 😂.

Lately, I would like to say many thanks to Forrest Brazeal for creating this challenge. Hope more cloud challenges will come in the next time!

P/s: My blog is mainly for Vietnamese, this is my first English post. Therefore, so sorry for my bad English and the inconvenience of the blog. I am attempting to improve my English more fluently. 🥴