AWS CloudFormation in Action
Chuck Gehman
  • MEAP began April 2020
  • Publication in Early 2021 (estimated)
  • ISBN 9781617297861
  • 325 pages (estimated)
  • printed in black & white

An engaging journey exploring the efficiencies of deploying Infrastructure-as-Code within the AWS Cloud.

Cameron Crews
With AWS CloudFormation, you create scripts and templates that automate most aspects of deploying and managing cloud infrastructure. The result: Fast, standardized deployments and less time spent on tedious manual tasks. AWS CloudFormation in Action gives you a complete introduction to CloudFormation, taking you hands-on with increasingly complex projects that scale almost infinitely. You’ll learn to define and deploy high availability, multi-region, and database-driven websites using CloudFormation—all from the AWS console, command line or via API. Whether you’re overseeing thousands of servers or a handful of deployments, automating with CloudFormation will increase your productivity, lower your risk of human error, and allow your developers to benefit from DevOps best practices.

About the Technology

CloudFormation is the native Infrastructure-as-Code (IaC) solution for AWS, simplifying resource management on Amazon Web Services. With CloudFormation you can track, control, replicate, and roll back infrastructure as quickly as copying a template. Thanks to CloudFormation, AWS engineers can easily utilize IaC DevOps methodologies and best practices for better quality, reliability and faster turnaround when fixing inevitable problems.

About the book

AWS CloudFormation in Action teaches you an automated alternative to manually deploying AWS resources. This step-by-step guide to CloudFormation resource management guides you through a seriesof real-world projects, starting with the infrastructure code templates that form the core of CloudFormation. You’ll work your way through deploying a simple website, adding features like networking, auto-scaling and load balancing, and then scale up your site to manage a global footprint with AWS’s redundancy and geographic diversity features. You’ll learn to use CloudFormation in concert with orchestration or configuration management tools like Chef, AWS OpsWorks, and AWS Systems Manager, along with how to implement continuous delivery pipelines with AWS tools, GitHub, and Jenkins. Thanks to these efficient and time saving DevOps techniques, you’ll soon be spending less time on managing deployment and more time on feature development.
Table of Contents detailed table of contents

Part 1: Getting Started

1 Infrastructure as Code (IaC)

1.1 Introducing Infrastructure as Code (IaC)

1.2 The Benefits of Using IaC

1.2.1 Elasticity at scale

1.2.2 Team velocity

1.2.3 Time to market

1.2.4 Repeatability

1.2.5 Stability

1.2.6 Managing change

1.2.7 Self documentation

1.2.8 Risk management

1.2.9 Cost control

1.2.10 Auditability

1.3 How IaC Fits Into DevOps

1.3.1 Iterative

1.3.2 Incremental

1.3.3 Continuous

1.3.4 Automated

1.3.5 Self-service

1.3.6 Collaborative

1.4 A Comparison of IaC Tools

1.4.1 Configuration Management vs. Infrastructure as Code (IaC)

1.4.2 Imperative vs. Declarative

1.4.3 Which Tool is Best for My Infrastructure?

1.4.4 When is CloudFormation the Wrong Choice?

1.4.5 Ansible

1.4.6 Terraform

1.4.7 SaltStack

1.4.8 Chef

1.4.9 Puppet

1.4.10 Azure Resource Manager

1.4.11 AWS Elastic Beanstalk

1.4.12 AWS CloudFormation

1.5 Summary

2 AWS CloudFormation

2.1 Introduction

2.2 Template Structure

2.2.1 Getting Started

2.2.2 Basic Template Rules

2.2.3 AWSTemplateFormatVersion

2.2.4 Description

2.2.5 Metadata

2.2.6 Parameters

2.2.7 Pseudo Parameters

2.2.8 Mappings

2.2.9 Intrinsic Functions

2.2.10 Resources

2.2.11 Outputs

2.3 Using CloudFormation Designer

2.4 Console vs. Command Line (AWS CLI)

2.4.1 HelloBucket

2.4.2 Did the Stack Really Deploy?

2.4.3 Delete Your HelloBucket from the Console

