E-book details

Strategiczne monolity i mikrousługi. Jak napędzać innowacyjność za pomocą przemyślanej architektury

Strategiczne monolity i mikrousługi. Jak napędzać innowacyjność za pomocą przemyślanej architektury

Vaughn Vernon, Tomasz Jaskula

Ebook

Przedsiębiorstwo, jeśli ma osiągać satysfakcjonujące wyniki biznesowe, musi używać dobrego oprogramowania. Aby jednak zapewnić firmie pozycję lidera i decydować o przyszłości branży, trzeba czegoś więcej: odwagi we wprowadzaniu i wdrażaniu innowacji. Innowacje te powinny być wspierane przez inteligentne decyzje architektoniczne ukierunkowane na cele firmy, osiągane wyniki i zapewnienie sobie przewagi konkurencyjnej w przyszłości. Niestety podczas projektowania oprogramowania architekci często kierują się przyzwyczajeniami bądź aktualnie obowiązującą modą.

Niniejsza książka jest przeznaczona dla kadry kierowniczej najwyższego szczebla oraz dla osób sterujących rozwojem oprogramowania w firmie. Ma pomóc w zrozumieniu problemów strategicznych, z jakimi te osoby się mierzą, a także ułatwić wybór najlepszego rozwiązania architektonicznego. W książce opisano, kiedy zdecydować się na rozproszone mikrousługi czy dobrze zmodularyzowane monolity, a kiedy na usługi będące połączeniem obu rozwiązań. Dokładnie wyjaśniono, w jak dużym stopniu wyważone decyzje architektoniczne umożliwiają maksymalizację wartości i innowacyjności, dostarczanie łatwych do rozwijania systemów i unikanie kosztownych błędów. Nie zabrakło w niej również praktycznych wskazówek, jak tworzyć dobrze zaprojektowane monolity, które można bez problemu utrzymywać i rozwijać, oraz jak stopniowo przekształcać starsze systemy w prawdziwie efektywne mikrousługi.

Najciekawsze zagadnienia:

  • łączenie planowania architektury z wprowadzaniem innowacji w firmie
  • problemy komunikacyjne a eksperymentowanie z innowacjami
  • praktyczne podejście do strategicznych inwestycji
  • najlepsze style architektoniczne
  • wybór między systemem monolitycznym a mikrousługami
  • przekształcanie monolitów w mikrousługi

Przepis na sukces tkwi w doskonałości podejścia architektonicznego!

Spis treści

Przedmowa

Wstęp

Podziękowania

O autorach

Część I. Strategiczne uczenie się poprzez eksperymenty na potrzeby transformacji

  • Streszczenie
  • Rozdział 1. Cele biznesowe i transformacja cyfrowa
    • Transformacja cyfrowa - co jest jej celem?
      • Architektura oprogramowania - szybki przegląd
    • Dlaczego oprogramowanie się nie sprawdza?
      • Metafora długu
      • Entropia oprogramowania
      • Wielka kula błota
      • Bieżący przykład
    • Twoje przedsiębiorstwo a prawo Conwaya
      • Komunikacja dotyczy wiedzy
      • Głuchy telefon
      • Trudno dojść do porozumienia
      • Lecz nie jest to niemożliwe
    • (Nowe) podejście do strategii oprogramowania
      • Myślenie
      • Przemyślenie na nowo
    • Czy monolity są złe?
    • Czy mikrousługi są dobre?
    • Nie obwiniaj Agile
    • Wyrwać się z błota
    • Podsumowanie
    • Źródła
  • Rozdział 2. Podstawowe narzędzia strategicznego uczenia się
    • Decyzje: właściwe i niewłaściwe, wczesne i późne
    • Kultura i zespoły
      • Porażka to nie koniec
      • Kultura porażki to nie kultura zrzucania winy
      • Jak właściwie rozumieć prawo Conwaya?
      • Umożliwianie bezpiecznego eksperymentowania
    • Najpierw moduły
    • Wdrożenie na koniec
    • Wszystko pomiędzy
      • Zdolności biznesowe, procesy biznesowe i cele strategiczne
      • Celowe dostarczanie
      • Podejmowanie decyzji za pomocą Cynefin
    • Gdzie jest spaghetti i jak długo się je gotuje?
    • Architektura strategiczna
    • Zastosowanie narzędzi
    • Podsumowanie
    • Źródła
  • Rozdział 3. Eksperymentowanie i odkrywanie zorientowane na zdarzenia
    • Polecenia i zdarzenia
      • Stosowanie modeli oprogramowania
    • Szybkie uczenie się przy użyciu EventStormingu
      • Kiedy konieczne są sesje zdalne
      • Prowadzenie sesji
      • Modelowanie ogólnej wizji
    • Zastosowanie narzędzi
    • Podsumowanie
    • Źródła

