2 options
AWS automation cookbook : continuous integration and continuous deployment using AWS services / Nikit Swaraj.
- Format:
- Book
- Author/Creator:
- Swaraj, Nikit, author.
- Language:
- English
- Subjects (All):
- Amazon Web Services (Firm).
- Computer software--Development.
- Computer software.
- Physical Description:
- 1 online resource (1 volume) : illustrations
- Edition:
- 1st edition
- Other Title:
- Amazon Web Services automation cookbook
- Place of Publication:
- Birmingham, England ; Mumbai, [India] : Packt, 2017.
- System Details:
- text file
- Biography/History:
- Swaraj Nikit: Nikit Swaraj is an experienced solution architect. He is well versed in the melding of development and operations to deliver efficient code. Nikit has expertise in designing, developing, and delivering enterprise-wide solutions that meet business requirements and enhance operational efficiency. As an AWS solution architect, he has plenty of experience in designing end-to-end IT solutions and leading and managing complete projects within time and budgetary constraints. He contributes to open source toolsandhas experience working with startups as well enterprise including FSI, Public and Governement sector. He holds various professional certification from AWS, Red Hat, CNCF and Hashicorp. He loves to share his experience with latest technologies in AWS Meetups.
- Summary:
- Automate release processes, deployment, and continuous integration of your application as well as infrastructure automation with the powerful services offered by AWS About This Book Accelerate your infrastructure's productivity by implementing a continuous delivery pipeline within your environment Leverage AWS services and Jenkins 2.0 to perform complete application deployments on Linux servers This recipe-based guide that will help you minimize application deployment downtime Who This Book Is For This book is for developers and system administrators who are responsible for hosting their application and managing instances in AWS. It's also ideal for DevOps engineers looking to provide continuous integration, deployment, and delivery. A basic understanding of AWS, Jenkins, and some scripting knowledge is needed. What You Will Learn Build a sample Maven and NodeJS Application using CodeBuild Deploy the application in EC2/Auto Scaling and see how CodePipeline helps you integrate AWS services Build a highly scalable and fault tolerant CI/CD pipeline Achieve the CI/CD of a microservice architecture application in AWS ECS using CodePipeline, CodeBuild, ECR, and CloudFormation Automate the provisioning of your infrastructure using CloudFormation and Ansible Automate daily tasks and audit compliance using AWS Lambda Deploy microservices applications on Kubernetes using Jenkins Pipeline 2.0 In Detail 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 an 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/Autoscaling. 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 Microservices application and reduce the risk within your software development lifecycle. You'll also learn to set up an infrastructure using CloudFormation Template and Ansible, and see how to automate AWS reso...
- Contents:
- Cover
- Copyright
- Credits
- About the Author
- Acknowledgments
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: Using AWS CodeCommit
- Introduction
- Introducing VCS and Git
- What is VCS?
- Why VCS ?
- Types of VCS
- What is Git?
- Why Git over other VCSs?
- Features of Git
- How to do it...
- Installation of Git and its implementation using GitHub
- Introducing AWS CodeCommit - Amazon managed SaaS Git
- Getting started with CodeCommit for HTTP users
- Setting up CodeCommit for SSH users using AWS CLI
- Getting ready
- Applying security and restrictions
- Migrating a Git repository to AWS CodeCommit
- Chapter 2: Building an Application using CodeBuild
- Introducing AWS CodeBuild
- How it works...
- Pricing
- Building a Java application using Maven
- Install Java and verify
- Install Apache Maven and verify
- Building a NodeJS application using yarn
- Install NodeJS and verify
- Install Yarn and verify
- Installing dependencies
- Building a Maven application using AWS CodeBuild console
- Building a sample NodeJS application using AWS CodeBuild via Buildspec.yml
- Buildspec.yml
- Syntax
- Chapter 3: Deploying Application using CodeDeploy &
- CodePipeline
- The Deployment strategy in AWS CodeDeploy
- In-place deployment
- Blue-green deployment
- Writing an application-specific file
- Deploying a static application in an EC2 instance from the S3 Bucket using AWS CodeDeploy.
- Getting ready
- Introducing AWS CodePipeline and its working
- Continuous Deployment of static application to AWS S3 using AWS CodePipeline
- Chapter 4: Building Scalable and Fault-Tolerant CI/CD Pipeline
- Benefits of using the CI/CD pipeline
- How to achieve the benefits?
- The scenario
- The challenges
- CI/CD pipeline workflow
- Setting up AWS CodeCommit
- Creating the S3 bucket and enabling versioning
- Creating the launch configuration and Auto Scaling group
- Creating AWS CodeDeploy application using the Auto Scaling group
- Setting up the Jenkins Server and installing the required plugins
- Integrating Jenkins with all of the AWS developers tools
- Chapter 5: Understanding Microservices and ECS
- Understanding microservices and their deployment
- Designing microservices
- Deployment of microservices
- Playing around with Docker containers
- Containers
- Docker
- Images
- Registry
- Installation of Docker engine
- Run Docker as a non-root user
- Running a container
- Starting the stopped container
- Assigning a Name to a container
- Creating daemonized containers
- Exposing ports of a container
- Managing persistent storage with Docker
- Adding a data volume
- Getting details of a container
- Containerize your application using Dockerfile
- Push the image to Dockerhub
- Setting up AWS ECR and pushing an image into it
- How to do it.
- To authenticate Docker client with ECR
- Tagging your Docker Image with the repository details
- Pushing the image to ECR
- Understanding ECS and writing task definitions and services
- Verifying containers inside the Container instance
- Chapter 6: Continuous Deployment to ECS Using Developer Tools and CloudFormation
- Understanding the architecture and workflow
- Setting up the infrastructure to host the application
- Creating an ECS cluster
- Creating a Load Balancer (Classic ELB)
- Register Auto Scaling with Load Balancer
- Creating an Amazon ECR
- Setting Up CodeCommit for our application source
- Creating a CodeBuild project for the build stage
- Understanding the inside content of helper files (BuildSpec.yml, Dockerfile, and CF template)
- Creating a CodePipeline using CodeCommit, CodeBuild, and CloudFormation
- Chapter 7: IaC Using CloudFormation and Ansible
- AWS CloudFormation and writing the CloudFormation template
- Terms and concepts related to AWS CloudFormation
- For YAML
- For JSON
- Writing a CF template
- Defining parameters
- Using parameters
- Creating stack using the CF template
- Creating a production-ready web application infrastructure using CloudFormation
- Automation with Ansible
- Workflow
- Installation
- File structure and syntax
- Deploying a web server using Ansible
- Creating an AWS infrastructure using the Ansible EC2 dynamic inventory
- Chapter 8: Automating AWS Resource Control Using AWS Lambda
- Introduction.
- Creating an AMIs of the EC2 instance using AWS lambda and CloudWatch
- Sending notifications through SNS using Config and Lambda
- Configuring the AWS Config service for AWS resources
- Creating a Lambda function
- Creating a trigger
- Streaming and visualizing AWS CloudTrail logs in real time using Lambda with Kibana
- Enabling CloudTrail logs
- Configuring CloudWatch
- Creating Elasticsearch
- Enabling the streaming of CloudWatch logs in Elasticsearch
- Configuring Kibana to visualize your data
- Chapter 9: Microservice Applications in Kubernetes Using Jenkins Pipeline 2.0
- K8s architecture
- Master components
- Node components
- Deploying multinode clusters on AWS using the Ansible playbook
- Deploying a multinode production-ready cluster on AWS using Kops
- Creating bucket
- DNS configuration
- Creating a cluster
- Kubernetes dashboard (UI)
- Clean up
- Deploying a sample application on Kubernetes
- Configuration file
- Deployment configuration file
- Service configuration file
- Working with Kubernetes on AWS using AWS resources
- Creating a persistent volume claim
- Deployment configuration file (includes ECR image and PVC )
- Service configuration file (type Loadbalancer)
- Jenkins pipeline 2.0 (Pipeline as Code) using Jenkinsfile
- Declarative pipeline
- Sections
- Application deployment using Jenkinsfile
- Create a pipeline in the BlueOcean
- Clean Up
- Creating a Pipeline using existing Jenkinsfile
- Deploying microservices applications in Kubernetes using Jenkinsfile.
- Chapter 10: Best Practices and Troubleshooting Tips
- Best practices with AWS CodeCommit
- Troubleshooting with CodeCommit
- Troubleshooting with CodeBuild
- Index.
- Notes:
- Includes index.
- Description based on online resource; title from PDF title page (EBC, viewed December 23, 2017).
- ISBN:
- 9781788392112
- 1788392116
- OCLC:
- 1018312783
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.