Book Image

Serverless Programming Cookbook

By : Heartin Kanikathottu
Book Image

Serverless Programming Cookbook

By: Heartin Kanikathottu

Overview of this book

Managing physical servers will be a thing of the past once you’re able to harness the power of serverless computing. If you’re already prepped with the basics of serverless computing, Serverless Programming Cookbook will help you take the next step ahead. This recipe-based guide provides solutions to problems you might face while building serverless applications. You'll begin by setting up Amazon Web Services (AWS), the primary cloud provider used for most recipes. The next set of recipes will cover various components to build a Serverless application including REST APIs, database, user management, authentication, web hosting, domain registration, DNS management, CDN, messaging, notifications and monitoring. The book also introduces you to the latest technology trends such as Data Streams, Machine Learning and NLP. You will also see patterns and practices for using various services in a real world application. Finally, to broaden your understanding of Serverless computing, you'll also cover getting started guides for other cloud providers such as Azure, Google Cloud Platform and IBM cloud. By the end of this book, you’ll have acquired the skills you need to build serverless applications efficiently using various cloud offerings.
Table of Contents (12 chapters)

What this book covers

Chapter 1, Getting Started with Serverless Computing on AWS, covers building Serverless applications with AWS Lambda. We will also get familiar with AWS IAM and AWS CloudFormation, two services that we will be using a lot in the coming chapters.

Chapter 2, Building Serverless REST APIs with API Gateway, will show you how to create reliable and scalable API Gateway REST APIs. Some of the API Gateway functionality, such as Cross Origin Resource Sharing (CORS), will be covered later.

Chapter 3, Data Storage with Amazon DynamoDB, contains recipes for Amazon DynamoDB, a fully managed NoSQL database, integrating DynamoDB with AWS Lambda, along with some example scenarios and solutions for throughput provisioning.

Chapter 4, Application Security with Amazon Cognito, covers how to use Amazon Cognito for user signup, user login, and user management. We will cover real-world applications of Cognito, such as federated logins, in a later chapter.

Chapter 5, Web Hosting with S3, Route53, and CloudFront, outlines recipes related to hosting a website, including registering domain names, hosting a static website with Amazon S3, attaching a custom domain for our S3 bucket, and using CloudFront CDN.

Chapter 6, Messaging and Notifications with SQS and SNS, discusses how Amazon SQS and Amazon SNS are generally used for interprocess communications within Serverless applications. We will also see how these services can be triggered in AWS Lambda.

Chapter 7, Redshift, Amazon ML, and Alexa Skills, explores how the following services can bring value to Serverless computing in the areas of analytics and natural language processing, covering Amazon Kinesis, Amazon Machine Learning, and Amazon Alexa Skill Sets.

Chapter 8, Monitoring and Alerting with Amazon CloudWatch, discusses monitoring and alerting, both of which are essential DevOps practices. We will also see CloudWatch alarms, CloudWatch metrics, and CloudWatch metric log filters.

Chapter 9, Serverless Programming Practices and Patterns, explores some patterns and practices for Serverless applications within the AWS platform. We will see how some of the services covered previously interact together, and how they are implemented in real-world projects.

Chapter 10, Other Cloud Provider Services, provides a basic understanding and some getting started guides for Serverless computing with a few other cloud providers. The main intention of this section is to explore the popular alternatives and learn to do quick setups for proof-of-concept demonstrations.