Część II. Wspieranie innowacji biznesowych

  • Streszczenie
  • Rozdział 4. Ukierunkowanie na dziedzinę
    • Dziedziny i poddziedziny
    • Podsumowanie
    • Źródła
  • Rozdział 5. Wiedza kontekstowa
    • Kontekst ograniczony i język wszechobecny
    • Dziedzina główna
    • Poddziedziny pomocnicze, generyczne i mechanizmy techniczne
      • Poddziedziny pomocnicze
      • Poddziedziny generyczne
      • Mechanizmy techniczne
    • Zdolności biznesowe i konteksty
    • Nie za dużo, nie za mało
    • Podsumowanie
    • Źródła
  • Rozdział 6. Mapowanie, porażka i sukces - wybierz dwa
    • Mapowanie kontekstów
      • Partnerstwo
      • Wspólny rdzeń
      • Klient - Dostawca
      • Konformizm
      • Warstwa przeciwuszkodzeniowa
      • Usługa open-host
      • Język opublikowany
      • Osobne drogi
    • Modelowanie topografii
    • Ponoszenie porażek i odnoszenie sukcesów
    • Zastosowanie narzędzi
    • Podsumowanie
    • Źródła
  • Rozdział 7. Modelowanie konceptów dziedzinowych
    • Encje
    • Obiekty wartości
    • Agregaty
    • Usługi dziedzinowe
    • Zachowania funkcyjne
    • Zastosowanie narzędzi
    • Podsumowanie
    • Źródła

Część III. Architektura zorientowana na zdarzenia

  • Streszczenie
  • Rozdział 8. Architektura podstaw
    • Style architektoniczne, wzorce i czynniki decyzyjne
      • Porty i adaptery (architektura heksagonalna)
      • Modularyzacja
      • Zapytania/odpowiedzi REST
    • Atrybuty jakości
      • Bezpieczeństwo
      • Prywatność
      • Wydajność
      • Skalowalność
      • Wytrzymałość - niezawodność i odporność na błędy
      • Złożoność
    • Zastosowanie narzędzi
    • Podsumowanie
    • Źródła
  • Rozdział 9. Architektury oparte na komunikatach i zdarzeniach
    • REST oparty na komunikatach i zdarzeniach
      • Dzienniki zdarzeń
      • Subscriber polling
      • Server-Sent Events
    • Zarządzanie procesami i oparte na zdarzeniach
    • Event Sourcing
    • CQRS
    • Serverless i Function as a Service
    • Zastosowanie narzędzi
    • Podsumowanie
    • Źródła

Część IV. Tworzenie przemyślanej architektury - dwie ścieżki

  • Streszczenie
  • Rozdział 10. Monolity na poważnie
    • Zarys historyczny
    • Poprawnie od samego początku
      • Zdolności biznesowe
      • Decyzje architektoniczne
    • Od chaosu do ładu
      • Zmiany na zmianach
      • Rozerwanie sprzężenia
    • Utrzymanie stanu właściwego
    • Podsumowanie
    • Źródła
  • Rozdział 11. Od monolitu do mikrousług
    • Przygotowanie mentalne
    • Od modularnego monolitu do mikrousług
    • Od monolitu wielkiej kuli błota do mikrousług
      • Interakcje użytkowników
      • Harmonizacja zmian danych
      • Co należy udusić?
    • Odłączanie starszego monolitu
    • Podsumowanie
    • Źródła
  • Rozdział 12. Równowaga i strategia
    • Równowaga a atrybuty jakości
    • Strategia i cel
      • Cele biznesowe kierują transformacją cyfrową
      • Używanie narzędzi strategicznego uczenia się
      • Lekkie modelowanie oparte na zdarzeniach
      • Wspieranie innowacji biznesowych
      • Architektura zorientowana na zdarzenia
      • Monolity jako najważniejsze zagadnienie
      • Tworzenie mikrousług z monolitu
      • Równowaga wymaga bezstronności, innowacja jest niezbędna
    • Podsumowanie
    • Źródła
  • Title: Strategiczne monolity i mikrousługi. Jak napędzać innowacyjność za pomocą przemyślanej architektury
  • Author: Vaughn Vernon, Tomasz Jaskula
  • Original title: Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture
  • Translation: Maksymilian Gutowski
  • ISBN: 978-83-283-9553-4, 9788328395534
  • Date of issue: 2022-12-20
  • Format: Ebook
  • Item ID: strmon
  • Publisher: Helion