2.5 Create a Stack using the Command Line

2.5.1 Install the AWS Command Line

2.5.2 Deploy an EC2 Instance

2.5.3 Find Your EC2 Instance

2.5.4 Let’s Give Our Instance a Name and a Tag

2.5.5 Use the AWS CLI to determine the stack was created successfully

2.5.6 Delete the Stack from the Command Line

2.6 Summary

Part 2: CloudFormation in Operation

3 The CloudFormation Stack Lifecycle

3.1 Understanding the Stack Lifecycle

3.1.1 Create

3.1.2 Update

3.1.3 Delete

3.2 Building a Basic Website

3.2.1 Template Version

3.2.2 Description

3.2.3 Parameters

3.2.4 Mappings

3.2.5 Bootstrap: CloudFormation Helper Scripts and User Data

3.2.6 Resources

3.2.7 Properties

3.2.8 Outputs

3.3 Create the Stack to Deploy the Website

3.4 Test the Website Deployment

3.5 Delete the Website

3.6 Summary

4 A Scalable, Load Balanced Website

4.1 Introduction

4.2 VPCs

4.2.1 Subnets

4.2.2 Instances

4.2.3 Security Groups and Network Access Control Lists (NACLs)

4.2.4 Route Tables

4.2.5 Internet Gateway

4.2.6 Elastic IP Address (EIP)

4.3 Overview of the Website Template

4.3.1 Auto Scaling Groups (ASGs)

4.3.2 CreationPolicy, UpdatePolicy and TerminationPolicy

4.3.3 Health Checks

4.3.4 Scaling Policy

4.3.5 SNS Notification

4.3.6 CloudWatch Alarms

4.3.7 Load Balancing

4.3.8 Application Load Balancer (ALB)

4.3.9 Network Load Balancer (NLB)

4.3.10 Classic Elastic Load Balancer (Classic ELB)

4.3.11 Testing the Web Site

4.4 Summary

5 Managing Change

5.1 Introduction

5.2 Using Change Sets

5.3 Building Modular Templates

5.4 Cross-Stack References

5.5 Nested Stacks

5.6 Transform and Include

5.6.1 Networking

5.6.2 Mappings

5.7 Testing and Validating CloudFormation Templates

5.7.1 Unit Testing for IaC

5.7.2 Validating Templates with cfn-lint

5.8 Understanding and Correcting Template Drift

5.9 Protecting Stack Resources

5.9.1 Using IAM

5.9.2 Stack Policies

5.10 Security Validation for CloudFormation Templates

5.11 Importing Existing Resources into Templates

5.12 Summary

6 Deploy a Scalable, Multi-Region, Multi-AZ, Database-Driven Website

7 Monitor Health and Performance

8 CloudFormation and DevOps

Part 3: Cloud Native

9 CloudFormation and Containers

10 CloudFormation and Serverless

Part 4: APIs, SDKs and Supporting Technologies

11 Using CloudFormation via APIs

12 Supporting Technologies

What's inside

  • Create and implement CloudFormation templates
  • Manage the CloudFormation Stack lifecycle
  • Define and deploy high availability websites
  • Write scripts to execute CloudFormation deployments from Python programs
  • Operations, audits and compliance with AWS CloudWatch, Config and CloudTrail
  • Cloud Native technologies, APIs, and SDKs on AWS

About the reader

For readers with experience of AWS.

About the author

Charles Gehman has been building applications on AWS since 2012. He has been an architect, CTO, technical blogger, and developer for many years. He holds the certifications AWS Certified Developer and AWS Certified Solution Architect.

placing your order...

Don't refresh or navigate away from the page.
Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
print book $32.49 $49.99 pBook + eBook + liveBook
Additional shipping charges may apply
AWS CloudFormation in Action (print book) added to cart
continue shopping
go to cart

eBook $25.99 $39.99 3 formats + liveBook
AWS CloudFormation in Action (eBook) added to cart
continue shopping
go to cart

Prices displayed in rupees will be charged in USD when you check out.

FREE domestic shipping on three or more pBooks