Book Image

Learning AWS - Second Edition

By : Aurobindo Sarkar, Amit Shah
Book Image

Learning AWS - Second Edition

By: Aurobindo Sarkar, Amit Shah

Overview of this book

Amazon Web Services (AWS) is the most popular and widely-used cloud platform. Administering and deploying application on AWS makes the applications resilient and robust. The main focus of the book is to cover the basic concepts of cloud-based development followed by running solutions in AWS Cloud, which will help the solutions run at scale. This book not only guides you through the trade-offs and ideas behind efficient cloud applications, but is a comprehensive guide to getting the most out of AWS. In the first section, you will begin by looking at the key concepts of AWS, setting up your AWS account, and operating it. This guide also covers cloud service models, which will help you build highly scalable and secure applications on the AWS platform. We will then dive deep into concepts of cloud computing with S3 storage, RDS and EC2. Next, this book will walk you through VPC, building real-time serverless environments, and deploying serverless APIs with microservices. Finally, this book will teach you to monitor your applications, automate your infrastructure, and deploy with CloudFormation. By the end of this book, you will be well-versed with the various services that AWS provides and will be able to leverage AWS infrastructure to accelerate the development process.
Table of Contents (12 chapters)

What this book covers

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.