Mechanic to Cloud - work in progess
Mechanic to Cloud - work in progess
The Cloud Resume Challenge, created by Forrest Brazeal, is a project designed to help people gain practical experience with cloud technologies and stand out as job candidates. It's not a traditional tutorial, but rather a set of goals you need to achieve by figuring things out yourself.
Why is it Different?
- Focus on Learning - Unlike tutorials, the challenge pushes you to learn by doing and troubleshooting problems on your own. This 'trial by fire' approach reinforces knowledge better than memorisation
- Open-ended Project - The challenge provides a roadmap but lets you figure out the details. This simulates real-world cloud engineering where you need to learn new things quickly and adapt
- Valuable for Everyone - The challenge benefits both beginners and experienced professionals. Beginners gain practical skills, while experienced professionals can learn new technologies and showcase their problem-solving abilities.
What Does the Challenge Entail?
The challenge involves building a functional resume website hosted on AWS, covering the following:- Certification - Earn the AWS Cloud Practitioner certification
- Build the website - Create a website using HTML and CSS
- Deploy to AWS - Host the website on an Amazon S3 static website
- Secure the website - Use HTTPS with CloudFront for secure access
- Connect a custom domain - Register a domain name and point it to your website
- Add a visitor counter - Implement a visitor counter using Javascript
- Store visitor data - Use a database (DynamoDB) to store visitor count data
- Create an API - Build an API (API Gateway & Lambda) to interact with the database
- Use Python - Write the back-end logic in Python for the API
- Write Tests - Ensure the code functionality with unit tests
- Use Infrastructure as Code (IaC) - Define your cloud infrastructure using AWS Serverless Application Model (SAM)
- Version Control - Manage your code using a Github repo
- Automate Deployment (CI/CD) - Set up Github Actions to automate code testing and deployment
- Share Your Experience - Write a blog post detailing your learning experience during the challenge
There are particular areas I did differently. For example the website build, this was made using Next.js, Material UI as well as CSS and Tailwind (tapping into the skills learnt from my software developer course).
For the cloud, I added AWS CodeBuild and SSM Parameter Store (storing env variables) to automate the static folder creation (npm run build). The CodeBuild phase was particularly challenging as I had never used it before, especially getting my head around the Buildspec.yml file (This file being a set of build instructions).
Most of these changes I had to do differently from the guide primarily due to the fact I was using Next.js, not vanilla HTML, CSS and JavaScript.
The following images below are the cloud architectural digrams with draw.io, along with my low and high-fidelity designs using Ok! So... and Figma. As you can see, the general structure of the site is very similar to the final product, but I have also made a number of changes during the building stage.
TBA
TBA
Project details pending...⏳