Lim Chu Chen
Cloud Developer
Lim Chu Chen
I'm Chu Chen

I'm an optical transmisison engineer in the ICT field by day, and a cloud developer and solutions architect by night. Being an AWS certified solutions architect, I'm equipped with the knowledge of designing, developing and maintaining secure and highly-available cloud infrastructures that follows industry best practices.

As a passion project, I created this website to use as a portfolio/sandbox to implement a cloud-based backend infrastructure, and to also improve on my front-end development skills. This website is designed to be fully hosted in the cloud with a serverless architecture and in a highly-redundant manner (technical details can be found on the next page).

Available for hire !

I'm open to work and looking for an opportunity to enter the cloud industry. Please reach out to me at kevinchuchen@gmail.com !

down arrow

Architectural Roadmap

This site was built as part of a challenge to build a cloud-based portfolio. It serves as a hands-on experience working with the cloud, and allows for deeper understanding of cloud technologies and best practices. This section shows the various services used to host this site and also the technical implementation details.

1
Fully Responsive

This website starts with being built in a responsive manner, allowing the elements to stack and change in response to the screen size. Go ahead, try it out !


2
Website Hosting

Since this site does not require any server-side resources, it can be statically hosted in Amazon S3. I chose Amazon S3 as my hosting provider because S3 holds many advantages over the traditional hosting provider, especially when hosting static resources. It offers a fully managed way to store objects in a highly-scalable, highly-available, resilient and secure manner - all while requiring minimal user configuration.


3
DNS Configuration

Amazon's Route 53(R53) service is used to register a custom DNS domain and also to provide DNS routing services. Using R53 allows for a seamless and fully managed DNS integration between AWS services, including S3. Route 53 can also verify the site's reachability via resource health-checks and route traffic away from unhealthy resources if needed, ensuring reliability.


Content Delivery Network

Amazon's CloudFront network is configured to speed up the content loading and distribution of this site to a global scale. Amazon CloudFront is a content delivery network (CDN) which provides global content caching by leveraging hundreds of Amazon's distributed edge locations to provide low-latency and high content access speed for its users. CloudFront is also used together with AWS Certificate Manager(ACM) to provision and deploy SSL/TLS certificate to enhance this site's security by providing an encrypted tunnel for client-server bidirectional communication (HTTPS).

4

5
CI/CD Pipeline(Front end)

Continuous integration & deployment methods using Git and AWS Codepipeline are also used to simplify deployment and testing. This means that production code can be pushed straight to my main Git repository, and AWS Codepipeline automatically updates the S3 bucket with the latest version of code, shortening iteration time. Apart from providing version control, Git can also be used to invalidate CloudFront caches via Git Actions so that the site can be updated almost immediately after the code is pushed into the main branch.


Custom API with AWS DynamoDB view counter

The view counter on the landing page of this site is updated every time the webpage is refreshed. This is accomplished via a custom API created in API Gateway. Every time the API endpoint is called, a lambda function written in Python is invoked to update a dynamoDB table with an updated view count and returning the value to the frontend (To prevent spams, the API is rate-limited).

6

Architectural Diagram

The diagram below represents this website's back-end infrastructure, which has been designed based on a serverless architecture. This design allows for a fully flexible and scalable solution that can adapt to varying levels of traffic and demand while while minimizing operational costs and maximizing uptime.

Website architectural diagram