chapter five
5 Engaging throttling, monitoring, and access control
This chapter covers
- An introduction to throttling and why we need to apply throttling on our microservices.
- Different dimensions of throttling and their impacts.
- Setting up Zuul as an API gateway for throttling.
- An introduction to observability and its importance in a microservice architecture.
- The main aspects of observability and why they matter.
- Using Prometheus and Grafana to monitor our microservices.
- An introduction to Open Policy Agent (OPA) and its fundamentals.
- Applying access control policies via Zuul and OPA.
In chapter 3 we introduced the API gateway architectural pattern and discussed its applicability in microservice architectures. Zuul is an open source API gateway developed by Netflix and used in its microservices deployments. Zuul provides dynamic routing, monitoring, resiliency, security and more. It acts as the front door to Netflix’s server infrastructure, handling traffic from Netflix users around the globe. In chapter 3 we discussed how to enforce security based on OAuth 2.0 for your microservices using Zuul as the gateway. In this chapter we extend those samples to use Zuul to handle throttling, apply access control policies and we also discuss the monitoring aspects of our microservices.