Amazon Web Services in Action, Second Edition
Michael Wittig and Andreas Wittig
  • MEAP began September 2017
  • Publication in March 2018 (estimated)
  • ISBN 9781617295119
  • 550 pages (estimated)
  • printed in black & white


An eBook copy of the previous edition, Amazon Web Services in Action (First Edition), is included at no additional cost. It will be automatically added to your Manning Bookshelf within 24 hours of purchase.

Fully updated to include the latest revisions and updates to AWS; this new edition also offers three new chapters covering the latest additions to the AWS platform: serverless infrastructure automation with AWS Lambda, sharing data volumes between machines with EFS, and caching data in memory with ElastiCache!

"Provides an excellent overview of many of the services available in AWS."

~ Gary Hubbard

"It's not just a guide, it's practical knowledge you can use right away."

~ Jose San Leandro

"Does a great job at giving a high-level overview of some of the important AWS services that Amazon offers by running through small sample tasks."

~ Ryan Burrows

Table of Contents detailed table of contents

Part 1: Getting started

1. What is Amazon Web Services?

2. A simple example: WordPress on AWS in five minutes

2.1. Creating your infrastructure

2.2. Exploring your infrastructure

2.2.1. Resource groups

2.2.2. Virtual machines

2.2.3. Load balancer

2.2.4. MySQL database

2.2.5. Network File System

2.3. How much does it cost?

2.4. Deleting your infrastructure

2.5. Summary

Part 2: Building virtual infrastructure with servers and networking

3. Using virtual machines: Amazon EC2

3.1. Exploring a virtual machine

3.1.1. Launching a virtual machine

3.1.2. Connecting to your virtual machine

3.1.3. Installing and running software manually

3.2. Monitoring and debugging a virtual machine

3.2.1. Showing logs from a virtual machine

3.2.2. Monitoring the load of a virtual machine

3.3. Shutting down a virtual machine

3.4. Changing the size of a virtual machine

3.5. Starting a virtual machine in another data center

3.6. Allocating a public IP address

3.7. Adding an additional network interface to a virtual machine

3.8. Optimizing costs for virtual machines

3.8.1. Reserve virtual machines

3.8.2. Bidding on unused virtual machines

3.9. Summary

4. Programming your infrastructure: the command line, SDKs, and AWS CloudFormation

4.1. Infrastructure as code

4.1.1. Automation and the DevOps movement

4.1.2. Inventing an infrastructure language: JIML

4.2. Using the command-line interface

4.2.1. Installing the CLI

4.2.2. Configuring the CLI

4.2.3. Using the CLI

4.3. Programming with the SDK

4.3.1. Controlling virtual machines with SDK: nodecc

4.3.2. How nodecc creates a virtual machine

4.3.3. How nodecc lists virtual machines and shows virtual machine details

4.3.4. How nodecc terminates a virtual machine

4.4. Using a blueprint to start a virtual machine

4.4.1. Anatomy of a CloudFormation template

4.4.2. Creating your first template

4.5. Summary

5. Deploying apps onto virtual machines: AWS CloudFormation, AWS Elastic Beanstalk, and AWS OpsWorks

5.1. Deploying applications in a flexible cloud environment

5.2. Comparing deployment tools

5.2.1. Classifying the deployment tools

5.2.2. Comparing the deployment services

5.3. Creating a virtual machine and run a deployment script on startup with AWS CloudFormation

5.3.1. Using user data to run a script on startup

5.3.2. Deploying OpenSwan: a VPN server to a virtual machine

5.3.3. Starting from scratch instead of updating

5.4. Deploying a simple web application with AWS Elastic Beanstalk

5.4.1. Components of AWS Elastic Beanstalk

5.4.2. Using AWS Elastic Beanstalk to deploy Etherpad, a Node.js application

5.5. Deploying a multilayer application with AWS OpsWorks Stacks

5.5.1. Components of AWS OpsWorks Stacks

5.5.2. Using AWS OpsWorks Stacks to deploy an IRC chat application

5.6. Summary

6. Securing your system: AWS IAM, security groups, and Amazon VPC

6.1. Who’s responsible for security?

6.2. Keeping your software up to date

6.2.1. Checking for security updates

6.2.2. Installing security updates on startup

6.2.3. Installing security updates on running virtual machines

6.3. Securing your AWS account

6.3.1. Securing your AWS account’s root user

6.3.2. Identity and Access Management service

6.3.3. Defining permissions with an IAM Policy

