Continuous Integration and Deployment with AWS
Final Project - Higher Vocational Training in Network Computer Systems Administration
Introduction
For my final project in Higher Vocational Training in Network Computer Systems Administration, I designed and implemented an automated cloud infrastructure using Amazon Web Services (AWS) to support continuous integration and deployment (CI/CD). The project focused on creating a cost-effective, scalable, and automated environment to streamline the development and deployment lifecycle.
I adapted an existing web project to leverage AWS S3 and RDS, ensuring that the application would remain resilient even if EC2 instances were deleted.
Key Features
- AWS EC2: I configured scalable EC2 instances with auto-scaling to ensure resource optimization based on demand, integrated seamlessly with the CI/CD pipeline.
- CodePipeline and CodeDeploy: These services were used to automate build, test, and deployment stages, ensuring a smooth and efficient delivery pipeline with minimal downtime.
- S3 and RDS: I utilized S3 for secure, scalable storage, and RDS for managing relational databases without the complexity of manual infrastructure management.
- GitHub: Source control and version management were handled through GitHub, providing a collaborative development environment with automated workflows.
Infrastructure Overview
Video Demo
- Part 1: Deploying from Developer Commit - 0:00
- Part 2: Load Balancer Stickiness - 2:49
- Part 3: Data Persistency with RDS & S3 - 4:03
Conclusion
Through this project, I gained hands-on experience with AWS services and CI/CD pipelines. I deepened my understanding of cloud automation, infrastructure scalability, and DevOps best practices, which have proven invaluable for future projects and real-world applications.