Free — no signup required

Introduction: "It's Always the Network

2 min read

The Default Blame

When a distributed system breaks, the network is the first suspect. This is partly cultural habit and partly justified — the network is the one component every service depends on, and its failures are often invisible until they cascade. A dropped packet here, an extra 80ms of latency there, and suddenly your microservices are timing out, your database replication is lagging, and your users are staring at a spinner.

Think of the network as the plumbing in a building. When water stops flowing to a faucet, the problem could be the faucet itself, a pipe in the wall, the main supply line, or the municipal water system. You can't fix what you can't see — and most of the plumbing is hidden.

Network Performance Monitoring (NPM) is the discipline of making that hidden plumbing visible. It covers the tools, techniques, and metrics used to measure the health, performance, and behavior of network paths between servers, cloud regions, and end users. Unlike Application Performance Monitoring (APM), which instruments your code to trace function calls and database queries, NPM operates at the wire level. It asks: Did the packet arrive? How long did transit take? Was data lost or reordered in flight?

Why NPM Is Harder in the Cloud Era

On-premises, you own the routers and switches. You can log into a Cisco switch and pull interface statistics directly. In AWS, Azure, or GCP, the physical network is entirely managed by the cloud provider. You cannot inspect the underlying hardware. You are a tenant, not the landlord.

This forces a shift to black-box techniques: you infer network behavior from the outside by observing what packets do, rather than reading internal device state. VPC Flow Logs, synthetic probes, and eBPF-based agents become your primary instruments. The cloud provider gives you some visibility (CloudWatch metrics, Azure Network Watcher), but the granularity is often coarser than what you'd get from direct device access.

The practical implication: NPM in cloud-native environments requires combining multiple data sources — flow logs, active probes, TCP-level telemetry, and application-layer signals — because no single source gives you the complete picture.

This is one of 18 chapters

Every chapter is free — Kubernetes, Terraform, SRE, distributed systems, and more — with fast daily review built in.

Sign up free