Book Image

Learn AWS Serverless Computing

By : Scott Patterson
Book Image

Learn AWS Serverless Computing

By: Scott Patterson

Overview of this book

Serverless computing is a way to run your code without having to provision or manage servers. Amazon Web Services provides serverless services that you can use to build and deploy cloud-native applications. Starting with the basics of AWS Lambda, this book takes you through combining Lambda with other services from AWS, such as Amazon API Gateway, Amazon DynamoDB, and Amazon Step Functions. You’ll learn how to write, run, and test Lambda functions using examples in Node.js, Java, Python, and C# before you move on to developing and deploying serverless APIs efficiently using the Serverless Framework. In the concluding chapters, you’ll discover tips and best practices for leveraging Serverless Framework to increase your development productivity. By the end of this book, you’ll have become well-versed in building, securing, and running serverless applications using Amazon API Gateway and AWS Lambda without having to manage any servers.
Table of Contents (20 chapters)
Free Chapter
1
Section 1: Why We're Here
4
Section 2: Getting Started with AWS Lambda Functions
9
Section 3: Development Patterns
12
Section 4: Architectures and Use Cases

What this book covers

Chapter 1, The Evolution of Compute, explores the drivers and benefits behind moving from deploying hardware in physical data centers to scalable services in the cloud. At a high level, we cover the progression of hardware, compute, and software architectures.

Chapter 2, Event-Driven Applications, introduces the event-first mindset used to establish modern integration patterns. This chapter also highlights some of the challenges faced, including scale, distributed transactions, and failures.

Chapter 3, The Foundations of a Function in AWS, covers the core foundations of a Lambda function, including security constructs and the programming model. You then break down a function to understand its anatomy before following an example to build and deploy your first function.

Chapter 4, Adding Amazon API Gateway, introduces an API management solution that is used to build more control and governance in connection with developing and publishing RESTful APIs. You will need to understand the concepts and then create your own API backed by a Lambda function.

Chapter 5, Leveraging AWS Services, explores how to use other AWS services as event sources for AWS Lambda, and then how to use the SDK to interact with the services during a function execution. Services covered include Amazon S3, Amazon DynamoDB, and AWS Step Functions.

Chapter 6, Going Deeper with Lambda, unlocks the more advanced areas of AWS Lambda to make best use of resources. You will learn how to structure a function for maximum code reuse, thereby making development and executions more efficient.

Chapter 7, Serverless Framework, introduces an application framework focused on providing the best developer experience available. You will cover the core concepts and start building and deploying your first service using the framework.

Chapter 8, CI/CD with the Serverless Framework, adds good development practices to Serverless Framework workflows by teaching you about the patterns and AWS services involved with continuous integration and continuous deployment.

Chapter 9, Data Processing, covers the different types of data processing and then dives into a real-world example using serverless AWS services.

Chapter 10, AWS Automation, explores some of the operational and security tasks involved with AWS ecosystems, including an introduction to continuous compliance and resource tagging.

Chapter 11, Creating Chatbots, explores how to create a chatbot with native AWS services, and then covers how to wrap a different type of chatbot into a project in the Serverless Framework.

Chapter 12, Hosting Single-Page Web Applications, walks through the steps involved in hosting a single-page web application on AWS using multiple services.

Chapter 13, GraphQL APIs, explains how GraphQL APIs are a relatively new way of building and querying APIs, and that they map particularly well to the serverless model. This chapter introduces the concepts of GraphQL APIs and what GraphQL APIs are used for, before going through some details on how to create GraphQL components, first with Lambda, and then using AWS AppSync.