Here is my thought on external monitoring.  Please providing
some comments/suggestions.  1) what is the different between
external monitoring with run tests in production    The goal are
different,  1 is for monitoring the service health, such as
reliability,  latency, availability,  2 is for the verify the
functionality of a feature.  Both are valid testing strategy,
but the metric, the frequency of running "tests" are different.
The latter is also very important since production is the only
truth, and running a test in production to verify it works is
the only way to confirm it works.  2) How many kind of external
monitoring we have?    We have three kinds of external
monitoring: 1. "ping" like monitoring which measure the
available or latency of a service access point.  2. running
basic canonical scenarios again your service to measure the
functionality availability of your service.  3) simulate your
typical user scenario in production to make sure the workflow
for your service works.  Note, the big differ