We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

This lesson's interactive features are locked, please to keep using them

Monitoring

Trust is a big part of software at scale. You'll need to trust your cloud provider to keep things online, third-party services like payment processors to operate smoothly, and your developers to write robust code. But remember these truisms:

No code survives contact with the enemy.

– Helmuth von Moltke

and

The best-laid cloud architectures of mice and men often go awry.

– Robert Burns

Inevitably, things will go wrong, and part of good infrastructure is buying time to fix them: keeping systems limping along until there's time to fix them for real.

Without good monitoring, you will be forever shackled to your computer and pager. Bad monitoring has many forms, such as:

  • Too sensitive, sending constant notifications
  • Broken, sending no notifications, or too few
  • Insufficiently detailed, sending notifications that don't give any context
  • Slow, so that you'd be better off just checking each server manually

Being on-call scares a lot of people away from this industry, but monitoring can take us from "I have no idea what's going wrong" to "Here's what's happening and how to fix it." You'll need to go beyond simply knowing the "AWS acronyms" and actually be able to understand and observe your infra.