Inne - programowanie
Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje
- Szczegóły
- Kategoria: Inne - programowanie
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
Neal Ford jest architektem aplikacji w ThoughtWorks, międzynarodowej firmie konsultingowej z branży IT. Jest autorem programów komputerowych, artykułów i książek z dziedziny informatyki. Udziela konsultacji w zakresie projektowania i budowania dużych aplikacji korporacyjnych, a także prowadzi internetowe wykłady dla wojska i wielu firm z całego świata, wpisanych na listę „Fortune 500”.
Mark Richards jest doświadczonym architektem oprogramowania. Zajmuje się projektowaniem i wdrażaniem mikrousług oraz innych systemów o architekturze rozproszonej. Założył tematyczny serwis dla programistów - Developer to Architect.
Pramod Sadalage specjalizuje się w projektach aplikacji i ewolucyjnych baz danych, architekturze danych i bazach danych NoSQL.
Zhamak Dehghani jest autorką paradygmatu siatki danych. Pełni funkcję dyrektora do spraw technologii w firmie ThoughtWorks, gdzie zajmuje się systemami rozproszonymi i architekturą danych. Jest członkinią wielu organów doradczych do spraw technologii, a także zwolenniczką decentralizacji w technologii i w społeczeństwie.
- Informacja i kodowanie. Krótkie wprowadzenie z przykładami zastosowań - [11 kwiecień 2024]
- Język R w data science. Importowanie, porządkowanie, przekształcanie, wizualizowanie i modelowanie danych. Wydanie II - [02 kwiecień 2024]
- Przetwarzanie języka naturalnego z wykorzystaniem transformerów. Budowanie aplikacji językowych za pomocą bibliotek Hugging Face - [21 marzec 2024]
- Certyfikowany inżynier wymagań. Na podstawie IREB CPRE. Poziom podstawowy - [13 marzec 2024]
- Języki programowania sterowników PLC: LAD, FBD, SCL, STL. Ćwiczenia dla początkujących - [07 luty 2024]