Book Image

AWS Automation Cookbook

By : Nikit Swaraj
Book Image

AWS Automation Cookbook

By: Nikit Swaraj

Overview of this book

AWS CodeDeploy, AWS CodeBuild, and CodePipeline are scalable services offered by AWS that automate an application's build and deployment pipeline. In order to deliver tremendous speed and agility, every organization is moving toward automating their entire application pipeline. This book will cover all the AWS services required to automate your deployment to your instances. You'll begin by setting up and using one of the AWS services for automation –CodeCommit. Next, you'll learn how to build a sample Maven and NodeJS application using CodeBuild. After you've built the application, you'll see how to use CodeDeploy to deploy the application in EC2/Auto Scaling. You'll also build a highly scalable and fault tolerant Continuous Integration (CI)/Continuous Deployment (CD) pipeline using some easy-to-follow recipes. Following this, you'll achieve CI/CD for a microservice application and reduce the risk within your software development life cycle globally. You'll also learn to set up an infrastructure using CloudFormation templates and Ansible, and see how to automate AWS resources using AWS Lambda. Finally, you'll learn to automate instances in AWS and automate the deployment lifecycle of applications. By the end of this book, you'll be able to minimize application downtime and implement CI/CD, gaining total control over your software development lifecycle.
Table of Contents (11 chapters)

Introducing AWS CodeBuild

When it comes to cloud-hosted and fully managed build services, which compiles our source code, runs unit tests, and produces artifacts that are ready to deploy, then AWS CodeBuild comes into the picture.

Instead of using Jenkins or Bamboo, we can use AWS CodeBuild, and then skip the following issues:

  • Setting up a Jenkins on a server and maintaining it
  • Maintaining the cluster security
  • Upgrading the Jenkins software over time
  • Monitoring and recovering from Jenkins downtime
  • Capacity planning so the cluster can handle all our build volume

If you setup the build server of your own, then you have to pay a big bill to the engineers to keep the cluster scaled up 24/7 and maintain the Jenkins cluster. If the build server will have any issues, then the team won't be able to ship the latest code, until the build server is fixed.

AWS CodeBuild is elastic...