W epoce infrastruktur chmurowych, mikrousług czy wysublimowanych wzorców projektowych architekt oprogramowania musi sobie radzić z  trudnym zadaniem, jakim jest wybór odpowiednich rozwiązań. Będą one  potem szczegółowo testowane podczas pracy w środowisku produkcyjnym, a  także przy późniejszym dostosowywaniu i rozbudowywaniu oprogramowania.  Tymczasem w wypadku architektury złożonych systemów nie ma łatwych  kompromisów. Konieczne jest bardzo wnikliwe i krytyczne przemyślenie  każdej decyzji projektowej, i to na możliwie najwcześniejszym etapie  pracy.
Ta książka powinna zostać przestudiowana przez każdego architekta  nowoczesnych systemów rozproszonych. Jej celem jest pokazanie sposobów  rozwiązywania trudnych problemów związanych z projektowaniem takiego  oprogramowania. W krytyczny i wszechstronny sposób omówiono w niej  najważniejsze problemy utrudniające podejmowanie dobrych decyzji  projektowych. Zaprezentowano najskuteczniejsze strategie doboru  optymalnej architektury. Na jasnych przykładach pokazano, w jaki sposób  należy przystąpić do analizy założeń projektowych ― począwszy od  określenia ""ziarnistości"" usług, przepływów informacji i orkiestracji,  poprzez eliminację sprzężenia kontraktów i określenie nadzoru nad  transakcjami rozproszonymi, a skończywszy na metodach optymalizowania  właściwości operacyjnych, takich jak skalowalność, elastyczność i  wydajność.
Najciekawsze zagadnienia:
  - analiza kompromisów i dokumentowanie decyzji
- podejmowanie decyzji dotyczących ""ziarnistości"" usług
- złożoność procesu przekształcania aplikacji monolitycznych
- eliminacja sprzężeń kontraktów wiążących usługi
- obsługa danych w architekturze o dużym stopniu rozproszenia
- wzorce zarządzania przepływami informacji i transakcjami
Architekt musi być prorokiem...
  Frank Lloyd Wright