
Notes on Distributed Systems for Young Bloods (2013) - aratno
https://www.somethingsimilar.com/2013/01/14/notes-on-distributed-systems-for-young-bloods/
======
benhoyt
As I read the first five items on that list, each one made me think more and
more "then isn't the answer to not write distributed systems?". But then the
last item gives almost the opposite advice: "Extract services".

If you don't need (micro)services, don't build them -- they only introduce
complexity in communication between components, build tooling, diagnosing
issues, and they slow things down. It's amazing what you can do on a single
machine, or, beyond that scale, a simple two-tier architecture with a few web
nodes and a big SQL database. Systems like that are much cheaper, more
predictable, and easier to understand. Of course, if you're Google or Facebook
scale, distributed systems are (a) necessary (evil).

Additionally, I'm not sure his last point "extract services" is a good rule of
thumb. If something can be a library, it'll be much simpler as a library.
Don't make an "email service" when you can just import an SMTP library, wrap
it in a couple dozen lines of code, and be done with it.

------
dang
See also:

2016
[https://news.ycombinator.com/item?id=12245909](https://news.ycombinator.com/item?id=12245909)

Discussed at the time:
[https://news.ycombinator.com/item?id=5055371](https://news.ycombinator.com/item?id=5055371)

------
Thorentis
"Using a mean assumes that the metric under evaluation follows a bell curve
but, in practice, this describes very few metrics an engineer cares about.
“Average latency” is a commonly reported metric, but I’ve never once seen a
distributed system whose latency followed a bell curve. If the metric doesn’t
follow a bell curve, the average is meaningless and leads to incorrect
decisions and understanding. "

I was never great at stat's. Can somebody explain why this is?

~~~
diroussel
Imagine a hospital where the only patients are either mothers, or babies. All
the babies are in the age range zero to 2 months, and the mothers are in the
range 16 to 40 years old (mostly). If you compute the average age, it comes
out at 12 years old.

What has the average told us? It has told us nothing because it's meaningless
with a bi-modal distribution.

For more info read up on the normal distribution, guassian distribution, bi-
modal distributions, and the central limit theorem.

------
akhilpotla
Fantastic article! I feel like a lot of this could easily translate for
blockchain engineers since that too is a distributed system.

