CI CD
1. CodePipeline provides CI (Continuous Integration) and CD (Continuous Delivery)
2. CodeCommit is used for source repository
3. CodeBuild is used for the application compiling, building and testing
4. CodeDeploy is used for the application deployment e.g. Blue-Green and Red-Black
5. Application deployment on EC2, ECS (Elastic Container Service) and Lambda