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 👀
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.
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.
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.
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).
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. 🥴