Book Image

A Blueprint for Production-Ready Web Applications

By : Dr. Philip Jones
Book Image

A Blueprint for Production-Ready Web Applications

By: Dr. Philip Jones

Overview of this book

A Blueprint for Production-Ready Web Applications will help you expand upon your coding knowledge and teach you how to create a complete web application. Unlike other guides that focus solely on a singular technology or process, this book shows you how to combine different technologies and processes as needed to meet industry standards. You’ll begin by learning how to set up your development environment, and use Quart and React to create the backend and frontend, respectively. This book then helps you get to grips with managing and validating accounts, structuring relational tables, and creating forms to manage data. As you progress through the chapters, you’ll gain a comprehensive understanding of web application development by creating a to-do app, which can be used as a base for your future projects. Finally, you’ll find out how to deploy and monitor your application, along with discovering advanced concepts such as managing database migrations and adding multifactor authentication. By the end of this web development book, you’ll be able to apply the lessons and industry best practices that you’ve learned to both your personal and work projects, allowing you to further develop your coding portfolio.
Table of Contents (13 chapters)
1
Part 1 Setting Up Our System
3
Part 2 Building a To-Do App
8
Part 3 Releasing a Production-Ready App

Monitoring production

Now that our app is running in production, we need to keep it working. This means we need to monitor for issues, notably errors and slow performance, as both lead to a poor user experience. To do so, I find it easiest to use Sentry (sentry.io), which can monitor errors and performance in the frontend and backend code.

Monitoring the backend

To monitor the backend, we should create a new project in Sentry and call it backend. This is where we’ll see any errors and can monitor the performance. The project will have its own data source name (DSN) value, which we’ll need to provide to the app in production. The DSN is found on the project’s configuration page on sentry.io.

To make the DSN available to our app, we need it to be an environment variable in the running container. This is achieved by adding the following to the existing aws_ecs_task_definition section in infrastructure/aws_cluster.tf:

resource "aws_ecs_task_definition...