CodeBuild is an AWS service that helps with the continuous integration flow. CodeBuild compiles, run unit-tests to ensure the source being ready for deployment to other services. With CodeBuild, we don’t have to worry about the operation, management and scaling of build servers.
CodeBuild nowadays supports many languages like C#, Java, Javascript, etc. CodeBuild also has prepared build tools like Maven and Gradle or some popular platforms like Docker and Android.
CodeDeploy automates deployment to AWS Services like EC2, Lambda, Fargate or even on-premises environments with 2 primary deployment types: In-place deployment and Blue/green deployment.
CodePipeline is an continuous delivery service that can be used to model, virtualize and automate application deployment steps. When using with CodeBuild, we will have a fully-automated model of build-test-release workflow.
Elastic Beanstalk is a PaaS(Platform as a service) service facilitating the deployment and management of our applications. When the developers initializes a new Environment, Elastic Beanstalk will create other resources like EC2, Elastic Load Balancer, Auto Scaling Group, etc… to make our applications high availability without developer worrying about the management issues.
Some benefits of Elastic Beanstalk:
With the above architecture model, we have the workflow as follows: