Serverless Architectures on AWS, Second Edition
Peter Sbarski, Yan Cui, Ajay Nair
  • MEAP began July 2018
  • Publication in Spring 2021 (estimated)
  • ISBN 9781617295423
  • 500 pages (estimated)
  • printed in black & white
free previous edition eBook included
An eBook copy of the previous edition of this book is included at no additional cost. It will be automatically added to your Manning Bookshelf within 24 hours of purchase.

A must-read reference for anybody interested in learning how to implement serverless applications in AWS.

Borko Djurkovic
Serverless Architectures on AWS, Second Edition teaches you how to design, secure and manage serverless backends that can power the most demanding web and mobile apps! This new edition has been fully-updated to include new chapters on current best practices and innovative use-cases, along with full coverage of the latest changes to AWS.

About the Technology

Leave behind tedious server maintenance, scheduled downtimes, constant patching, and complex infrastructure! Serverless technologies such as AWS Lambda, give you the tools to build complete applications at scale using self-managing cloud-hosted services that automatically update and scale on demand. Serverless systems enable flexible new architectures that replace or augment traditional back-end servers. On the AWS platform, the centerpiece of serverless applications is AWS Lambda, a service for writing and deploying small, single-purpose cloud-hosted functions. By composing and combining Lambda functions together with other AWS and third-party services, you can create powerful applications that help bring down costs, work faster, and have fantastic support.

About the book

Serverless Architectures on AWS, Second Edition teaches you how to design, secure, and manage serverless backend APIs for web and mobile applications on the AWS platform. You'll get going quickly with this book's relevant real-world examples, code listings, diagrams, and clearly-described architectures that you can readily apply to your own work. You’ll master serverless systems using AWS Lambda and the myriad of other services on the AWS platform.

This new edition has been fully updated to reflect the newest serverless design best practices and changes to AWS, including covering DynamoDB, Cognito, Google Firestore, AWS Elementals MediaConvert, Step Functions, and much more. There are also three new chapters dedicated to black belt tricks for Lambda, using patterns, and even DevOps for serverless applications.

Table of Contents detailed table of contents

Part 1: First Steps

1 Going serverless

1.1 What’s in a name?

1.2 Understanding serverless architectures

1.2.1 Service-oriented architecture and microservices

1.2.2 Implementing the architecture the conventional way

1.2.3 Implementing architecture the serverless way

1.3 Making the call to go serverless

1.4 Serverless pros and cons

1.5 What’s new in this second edition?

1.6 Summary

2 First steps to serverless

2.1 Video encoding pipeline

2.1.1 Amazon Web Services

2.2 Preparing your system for Serverless

2.2.1 Setting up your system

2.2.2 Working with Identity and Access Management

2.2.3 Let’s make a bucket

2.2.4 Creating an IAM role

2.2.5 AWS Elemental MediaConvert

2.2.6 MediaConvert Role

2.3 Starting with the Serverless framework

2.3.1 Setting up Serverless framework

2.3.2 Bringing Serverless Framework to 24-Hour Video

2.3.3 Creating your first Lambda function

2.3.4 Testing in AWS

2.3.5 Looking at logs

2.4 Lessons learned

3 Architectures and patterns

Part 2: Use Cases

4 Yubl case study – architecture highlights, lessons learned

4.1 The original architecture

4.1.1 Scalability problems

4.1.2 Performance problems

4.1.3 Long feature delivery cycles

4.1.4 Why serverless?

4.2 The new serverless architecture

4.2.1 The new search API

4.3 Migrating to new microservices gracefully

4.4 Summary

5 A Cloud Guru case study – architecture highlights, lessons learned

5.1 The original architecture

5.1.1 The journey to 43 microservices

5.1.2 What is GraphQL

5.1.3 Moving to GraphQL

5.1.4 Service discovery

5.1.5 Security in the BFF world

5.1.6 Remnants of the legacy

5.2 Lessons learned

6 The story of Z – architecture highlights, lessons learned

Part 3: Practicum

7 Building a scheduling service for ad-hoc tasks

7.1 Defining non-functional requirements

7.2 Cron job with EventBridge

7.3 Your scores

7.3.1 My scores

7.3.2 Tweaking the solution

7.3.3 Final thoughts

7.4 DynamoDB TTL

7.4.1 Your scores

7.4.2 My scores

7.4.3 Final thoughts

7.5 Step Functions

7.5.1 Your scores

7.5.2 My scores

7.5.3 Tweaking the solution

7.5.4 Final thoughts

7.6 SQS

7.6.1 Your scores

7.6.2 My scores

7.6.3 Final thoughts

7.7 Combining DynamoDB TTL with SQS

7.7.1 Your scores

7.7.2 My scores

7.7.3 Final thoughts

7.8 Choosing the right solution for your application

7.8.1 The applications

7.8.2 Your weights

7.8.3 My weights

7.8.4 Scoring the solutions for each application

7.9 Summary

8 Architecting serverless parallel computing

8.1 Introduction to MapReduce

8.1.1 How to transcode a video

8.1.2 The architecture

8.2 Architecture deep dive

8.2.1 Maintaining state

8.2.2 Transcode Video

8.2.3 Step Functions

8.2.4 Extract Audio

8.2.5 Split and Convert Video

8.2.6 Merge Video

8.2.7 Merge Video and Audio

8.3 Alternative Architecture

8.4 Summary

9 Building a realtime data processing pipeline with Kinesis

Part 4: Growing your architecture

10 Databases & storage

11 DevOps & observability

12 Blackbelt Lambda

12.1 Where to optimize?

12.2 Before we get started

12.2.1 How a Lambda function handles requests

12.2.2 Latency — cold vs. warm

12.2.3 Load generation on your function and application

12.2.4 Tracking performance and availability

12.3 Optimizing latency

12.3.1 Minimize deployment artifact size

12.3.2 Allocate sufficient resource to your execution environment

12.3.3 Optimize function logic

12.4 Concurrency

12.4.1 Correlation between Requests, latency, and concurrency

12.4.2 Managing concurrency

12.5 Summary

13 Summary and next steps

Appendixes

Appendix A: Services for your serverless architecture

A.1 API Gateway

A.2 Simple Notification Service

A.3 Simple Storage Service

A.4 Simple Queue Service

A.5 Simple Email Service

A.6 Relational Database Service

A.7 DynamoDB

A.8 Algolia

A.9 Media Services

A.10 Kinesis Streams

A.11 Athena

A.12 AppSync

A.13 Cognito

A.14 Auth0

A.15 Other services

Appendix B: Setting up your cloud

B.1 Security model and identity management

B.1.1 Creating and managing IAM users

B.1.2 Groups

B.1.3 Roles

B.1.4 Resources

B.1.5 Permissions and policies

B.2 AWS CloudTrail

B.2.1 Enabling CloudTrail

B.3 Cost

B.3.1 Creating billing alerts

B.3.2 Monitoring and optimizing costs

B.3.3 Using the Simple Monthly Calculator

B.3.4 Calculating Lambda and API Gateway costs

B.4 Summary

What's inside

  • First steps with serverless computing
  • The principles of serverless design
  • Transitioning from servers to services
  • Important patterns and architectures
  • Writing AWS Lambda functions and using the API Gateway
  • Securing, deploying, and managing your finished architecture

About the reader

This book is for server-side and full-stack software developers with some experience using Node.js and AWS. Beginners and intermediate developers alike will find something useful inside.

About the authors

Peter Sbarski is VP of Engineering at A Cloud Guru and the head organizer of Serverlessconf, the world’s first conference dedicated entirely to serverless architectures and technologies. Throughout his extensive IT career, Peter has led teams across large enterprise solutions with a focus on web and AWS cloud technologies.

Yan Cui is an independent consultant who has run production workload at scale in AWS for over 10 years. He has been an architect and principal engineer with a variety of industries ranging from banking, e-commerce, sports streaming to mobile gaming. He has worked extensively with AWS Lambda in production, and has been helping clients around the world adopt AWS and serverless. Yan is also an AWS Serverless Hero and a prolific blogger at theburningmonk.com.

Ajay Nair is a Principal Technical Product Manager at Amazon. Ajay is one of the founding members of the AWS Lambda team, and he continues to work closely with customers and partners to define the product roadmap and strategy for AWS Lambda and the overall serverless portfolio for AWS.


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 $34.99 $49.99 pBook + eBook + liveBook
includes previous edition eBook
Additional shipping charges may apply
Serverless Architectures on AWS, Second Edition (print book) added to cart
continue shopping
go to cart

eBook $27.99 $39.99 3 formats + liveBook
includes previous edition eBook
Serverless Architectures on AWS, Second Edition (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