Business Need

Customer want to leverage open source tool to build CI CD and only use AWS services for infrastructure and firewall to reduce cost, flexible in customization.

Solution Approach

Use AWS as core services with open source solution to have flexible design to adapt with customer requirement

Infrastructure Design
DevOps Tool Chain Workflow 

 

 

Step explanation

Code is checked into code Gitlab repository
Webhook configured in GitLab triggers the Jenkins job
Jenkins job starts executing which results in following steps:
– Retrieve the microservice artifacts from Gitlab
Build the microservice
Run the tests such as Jmeter, Selenium, sonarqube…tests
Build the Docker image if all of the above steps are successful
(4) Pushes the newly built Docker container image tagged with the build ID to an Amazon ECR repository.
(5) Register task definition with AWS ECS
(6) AWS CloudFormation creates a new task definition revision referencing the newly built image and updates the Amazon ECS service
(7) Amazon ECS fetches the new container from Amazon ECR and replaces the old task with the new one which completes the deployment.
Use AWS CloudWatch to retrieve Metrics from EC2 Instance. CloudWatch will send message via AWS SNS. SNS will trigger lambda function to send message to Slack.
Use AWS CloudWatch to monitor AWS ECS.

Leave a comment

Your email address will not be published. Required fields are marked *