Chapter 1, Cloud 101 – Understanding the Basics, describes basic cloud concepts, including the public, private, and hybrid cloud models. It explains and compares the Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) cloud service delivery models. Finally, the next generation of applications being deployed on the cloud, including streaming applications, machine learning pipelines, and deep learning applications are discussed.
Chapter 2, Designing Cloud Applications, describes familiar and not-so-familiar architectural best practices in the cloud context, including multi-tier architecture, multi-tenancy, scalability, and availability. This chapter introduces design considerations for cloud-based big data applications, batch and streaming architectures, and ML pipelines. It also provides guidelines for estimating cloud-computing costs.
Chapter 3, Introducing AWS Components, introduces AWS components such as EC2, S3, RDS, DynamoDB, SQS Queues, and SNS. It discusses strategies to lower AWS infrastructure costs and their implications on architectural decisions. It explains the typical characteristics of the development, QA, staging, and production environments on the AWS Cloud.
Chapter 4, Designing for and Implementing Scalability, provides guidance on how to define your scalability objectives, and then discusses the design and implementation of specific strategies to achieve scalability.
Chapter 5, Designing for and Implementing High Availability, provides guidance on how to define availability objectives, discusses the nature of failures, and explains design and implementation of specific strategies to achieve high availability. In addition, this chapter describes the approaches that leverage the AWS features and services for disaster-recovery planning.
Chapter 6, Designing for and Implementing Security, provides guidance on how to define security objectives, explains security responsibilities, and then discusses the implementations of specific best practices for application security.
Chapter 7, Deploying to Production and Going Live, provides guidance on managing infrastructure, deployments, support, and operations for your cloud application. In addition, it offers some tips on planning production go-live activities.
Chapter 8, Designing a Big Data Application, introduces the design principles and best practices for using services such as Kinesis, EMR, and Lambda to design AWS-based big data applications.
Chapter 9, Implementing a Big Data Application, implements several popular AWS-based big data use cases using AWS services such as Kinesis, EMR, Lambda, Glue, and Spark.
Chapter 10, Deploying a Big Data Application, introduces CloudFormation templates to deploy several popular big data stacks on AWS, including streaming and machine learning applications.