AWS Solution Overview
The below architecture diagram explains architecture implementations where the AWS Elastic Kubernetes Service cluster and database servers are hosted in private subnets.
This solution is designed to reduce the new feature release time using DevOps best practices and convert the application into Microservices that could be deployed on Elastic Kubernetes Service resulting in a highly secure, highly scalable solution on AWS. In addition, the Automation solution for repeatable tasks using AWS Lambda results in work efficiency and cost optimization.
The proposed solution allows applications to be deployed into multiple environments dev, QA, UAT & Prod. For source code management, Git is used and for Infrastructure provisioning Terraform templates are being used. Docker images were built using Jenkins and pushed to AWS Elastic Container Registry. DevOps best practices are followed to implement Continuous Integration, Continuous delivery, and deployment to support hotfixes, and rollback on failure for multi-environment deployment.
AWS Services Leveraged
- AWS EKS
- VPC Components: ALB, Transit Gateway, VPC Endpoints, VPC Flow Logs;
- AWS EC2
- AWS S3
- Amazon OpenSearch
- AWS Systems Manager
- AWS CloudTrail
- AWS Lambda
- The CI/CD flow has been set up using Jenkins. As a result, new features are released faster with 99.9% uptime, which was a hurdle for the client to overcome with limited technical expertise.
- Several automation solutions have been implemented using Lambda Functions that have resulted in cost and performance optimization.