- Developed RESTful APIs (authentication, order, ticketing, payment) using Java, SpringBoot, and JPA.
- Automated the creation of Amazon Machine Images (AMIs) with Packer, reduced image build time by 50%.
- Implemented Infrastructure-as-Code on AWS with Terraform, deployed and managed EC2, VPC, RDS, and S3 resources.
- Configured a CI/CD pipeline on GitHub Actions with YAML, and conducted JUnit tests with MockMVC.
- Improved system scalability by over 70% through configuring AWS CloudWatch, Load Balancer, and Auto Scaling group.
- Streamlined cluster management with Kubernetes, Skaffold, and Docker.
Infrastructure | VPC, ELB, EC2, Route53, Cloud formation, Shell, Packer |
---|---|
Webapp | Java, Spring Boot, MySQL, Maven |
CI/CD | Github Actions, AWS Code Deploy |
Alerting and logging | statsd, Cloud Watch, SNS, SES, Lambda |
Security | SSL |
- Create the networking setup using cloud formation and aws cli
- Create the required IAM policies and users
- Setup Load Balancers, Route53, RDS, S3, SNS, SES, SSL
git@github.com:Hao6666666/Lite_eBay.git
https://dev.mysql.com/downloads/installer/
Find resources package and find the application.yml file
Change MySQL database username and password as your username and password
1. After clone git repository to your local system and navigate to the project in Terminal using cd webapp
2. Open IDEA
3. run webapp
- Implemented CI to build out an AMI and share it between organization on AWS
- Created provisioners and bootstrapped the EC2 instance with required tools like Tomcat, JAVA, Python
- Configured AWS cloud resources such as EC2, VPC, S3, RDS, Route53, ELB, Auto-scalling group, etc.
git@github.com:Hao6666666/Lite_eBay.git
terraform init
terraform plan -var-file="dev.tfvars"
or
terraform plan -var-file="demo.tfvars"
terraform apply -var-file="dev.tfvars"
or
terraform apply -var-file="demo.tfvars"
terraform destroy -var-file="dev.tfvars"
or
terraform destroy -var-file="demo.tfvars"
aws acm import-certificate --profile demo --certificate fileb://demo_tuffy666_me.crt --private-key fileb://private.key --certificate-chain fileb://demo_tuffy666_me.ca-bundle
- Using github actions configured CI/CD pipeline, the pipeline YAML file can be found in
.github/workflos
- Used mockito and junit for test case.
- Run WebappApplication test cases: open the webapp aplication on your IDE -> right click on webapp -> Run 'All Tests'
- Created auto scaling groups to scale to the application to handle the webtraffic and keep the costs low when traffic is low
- Created cloud watch alarms to scale up and scale down the EC2 instances