While this post is from 2012, much of it applies very much, especially when building your own systems/(micro)services:
The actual reliability of your system depends largely on how bug free it is, how good you are at monitoring it, and how well you have protected against the myriad issues and problems it has. This isn’t any different from traditional systems, except that the new software is far less mature. I don’t mean this disparagingly, I work in this area, it is just a fact. Maturity comes with time and usage and effort.
Working at Uber on larger systems, it’s surprised me how much more effort we’re putting in operating the system reliably, vs the upfront planning/design (and we spent a lot of time on planning/design). I wrote in-depth about those practices and here’s the relevant HN discussion: https://news.ycombinator.com/item?id=20462349
Comments
While this post is from 2012, much of it applies very much, especially when building your own systems/(micro)services:
Working at Uber on larger systems, it’s surprised me how much more effort we’re putting in operating the system reliably, vs the upfront planning/design (and we spent a lot of time on planning/design). I wrote in-depth about those practices and here’s the relevant HN discussion: https://news.ycombinator.com/item?id=20462349