Cloud Resume Challenge Blog Post
Tags: beginners, aws, cloud
Published: 2022-04-26 14:04:09

**The Challenge** 

To create a website that will host your resume using several different AWS services. This will include some basic front-end basics, like HTML and CSS to create the page. The more difficult part will come when deploying the back end  of the project. This will include using some coding language like Java, Python and YAML and a whole bunch of curse words. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1rmzluzwrbfdvfergqsf.jpg)



**HTML and CSS**
Before you begin make sure to have your resume ready and typed up this will make your life easier. Given the fact that I had never written or used HTML to write a static website this was a little hurdle but easily overcome. I used https://www.w3schools.com/ and started to play around with copying and pasting my resume till I got it to work. I also learned a little HTML in the process which you can do too. The CSS is what gives the style and color to the website. This was a little more difficult and I just added it onto the HTML and worked on it from there. My web page isn’t exactly the prettiest. I later went back and fixed the CSS and also split so changes can be made to the individual files. This was done through github explained later in the blog. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2wajkutjpkbxvhco8w37.jpg)

**Static website** 
This requires you to create an S3 bucket to host your static content for your website. I actually created the S3 bucket first to save my index.html and CSS files. The challenge here is to enable the correct permissions to make content available for your website. This will require a little JASON scripting and reading the white pages from AWS. Read the AWS resources this will make the process smoother! Also if you are using AWS Academy or Cloud Guru I recommend the S3bucket lab first;-). 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ikpgeikmk0be5x9l6h63.png)

**DNS** 
To create a DNS I used AWS route 53 to register the domain name. It was fairly simple and straightforward. I also, with a little exploring, was able to block all regions and countries except for the U.S. . Once this was completed I created my cname records and enabled https. 

**DynamoDB** 
This is a non-relational database offered by Amazon. The steps were pretty easy and I did have some experience with DynamoDB from before, that being said, I did stumble onto a pretty useful website that gives you step by step detail. Here is the  link https://shishirkh.medium.com/guide-to-the-cloud-resume-challenge-part-3-dynamodb-api-gateway-and-lambda-functions-8fc039bc862b
This is a good source for your API and Lambda functions that will be covered shortly. 

**API and Lambda Function **
A server-less computer service called Lambda was used to run code without managing servers; this required a lot of patience and slow and methodical scripting. The Lambda function when triggered to increment the DynamoDB count.  Writing the Lambda function was a struggle to say the least, many curse words and trial and error later it finally worked. This was no joke and what was wrong was a comma in the wrong spot.  
The setting up of the API is a lot simpler than expected: a few trial and errors and some researching and it was working. Keep in mind CORS plays an important role don’t forget it. 

https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-from-example.html


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g5a7kc6blgaia0wew55y.png)


**Continuous integration and Source Control**

This was a pretty easy step much to my surprise. I did a little research, found and deployed changes from github with little effort. This beats the hell out of making changes saving and uploading to the S3 bucket. Why was this not step one? I have no Idea but it would have saved me sometime in the beginning.