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

Serving static files with Amazon S3


Amazon S3 is extremely useful because it is a cheap service that provides high availability and scalability, requiring zero management effort. The infrastructure is fully managed by AWS. In this section, we are going to use S3 to host our website static files such as HTML, CSS, JavaScript, and images. You will see that this is done by uploading the files to a bucket and configuring S3 to enable website hosting.

Besides hosting static websites, you can also host complex applications. You just need to have a clear separation of concerns: the frontend files (HTML/CSS/JavaScript) will be hosted on S3 and will be used by the browser to render the web page and request additional data to the backend code, which will be hosted and executed by Lambda functions. As we are going to discuss in Chapter 5, Building the Frontend, you can build your frontend as an SPA. This requires the browser to render the pages. Alternatively, you can use Lambda to serve server-side...