The AWS Cloud Resume Challenge: Your Gateway to Cloud Engineering (Part 1)


The Cloud Resume Challenge has become a cornerstone project for aspiring cloud engineers, offering hands-on experience with real-world AWS services while building something genuinely useful—a professional resume website. This comprehensive guide walks you through each step of creating your cloud-hosted resume that demonstrates your technical skills to potential employers.
What You'll Build
By the end of this challenge, you'll have created a complete serverless web application featuring:
A responsive HTML/CSS resume website
HTTPS-enabled custom domain
Global content delivery via CloudFront
Visitor counter with real-time updates
Infrastructure as Code (IaC) deployment
CI/CD pipeline for automated deployments
Prerequisites and Setup
Before diving in, ensure you have the following foundation:
Technical Requirements:
Basic HTML/CSS knowledge for frontend development
Familiarity with Python or JavaScript for backend functions
Understanding of Git version control and GitHub workflows
An active AWS account with appropriate permissions
Tool Setup:
AWS CLI installed and configured with your credentials
Code editor of choice (VS Code recommended)
Git is installed locally for version control
The beauty of this challenge lies in its progressive complexity—you start with simple static hosting and gradually incorporate advanced cloud services.
Phase 1: Building Your Digital Foundation
Creating the Resume Website
Start by crafting a clean, professional HTML resume. Focus on semantic markup and responsive design principles. You index.html
should include all essential sections: contact information, experience, education, and skills. The CSS should ensure your resume looks polished across all device sizes.
Key considerations for your resume design:
Use a mobile-first approach for responsiveness
Implement proper semantic HTML structure
Choose professional colours and typography
Ensure fast loading times with optimised assets
Static Website Hosting with S3
Amazon S3 provides an excellent platform for hosting static websites. Create a new S3 bucket with a descriptive name like yourname-resume-website
. The bucket configuration requires careful attention to public access settings—you'll need to allow public read access for website hosting while maintaining security best practices.
Enable static website hosting in your bucket properties, specifying index.html
both the index and error document. Upload your HTML, CSS, and any image assets. The S3 static website endpoint provides your first accessible URL, although it won't be your final domain name.
When creating an Amazon S3 bucket intended for website hosting, ensure that the bucket name exactly matches the domain name you wish to register. For example, if your domain is
abc.com
, the corresponding S3 bucket should be namedabc.com
. In my experience, I was initially unable to locate the appropriate S3 endpoint to assign as an A record within the hosted zone. This will facilitate testing of HTTP delivery from S3. This configuration can later be updated with a CloudFront distribution endpoint.
Phase 2: Professional Domain and Security
Domain Registration with Route 53
A custom domain transforms your project from a learning exercise into a professional portfolio piece. Route 53, AWS's DNS service, simplifies domain registration and management. Choose a domain that reflects your professional identity—many developers opt for .cloud
or .dev
extensions to emphasise their technical focus.
After registration, Route 53 automatically creates a hosted zone with the necessary DNS records. This hosted zone becomes your control centre for all DNS configuration throughout the project.
I registered my domain through Namecheap.com, as its pricing was more competitive compared to AWS’s domain registration costs. I selected a
.com
domain using a promotional offer available for new customers. After completing the registration, I proceeded to create a hosted zone in AWS Route 53. Subsequently, I configured the domain by updating its name server settings to include the AWS-provided name servers under the "Custom Name Servers" section.
HTTPS Implementation with CloudFront and ACM
Security is non-negotiable for modern web applications. AWS Certificate Manager (ACM) provides free SSL certificates, but remember to request your certificate in the US East (N. Virginia) region for CloudFront compatibility.
CloudFront, AWS's content delivery network, serves multiple purposes in your architecture:
Enables HTTPS termination with your ACM certificate
Provides global edge locations for improved performance
Offers caching capabilities to reduce origin load
Integrates seamlessly with other AWS services
Configure your CloudFront distribution with your S3 bucket as the origin, attach your SSL certificate, and update your Route 53 records to point to the CloudFront distribution rather than directly to S3.
Since the CloudFront distribution is configured with default cache levels, any changes made will reflect on the resume portfolio after approximately 24 hours. It is recommended to retain the default cache settings, particularly given the low traffic volume to the website. However, if the site experiences high traffic, it is advisable to utilize the accelerated cache edge option in order to update edge locations with a lower TTL (Time To Live) value.
Subscribe to my newsletter
Read articles from Praneeth Perera directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Praneeth Perera
Praneeth Perera
As a Senior System Administrator at NoeHow, I specialise in network analysis, troubleshooting, automation, and system migrations using Python, Perl, Bash, and MySQL. I'm passionate about training teams and staying current with emerging technologies to optimise system functionality and user experiences. With RHCE and AWS Certified Solutions Architect Associate certifications, a B.Sc. in Information Systems from the University of Colombo, an MBA from the University of Bedfordshire, and a strong accountancy background, I bring technical expertise and business acumen to every project. I thrive in collaborative environments and am eager to connect with innovative professionals.