Horizontally Scaling High-Traffic Applications with Observability and Monitoring

Create a Linode account to try this guide with a $ credit.
This credit will be applied to any valid services used during your first  days.

Abstract

This reference architecture demonstrates how developers can horizontally scale their infrastructure using Terraform and Ansible when certain application performance thresholds are met. They can also observe detailed real-time metrics through the Grafana dashboard from Prometheus.

In this example, the main bottleneck is the /notifications endpoint of a mobile app. When the client pushes notifications to the app, many users check the notifications on their devices, which call back to the server. This creates an overwhelming number of requests that can crash the server. This proposed architecture solves several issues by:

  • Allowing the application to grow as the target audience increases by having multiple HAProxy nodes
  • Establishing monitoring via Prometheus and Grafana
  • Separating the main app and the notification callback to the app
  • Scaling the app’s notifications section via configuration management tools
  • Implementing network segmentation using Linode VLANs
  • Adding resiliency to the database for uptime and reliability

Technologies Used

Business Benefits

  • Better user experience through scalability
  • Proactive maintenance through observability and monitoring
  • A high degree of reliability with no single point of failure
  • A portable workload that can be deployed anywhere

Diagrams

Thumbnail of the horizontally scaling high-traffic application reference architecture

This page was originally published on


Your Feedback Is Important

Let us know if this guide was helpful to you.