6.3.4. Users for authentication, and groups to organize users

6.3.5. Authenticating AWS resources with roles

6.4. Controlling network traffic to and from your virtual machine

6.4.1. Controlling traffic to virtual machines with security groups

6.4.2. Allowing ICMP traffic

6.4.3. Allowing SSH traffic

6.4.4. Allowing SSH traffic from a source IP address

6.4.5. Allowing SSH traffic from a source security group

6.5. Creating a private network in the cloud: Amazon Virtual Private Cloud (VPC)

6.5.1. Creating the VPC and an internet gateway (IGW)

6.5.2. Defining the public bastion host subnet

6.5.3. Adding the private Apache web server subnet

6.5.4. Launching virtual machines in the subnets

6.5.5. Accessing the internet from private subnets via a NAT gateway

6.6. Summary

7. Serverless infrastructure automation: AWS Lambda and SAM

Part 3: Storing data in the cloud

8. Storing your objects: S3 and Glacier

8.1. What is an object store?

8.2. Amazon S3

8.3. Backing up your data on S3 with AWS CLI

8.4. Archiving objects to optimize costs

8.4.1. Creating an S3 bucket for the use with Glacier

8.4.2. Adding a lifecycle rule to a bucket

8.4.3. Experimenting with Glacier and your lifecycle rule

8.5. Storing objects programmatically

8.5.1. Setting up an S3 bucket

8.5.2. Installing a web application that uses S3

8.5.3. Reviewing code access S3 with SDK

8.6. Using S3 for static web hosting

8.6.1. Creating a bucket and uploading a static website

8.6.2. Configuring a bucket for static web hosting

8.6.3. Accessing a website hosted on S3

8.7. Best practices for using S3

8.7.1. Ensuring data consistency

8.7.2. Choosing the right keys

8.8. Summary

9. Storing your data on hard drives: EBS and instance store

9.1. Elastic Block Store (EBS): persistent block-level storage attached via network

9.1.1. Creating an EBS volume and attaching it to your EC2 instance

9.1.2. Using Elastic Block Store

9.1.3. Tweaking performance

9.1.4. Backing up your data with EBS snapshots

9.2. Instance Store: temporary block-level storage

9.2.1. Using an instance store

9.2.2. Testing performance

9.2.3. Backing up your data

9.3. Summary

10. Sharing data volumes between machines: EFS

11. Using a relational database service: RDS

12. Caching data in memory: ElastiCache

13. Programming for the NoSQL database service: DynamoDB

Part 4: Architecting on AWS

14. Achiving high availability: Availability Zones, Auto Scaling and CloudWatch

15. Decoupling your infrastructure: ELB and SQS

16. Designing for fault-tolerance

17. Scaling up and down: Auto Scaling and CloudWatch

About the Technology

Whether you're analyzing real-time data, hosting enterprise software, or running an e-commerce site, Amazon Web Services offers you a reliable cloud-based platform with services that scale to fit your needs. The most mature cloud platform available, AWS provides basic infrastructure resources like connectivity, networking, computing power, and storage - all on a pay-as-you-go basis so you can get just what you need when you need it.

About the book

Amazon Web Services in Action, Second Edition is a comprehensive introduction to computing, storing, and networking in the AWS cloud. You'll find clear, relevant coverage of all the essential AWS services you to know, emphasizing best practices for security, high availability and scalability. The practical, hands-on examples include different approaches to deploying applications on AWS, how to secure your infrastructure by isolating networks, and controlling traffic and managing access to AWS resources. You'll also learn to integrate AWS services into your own applications using SDKs and gain handy ideas on how to design applications for high availability, fault tolerance, and scalability.

What's inside

  • An overview of AWS cloud concepts and best practices
  • Managing servers on EC2 for cost-effectiveness
  • Infrastructure automation with Infrastructure as Code (AWS CloudFormation)
  • Deploying applications on AWS
  • Storing data on AWS
  • Integrating Amazon's pre-built services
  • Architecting highly available and fault tolerant systems

About the reader

Written for developers and DevOps engineers moving distributed applications to the AWS platform.

About the authors

Andreas Wittig and Michael Wittig are software engineers and consultants focused on AWS and web development. They migrated the first bank in Germany to AWS along with other heavily regulated businesses with legacy applications.

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.
MEAP combo $54.99 pBook + eBook + liveBook
MEAP eBook $43.99 pdf + ePub + kindle + liveBook

FREE domestic shipping on three or more pBooks