George Attar Cloud Resume Blog Post

 

Introduction to AWS

Throughout the second half of this semester, I have gained a solid understanding of AWS, including its backend and frontend technologies like HTML, CSS, and JavaScript. Initially, I had concerns about keeping up with the pace of the lessons and comprehending the material. In one instance, the website failed to load in class, and I was uncertain whether it was due to my device or the internet. However, I was able to overcome this issue by reviewing the recorded class multiple times after class to ensure that I fully understood the concepts being taught. During this period, we focused on creating our cloud-based resumes using AWS. We started by setting up our AWS accounts and ensuring that we had all the necessary resources to proceed. Additionally, we learned how to secure our information using third-party systems like Duo. We also created our root accounts, which have complete control over all resources, as well as our Identity and Access Management (IAM) account, which allows us to manage Amazon Web Services users, groups, and set user permissions to control access to AWS resources.

EC2 Instances Development

The development of EC2 instances was our next step after setting up all the necessary accounts. We started with creating instances using the AWS console and also learned how to create instances via terraform and command prompt. While learning EC2 through AWS was relatively straightforward with the lessons provided in class, creating instances through terraform on Windows was a bit more complicated. We had to follow a set of steps to obtain the required line to enter the terraform command for creating the EC2 instances. Although we did not use this process in our cloud resume project, I found it very informative and useful for future reference. Moving on to the cloud resume project, I gained an in-depth understanding of EC2 instances and much more. We completed the basic lessons of AWS and moved on to the tasks required for our cloud resume project.

S3 buckets and HTTPS Setup

Our first task was to create S3 buckets to store all the code, including HTML, CSS, and Java, for our cloud resume project. Following the lessons provided in class, I successfully built the S3 bucket by carefully following each step to avoid any missteps that could cause the website to malfunction, as I learned the hard way. We completed the test S3 buckets and uploaded an image and a test index inside. The next step was to purchase a domain name from Namecheap.com, which would host our cloud resume's final form after being built in AWS. Once everything was set up, we tested the HTML by hosting a static website on an AWS S3 browser. After testing that it worked, we transferred the data to another S3 bucket using the cloud shell and policy generator, allowing us to access the data and creating a second (www.) bucket that allowed access to that data. We then connected to the website domain using the setup process through DNS service on AWS Route 53. To ensure the website's security, we went through the process of changing the website from HTTP to HTTPS using an SSL Certificate on AWS ACM for HTTPS Support. After this, we created our cloud front, invalidating all the updates to ensure that the website received the latest code. With all the main building blocks in place, we began the process of building the code, style, and design of the cloud resume. Before moving forward, we had to fulfill the requirement of adding a visitor counter to the website.

Visitor Counter and Cloud Resume Results

Although the step-by-step video for creating the visitor counter was easy to follow, it ended up causing me a lot of problems. Despite my best efforts to inspect the code thoroughly and use CloudFront to invalidate multiple times, I was unable to find the issue until my professor pointed out that I had misplaced a letter in the Lambda function. This mistake required me to rebuild the counter from scratch, but the process taught me valuable lessons that will stick with me. Despite the struggles I faced with the visitor counter, I persevered and was able to build my cloud resume to my specifications. I gathered all the necessary code and edited it to my liking, resulting in a final product that even surprised me. Despite the challenges I faced, I thoroughly enjoyed the process of learning how to use AWS and building a cloud-based resume.


Comments