Effective DevOps with AWS
Implement continuous delivery and integration in the AWS environment, 2nd Edition
Yogesh Raheja, Giuseppe Borgese, Nathaniel Felsen
- 384 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Effective DevOps with AWS
Implement continuous delivery and integration in the AWS environment, 2nd Edition
Yogesh Raheja, Giuseppe Borgese, Nathaniel Felsen
About This Book
Scale and maintain outstanding performance in your AWS-based infrastructure using DevOps principles
Key Features
- Implement continuous integration and continuous deployment pipelines on AWS
- Gain insight from an expert who has worked with Silicon Valley's most high-profile companies
- Implement DevOps principles to take full advantage of the AWS stack and services
Book Description
The DevOps movement has transformed the way modern tech companies work. Amazon Web Services (AWS), which has been at the forefront of the cloud computing revolution, has also been a key contributor to the DevOps movement, creating a huge range of managed services that help you implement DevOps principles.
Effective DevOps with AWS, Second Edition will help you to understand how the most successful tech start-ups launch and scale their services on AWS, and will teach you how you can do the same. This book explains how to treat infrastructure as code, meaning you can bring resources online and offline as easily as you control your software. You will also build a continuous integration and continuous deployment pipeline to keep your app up to date. Once you have gotten to grips will all this, we'll move on to how to scale your applications to offer maximum performance to users even when traffic spikes, by using the latest technologies, such as containers. In addition to this, you'll get insights into monitoring and alerting, so you can make sure your users have the best experience when using your service. In the concluding chapters, we'll cover inbuilt AWS tools such as CodeDeploy and CloudFormation, which are used by many AWS administrators to perform DevOps. By the end of this book, you'll have learned how to ensure the security of your platform and data, using the latest and most prominent AWS tools.
What you will learn
- Implement automatic AWS instance provisioning using CloudFormation
- Deploy your application on a provisioned infrastructure with Ansible
- Manage infrastructure using Terraform
- Build and deploy a CI/CD pipeline with Automated Testing on AWS
- Understand the container journey for a CI/CD pipeline using AWS ECS
- Monitor and secure your AWS environment
Who this book is for
Effective DevOps with AWS is for you if you are a developer, DevOps engineer, or you work in a team which wants to build and use AWS for software infrastructure. Basic computer science knowledge is required to get the most out of this book.
Frequently asked questions
Information
Running Containers in AWS
- Dockerizing our Hello World application
- Using the EC2 container service
- Updating our CI/CD pipeline to utilize ECS
Technical requirements
- Docker
- Dockerfile
- EC2 Container Registry (ECR)
- Elastic Container Service (ECS)
- Application Load Balancer (ALB)
- CodeBuild
- CodePipeline
- https://github.com/yogeshraheja/helloworld/blob/master/helloworld.js
- https://github.com/yogeshraheja/helloworld/blob/master/package.json
- https://github.com/yogeshraheja/helloworld/blob/master/Dockerfile
- https://github.com/yogeshraheja/EffectiveDevOpsTemplates/blob/master/ecr-repository-cf-template.py
- https://github.com/yogeshraheja/EffectiveDevOpsTemplates/blob/master/ecs-cluster-cf-template.py
- https://github.com/yogeshraheja/EffectiveDevOpsTemplates/blob/master/helloworld-ecs-alb-cf-template.py
- https://github.com/yogeshraheja/EffectiveDevOpsTemplates/blob/master/helloworld-ecs-service-cf-template.py
- https://github.com/yogeshraheja/EffectiveDevOpsTemplates/blob/master/helloworld-codebuild-cf-template.py
- https://raw.githubusercontent.com/yogeshraheja/EffectiveDevOpsTemplates/master/helloworld-ecs-service-cf-template.py
- https://github.com/yogeshraheja/EffectiveDevOpsTemplates/blob/master/helloworld-codepipeline-cf-template.py
Dockerizing our Hello World application
Getting started with Docker
Docker fundamentals
- The first stack on the left represents what we did so far. Using the EC2 service, we picked an AMI providing AWS Linux, and, with the help of the user data field, we installed Ansible to configure our system. When Ansible kicks in, it installs and configures the system, so that later, CodeDeploy can deploy and run our application.
- The middle stack represents what it means to use Docker on top of EC2. The process starts the same way with an AMI running AWS Linux. However, this time, instead of relying on Ansible and CodeDeploy, we will simply install the Docker server application. After that, we will deploy Docker containers, wh...