Integration with Other AWS Services
AWS CodeDeploy is integrated with the following AWS services:
Amazon CloudWatch is a monitoring service for AWS cloud resources and the applications you run on AWS. You can use Amazon CloudWatch to collect and track metrics, collect and monitor log files, and set alarms. AWS CodeDeploy supports the following CloudWatch tools:
AWS CodeDeploy supports Auto Scaling, an AWS web service that can automatically launch Amazon EC2 instances based on criteria you specify (for example, limits exceeded for specified CPU utilization, disk reads or writes, or inbound or outbound network traffic over a specified time interval). This enables you to scale up a group of Amazon EC2 instances whenever you need them and then use AWS CodeDeploy to deploy application revisions to the additional Amazon EC2 instances automatically. Auto Scaling terminates those Amazon EC2 instances when they are no longer needed.
AWS CodeDeploy is integrated with AWS CloudTrail, a service that captures API calls made by or on behalf of AWS CodeDeploy in your AWS account and delivers the log files to an Amazon S3 bucket you specify. CloudTrail captures API calls from the AWS CodeDeploy console, from AWS CodeDeploy commands through the AWS CLI, or from the AWS CodeDeploy APIs directly. Using the information collected by CloudTrail, you can determine which request was made to AWS CodeDeploy, the source IP address from which the request was made, who made the request, when it was made, and so on.
AWS CodePipeline is a continuous delivery service you can use to model, visualize, and automate the steps required to release your software in a continuous delivery process. You can use AWS CodePipeline to define your own release process so that the service builds, tests, and deploys your code every time there is a code change. For example, you may have three deployment groups for an application: Beta, Gamma, and Prod. You can set up a pipeline so that each time there is a change in your source code, the updates are deployed to each deployment group, one by one.
You can configure AWS CodePipeline to use AWS CodeDeploy to deploy your code to Amazon EC2 instances, on-premise instances, or both.
You can create the AWS CodeDeploy application, deployment, and deployment group to use in a deploy action in a stage either before you create the pipeline or in the Create Pipeline wizard.
|Elastic Load Balancing||
AWS CodeDeploy supports Elastic Load Balancing, a service that distributes incoming application traffic across multiple Amazon EC2 instances. The use of Elastic Load Balancing load balancers is optional in in-place deployments and mandatory in blue/green deployments.
During a blue/green deployment, the role of the load balancer is to allow traffic to be routed to the new instances in a deployment group that the latest application revision has been deployed to (the replacement environment) according to the rules you specify, and then block traffic from the old instances where the previous application revision was running (the original environment).
During an in-place deployment, a load balancer prevents internet traffic from being routed to an instance while it is being deployed to, and then makes the instance available for traffic again once the deployment to that instance completes.