From eff358ea84221fbc6ba7202b9e60b4a66344b5c8 Mon Sep 17 00:00:00 2001 From: Mohid Date: Tue, 2 Jan 2024 20:42:52 -0500 Subject: [PATCH] Recent Changes to Cloud Resume Challenge --- website/assets/images/AWS.png | Bin 0 -> 97975 bytes website/cloud-resume.html | 41 ++++++++++++++++++---------------- 2 files changed, 22 insertions(+), 19 deletions(-) create mode 100644 website/assets/images/AWS.png diff --git a/website/assets/images/AWS.png b/website/assets/images/AWS.png new file mode 100644 index 0000000000000000000000000000000000000000..512dc9ce033c6548b55f67f990dace6e5a18bf21 GIT binary patch literal 97975 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
FP93wP`jMT&Ac-qHsFo8zsK?3xBz3Pp-b3lxXo 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 literal 0 HcmV?d00001 diff --git a/website/cloud-resume.html b/website/cloud-resume.html index 55bbcb5..ae443ed 100644 --- a/website/cloud-resume.html +++ b/website/cloud-resume.html @@ -1,4 +1,4 @@ - ++ @@ -37,7 +37,7 @@
  • - +/ */ @@ -62,25 +62,28 @@

    AWS Cloud Resume Challenge

    I Envisoned myself to Apply my development knowledge

    -

    Sub Title for project

    -

    Phasellus non faucibus purus, a venenatis diam. In faucibus orci mauris, porttitor egestas diam elementum non. Vestibulum non metus tempus, sagittis libero sed, euismod purus. Cras dolor nulla, hendrerit vitae libero eu, finibus ultricies dolor. Vestibulum non metus tempus, sagittis libero sed, euismod purus. Cras dolor nulla, hendrerit vitae libero eu, finibus ultricies dolor.

    - -
      -
    • Phasellus non faucibus purus, a venenatis diam. In faucibus orci mauris, porttitor egestas diam elementum non.
    • -
    • Vestibulum non metus tempus, sagittis libero sed, euismod purus.
    • -
    • Vestibulum non metus tempus, sagittis libero sed, euismod purus. Cras dolor nulla, hendrerit vitae libero eu, finibus ultricies dolor. Vestibulum non metus tempus.
    • -
    - - - -
    -
    -
    -
    -

    Phasellus non faucibus purus, a venenatis diam. In faucibus orci mauris, porttitor egestas diam elementum non. Vestibulum non metus tempus, sagittis libero sed, euismod purus. Cras dolor nulla, hendrerit vitae libero eu, finibus ultricies dolor. Vestibulum non metus tempus, sagittis libero sed, euismod purus. Cras dolor nulla, hendrerit vitae libero eu, finibus ultricies dolor.

    +

    Setting up the frontend

    +

    + Next, I made an AWS account. The first service I used was S3, where I created a bucket to try to get a feel for it. Once I felt comfortable I made my real S3 bucket and hosted my frontend content as a static website. Once the site was hosted I purchased a domain name (chadiamond.io) in Route53. After purchasing the domain on Route53, I used Amazon Certificate Manager to get the certificates needed to secure the site. Once the certificates were created I used Amazon CloudFront to secure the site (over HTTPS). +

    +

    Setting up the backend

    +

    I spent a few days clicking around in AWS IAM, Lambda, DynamoDB and API Gateway. This is a good way to get to know the service and what it does. Once I felt comfortable, I set up a Visitor count function that my frontend would use to track the amount of visitors who visit my site. To start, I created all of these resources using the console. By the time I got it working I had encountered dozens of errors. First, I had to figure out how I wanted to store my visitor count in DynamoDB. This was fairly easy since I decided I only needed to read and write the same record. Next, I used Lambda to write the code needed to read and write from my DynamoDB table. It took me a few days, but I finally got this working (although I created all the resources manually). I also created my python tests using pytest. It was a simple test that just looked for a successful response (more on this and CICD later). At this point I only knew how to use the unittest library, but I came to find it was much easier and faster to use pytest (because of the tutorials I found for SAM) instead. +

    +

    Connecting the two

    +

    After my Lambda function, DynamoDB table and API Gateway were able to work together I was ready to write the JavaScript needed to display my visitor count. The flow needed was Fronted (S3) -> API Gateway -> Lambda -> DyanmoDB. Once I was able to get Javascript to hit an API and update the screen, my website kept giving me a CORS error. I copied my a bunch of variations of my error message into google to find the resources I needed to fix this error. The problem ended up being related to enabling CORS in API Gateway AND returning an appropriate response from Lambda. +

    +

    Infrastructure as Code (IAC)

    +

    Now that I had everything working, It was time to work with SAM to deploy the resources I needed for the project as infrastructure as code. This was my favorite part because SAM makes it extremely easy to deploy your services using infrastructure as code (AWS CloudFormation behind the scenes). Again, I deployed a practice project first because I was not confident using SAM, and I did not want to mess-up my working web-app. Now I can honestly say this was not an easy one and done as I made quite a few errors. YAML Indentation was one of the hardest things for me when it came to deployment. I realized that although SAM generated alot of the started code for me, undersatnding it would be necessary to add more resources such as a DynamoDB table. I kept receiving error message after error message but I was persistent and finally got it right. When the time came to SAM deploy my project I was ready and confident it would work, and the cool thing is now that I had it as IAC I could create and delete the resources at will. This is when the real usefulness of IAC was clear to me. +

    +

    CI/CD

    +

    Finally, after my project was fully functioning I used GitHub Actions to set up CI/CD. I have a few projects hosted on GitHub but I had never worked with or heard of GitHub Actions. The first thing I did was read GitHub's documentation to see how everything should be set up. Next, I had followed their docs and made my backend redeploy (using a cool SAM Github Action) once the tests were passed. Next, and this is the most useful part, I setup my frontend GitHub repo to automatically push to s3! This was really cool if you are anything like me and like to change things often. This was a game changer because now if I want to edit my website, I just make the change locally, commit to GitHub and the change will be live! +

    +

    Getting Certified

    +

    Lastly, I created a study guide and studied about 2 weeks for the cloud practitioner certification exam and passed! This was a fun project and I've aquired skills that I will continue to develop. I highly recommend this challenge to anyone who is learning to code or learning cloud development. Please reach out to me on LinkedIn or via email if you have any questions! P.S I am happy to share my study guide if anyone is interested.

    +
    @@ -96,7 +99,7 @@

    Ready to talk?

    Feel free to contact us

    Lets Talk - © 2022 All rights reserved. Free minimal bootstrap template by Designstub. +