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)

Preface

AWS provides a set of powerful services that help companies to increase or improve rapid build and reliable build processes to deliver products using AWS and DevOps practices. These services help to simplify the provision and management of infrastructures, the building of applications, and deploying application code in an environment. DevOps is basically a combination of practices, culture, and tools that increase an organization's productivity. It helps to increase the ability to deliver applications and services efficiently. This helps organizations to serve their customers in a better way and to compete more effectively in the market.

You can leverage AWS services for DevOps, meaning you can use AWS services to increase an organization's productivity by automating CI/CD to deliver products quickly. The Developer Tools of AWS include CodeCommit, which uses Git for VCS; CodeBuild, which helps to build the code; CodeDeploy, which helps to deploy application code to servers; and CodePipeline, which helps to integrate all of the previous services to create an automated pipeline. So, this book covers how to use the AWS Developer Tools and how to integrate them with each other. Further, this book covers enterprise-grade scenarios and creates CI/CD pipelines for application deployment. Since this book covers the details of how to use the core services, you can also create your CI/CD pipeline based on your use cases.

This book also covers how to set up production-ready infrastructures using CloudFormation and Ansible. Since many enterprises are migrating their applications to microservices and the best enterprise-grade container orchestration tool is Kubernetes, I will cover how you can deploy Kubernetes on AWS using KOPS, and how you can automate application deployment in Kubernetes using Jenkins Pipeline, which is Pipeline as Code. This book covers the automation of daily jobs and security compliance using AWS Lambda and some other services of AWS services, such as SNS, Config, and Elasticsearch.