With the idea of showing off my skills, I have created this repository to list all of the ways I have designed infrastructures that run my portfolio using different IaC and cloud resources.
The front end was designed and developed by me using React.Js, Javascript, HTML, and CSS.
Frontend Repository: https://github.com/christian-deleon/portfolio
Using a serverless architecture I have created a very simple application that consists of the following AWS resources:
AWS S3
as the backend serverAWS CloudFront
as the CDN ( Content Delivery Network )AWS Route 53
for the domain name servicesAWS CodePipeline
for the CI/CD ( Continuous Integration and Continuous Delivery )AWS CodeBuild
which takes changes from the respective GitHub repository and builds the React applicationAWS CodeDeploy
to deploy the application to the AWS S3 bucket running as the application backend
( The active infrastructure ) Terraform Repository: https://github.com/christian-deleon/portfolio-iac-terraform
AWS CDK Repository: https://github.com/christian-deleon/portfolio-iac-aws-cdk
Repository: https://github.com/christian-deleon/portfolio-iac-aws-cdk-ecs
Using AWS CDK ( Cloud Development Kit ) with AWS ECS Fargate running the web servers, I have created an application which uses Docker
to containerize the Node.Js
server and consists of the following AWS resources:
AWS ECS
( Elastic Container Service ) as the container service for the web serversAWS Route 53
for the domain name services and creates a hosted zone in each AWS region that has been specifiedAWS Certificate Manager
which provides the SSL certificate for secure connection from the client to the load balancersAWS ELB
( Elastic Load Balancing ) which balance all HTTPS to the web serversAWS ASG
( Auto Scaling Groups ) which auto scales the Fargate web servers running on ECS based on CPU usageAWS CodePipeline
for the CI/CD ( Continuous Integration and Continuous Delivery )AWS CodeBuild
which takes changes from the respective GitHub repository and builds the React application image using Docker and updates or stores it inAWS ECR
AWS Lambda
that updates the AWS ECS cluster service with the updated Docker image from ECRAWS EventBridge
which triggers the above Lambda function when a successful push has been made to the main region ECR repository
Decide which architecture you would like to deploy and follow the instructions found in the respective repository.