You can't debug distributed systems with dashboards
read.acloud.guru
read.acloud.guru
You know what solves ops issues? System visibility connected to automation designed to diagnose root causes and provide simple solutions to common problems. Serverless adds extra complexity and points of failure, but that doesn't mean "you can't debug distributed systems with dashboards". Give me a break.
I came away with nothing. I got nothing out of this article. I have re-read it twice now hoping that I was missing something, or had failed to understand some point.
This. At the end of the say you gotta put the right stack trace in front of the right eyeballs so someone can connect the dots and figure out why your crap is burning down. Automation helps people who are not intimately familiar with every aspect of each system do that.
To be honest that can describe a lot of articles here
Charity is saying to structure your logs, add useful information to them from all portions of the transaction, and save the logs somewhere to query them across all fields in any combination.
That's what her product does.
This is in opposition to poor quality text logs, which typically contain almost no useful information, and time series aggregates, which either throw away all the context, or explode traditional time series databases when you try to add high cardinality fields to them.
Edit: I should add that "dashboards" in this context means the typical wall of time series charts you can buy from a bunch of different vendors.
You have various outputs (sinks) where you can send your logs to almost anywhere - AWS CloudWatch to its own group/stream where you can trigger alerts, a NoSql database like ElasticSearch or Mongo where you can do queries against properties.
You can also have every log entry tagged with metadata like the application name/EC2 instance, AMI being used either globally or within a “context” (everything that’s called inside a using block).
Why anyone would do unstructured logging in 2018 is beyond me.
Distributed systems mean you have to fall back to the most basic form of debugging.
You had better be getting something really good for that bargain. You’ve nearly permanently compromised your ability to reason about obscure bugs in the system in order to have it, so be sure it was worth it.
I've done it and the tools can work quite well. The same consistent instrumentation of your code also makes it easy to build really great dashboard monitoring.
All this time building tools costs money and adds complexity to your stack, so, yes, distribution had better be worth it for your business needs before you take it on. Pretty much like any engineering trade-off.
Maybe I should to a course on CloudWatch. Seems like a powerful tool, but a bit convulted at times...