I think it's more how these systems are constructed than anything these classifications suggest. For instance, Google's stack of GFS, Spanner, and F1 RDBMS get the best of most or all worlds by solving problems at each point in the stack where it's easiest. Likewise, VMS standardized calling conventions, batching, distributed locking, and clustering to make multi-language, multi-system apps easy to build and maintain. NonStop used high-bandwith, fault-tolerant hardware and OS to get NoSQL properties on SQL-style DB's. Many RTOS's (and CompSci server-side stuff) prevent one app from starving another by not letting apps control the scheduling. And so on.
What we're seeing is a classification of decent and bad design that Worse is Better brought us. The above are examples of the Right Thing. Another thing it reminds me of are the endless discussions of various garbage collection strategies at app layer aimed at low latency and discussions of OS-level GC. I usually point out that a language/compiler combo that minimizes GC reliance plus a continuous, hardware GC knocks the issue out almost entirely. Has in fielded products. Intel/AMD could easily do one in semi-custom business that operates on a specific memory range w/ OS/VM mods to allow that. Yet, the discussions on impossibilities at SW level continue. :)
The article ends, "At the other end of the spectrum, emphasis is put on isolating business in bounded contexts. Isolation enable independent upgrade and roll-out of new features, and easier extension of the system. The cost is sacrificing the ACID properties across business entities, more data duplication, and a growing need for infrastructure. I
What we're seeing is a classification of decent and bad design that Worse is Better brought us. The above are examples of the Right Thing. Another thing it reminds me of are the endless discussions of various garbage collection strategies at app layer aimed at low latency and discussions of OS-level GC. I usually point out that a language/compiler combo that minimizes GC reliance plus a continuous, hardware GC knocks the issue out almost entirely. Has in fielded products. Intel/AMD could easily do one in semi-custom business that operates on a specific memory range w/ OS/VM mods to allow that. Yet, the discussions on impossibilities at SW level continue. :)