DEV Community

Alex Benavente
Alex Benavente

Posted on

Cloud Resume Challenge

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)