W epoce infrastruktur chmurowych, mikrousług czy wysublimowanych wzorców projektowych architekt oprogramowania musi sobie radzić z niełatwym zadaniem, jakim jest wybór adekwatnych rozwiązań. Będą one potem szczegółowo testowane podczas pracy w środowisku produkcyjnym, a także przy późniejszym regulowaniu i rozbudowywaniu oprogramowania. Tymczasem w wypadku architektury złożonych systemów nie ma nieskomplikowanych kompromisów. Niezbędne jest szczególnie wnikliwe i krytyczne przemyślenie każdej decyzji projektowej, i to na osiągalnie najwcześniejszym etapie pracy.
Ta książka powinna zostać przestudiowana przez każdego architekta postępowych systemów rozproszonych. Jej celem jest pokazanie sposobów rozwiązywania skomplikowanych problemów związanych z projektowaniem takiego oprogramowania. W krytyczny i wszechstronny sposób omówiono w niej najważniejsze problemy utrudniające podejmowanie korzystnych decyzji projektowych. Zaprezentowano najskuteczniejsze strategie doboru trafnej 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 sprawność.
Najciekawsze zagadnienia:
Architekt musi być prorokiem...
Frank Lloyd Wright