My Cloud Resume Challenge Journey
Tags: aws, beginners, cloud
Published: 2024-03-29 13:11:30

The Cloud Resume Challenge is an exciting opportunity for me to showcase my skills in cloud computing while creating a professional resume website. In this document, I will outline the steps I took to complete the challenge, including building the website, hosting it on the cloud, setting up infrastructure as code, optimizing and securing the setup, and sharing my journey with the community.

**1. Building the Resume Website**
I began by designing and developing my resume website using HTML, CSS, and JavaScript. I focused on creating a clean and professional layout that highlights my skills, experience, and projects.
I didn't have any experience before, so I took the basic steps, learned some more and done. Not a great one, I think that's a good one.

**2. Hosting on the Cloud** 
Instead of traditional web hosting services, I chose to host my resume website on Amazon Web Services (AWS) to gain hands-on experience with cloud platforms. I signed up for an AWS account and utilized services like Amazon S3 for static website hosting.

**3. Implementing a View Counter with Lambda & DynamoDB**
In this stage of the Cloud Resume Challenge, I focused on setting up DynamoDB, a NoSQL database service provided by AWS, and integrating it with an AWS Lambda function to handle dynamic content on my resume website.
* I began by creating a DynamoDB table to store dynamic data such as project details, work experience, and education history. I defined the table schema including primary keys and attributes based on the data structure required for my website.
* Next, I developed an AWS Lambda function using Python to retrieve data from the DynamoDB table and dynamically generate content for my resume website. This Lambda function was responsible for processing incoming requests, querying the DynamoDB table, and formatting the response.
* To allow the Lambda function to access the DynamoDB table and other AWS resources securely, I configured IAM roles and permissions. I created an IAM role with the necessary permissions to read data from the DynamoDB table and assigned it to the Lambda function.

_tips: Add permission "AmazonDynamoDBFullAccess" so your Lambda function can execute_

**4. Utilizing AWS Lambda and JavaScript to Implement a Viewer Counter**
In this phase of the Cloud Resume Challenge, I leveraged AWS Lambda and JavaScript to create a viewer counter feature for my resume website. This feature dynamically tracks the number of visitors to my website and displays the count in real-time, enhancing engagement and providing valuable analytics.

**5. Setting up Git Repository and CI/CD for Frontend Website**
In this segment of the Cloud Resume Challenge, I focused on establishing a Git repository and implementing Continuous Integration/Continuous Deployment (CI/CD) pipelines for my frontend resume website. This setup enabled me to streamline development workflows, automate deployment processes, and ensure the reliability and consistency of my website updates.

**6. Implementing Infrastructure as Code with Terraform**
In this phase of the Cloud Resume Challenge, I shifted my focus to Infrastructure as Code (IaC) using Terraform, a popular open-source tool for building, changing, and versioning infrastructure efficiently. By adopting Terraform, I aimed to automate the provisioning and management of cloud resources for my resume website, ensuring consistency, reliability, and scalability.