Book Image

Building Serverless Web Applications

By : Diego Zanon
Book Image

Building Serverless Web Applications

By: Diego Zanon

Overview of this book

This book will equip you with the knowledge needed to build your own serverless apps by showing you how to set up different services while making your application scalable, highly available, and efficient. We begin by giving you an idea of what it means to go serverless, exploring the pros and cons of the serverless model and its use cases. Next, you will be introduced to the AWS services that will be used throughout the book, how to estimate costs, and how to set up and use the Serverless Framework. From here, you will start to build an entire serverless project of an online store, beginning with a React SPA frontend hosted on AWS followed by a serverless backend with API Gateway and Lambda functions. You will also learn to access data from a SimpleDB database, secure the application with authentication and authorization, and implement serverless notifications for browsers using AWS IoT. This book will describe how to monitor the performance, efficiency, and errors of your apps and conclude by teaching you how to test and deploy your applications.
Table of Contents (17 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

AWS IoT


It may sound strange to use the Internet of Things as a service for websites, but AWS IoT is the only service offered by Amazon that supports WebSockets in a serverless model. Without WebSockets, we need to rely on polling. Polling is the process where the client needs to make repeated and frequent requests to the server, checking whether a new message is available, while WebSockets are used to create a link between the client and the server where the server can send the message directly to the client without the need of being constantly requested. WebSockets are used to implement the publish-subscribe pattern, which is more efficient than polling.

Besides AWS IoT, another candidate to implement real-time serverless notifications is Amazon Simple Queue Service (SQS). You can create a queue of messages that are destined for a single user and wait for this user to request SQS looking for new messages. While polling is necessary for this solution, Amazon offers a feature named long-polling...