I recently came across the “Cloud Resume Challenge” created by Forrest Brazeal. This seemed like a rewarding project to learn and expand my skills in the field of DevOps. It is a personal project designed for novices to get hands-on experience implementing systems and workflows that they would use in a DevOps role. The Challenge is as follows:
The Cloud Resume Challenge - AWS
Certification
Your resume needs to have the AWS Cloud Practitioner certification on it.
I had already earned the AWS Cloud Practitioner certification when I came across this challenge, so this first step was already accomplished. I hope to use this project as a learning experience as I pursue earning more AWS certifications in my career.
HTML
Your resume needs to be written in HTML.
CSS
Your resume needs to be styled with CSS.
I am already versed in HTML and CSS. I found a free Bootstrap template to modify and personalize a simple Resume webpage design.
Static Website
Your HTML resume should be deployed online as an Amazon S3 static website.
HTTPS
The S3 website URL should use HTTPS for security.
DNS
Point a custom DNS domain name to the CloudFront distribution, so your resume can be accessed at something like my-c00l-resume-website.com.
I logged into my AWS account and created an S3 bucket configured to host a static website and store my newly created HTML and CSS files. I used the AWS CloudFront service to distribute web traffic to my S3 bucket and to secure using HTTPS. I used AWS Route 53 to register a custom domain name and then configured the DNS routes to direct traffic to my newly configured CloudFront distribution.
Javascript
Your resume webpage should include a visitor counter that displays how many people have accessed the site.
Database
The visitor counter will need to retrieve and update its count in a database somewhere.
API
Create an API that accepts requests from your web app and communicates with the database.
Python
Write Python code in a Lambda function; a common language used in back-end programs and scripts – and its boto3 library for AWS.
I used AWS DynamoDB as the database to store my Visit count value. I created an AWS Lambda function written in Python to update this value in my DynamoDB. I learned I had to make sure I gave my Lambda function Permissions to access the DynamoDB. I used AWS API Gateway to call my Lambda function. Again I struggled a bit troubleshooting the API integration with my page because of another Permissions issues, but eventually found out I needed to change my CORS configuration to get the call working. I added Javascript to my website files to make the API call and update my HTML webpage.
I will update as I continue moving through the rest of the challenge.
Top comments (0)