reklama - zainteresowany?

Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych - Helion

Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych
ebook
Autor: Sam Newman
Tytuł oryginału: Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith
TÅ‚umaczenie: Tomasz Walczak
ISBN: 978-83-283-6724-1
stron: 232, Format: ebook
Data wydania: 2020-04-01
Księgarnia: Helion

Cena książki: 41,17 zł (poprzednio: 54,89 zł)
Oszczędzasz: 25% (-13,72 zł)

Dodaj do koszyka Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych

Tagi: Inne - Programowanie | Techniki programowania | Wzorce projektowe

MikrousÅ‚ugi sÄ… relatywnie Å›wieżą koncepcjÄ… w Å›wiecie systemów IT, mimo to coraz wiÄ™cej organizacji decyduje siÄ™ na wdrażanie opartej na nich architektury. Uznaje siÄ™, że zapewnia ona wówczas lepszÄ… skalowalność, Å‚atwość Å‚Ä…czenia poszczególnych niezależnych elementów, a przede wszystkim możliwość szybszej reakcji na zmiany i skuteczniejsze wdrażanie nowych funkcjonalnoÅ›ci. Zanim jednak organizacja da siÄ™ skusić tymi obietnicami, powinna gruntownie przeanalizować swojÄ… sytuacjÄ™ i decyzjÄ™ o ewentualnej migracji systemu oprzeć na racjonalnych przesÅ‚ankach. Konieczne jest również opracowanie planu takiego przejÅ›cia, zwÅ‚aszcza jeÅ›li nie można sobie pozwolić na dÅ‚uższe przestoje w dziaÅ‚alnoÅ›ci.

To wyczerpujÄ…cy poradnik dla inżynierów, którzy stojÄ… przed wyzwaniem przeksztaÅ‚cenia monolitycznego systemu w architekturÄ™ opartÄ… na mikrousÅ‚ugach bez przerywania funkcjonowania firmy. Książka jest przeznaczona dla organizacji, które muszÄ… pÅ‚ynnie zmienić istniejÄ…cy system, a nie zbudować go od nowa. Zawiera wiele cennych wskazówek odnoszÄ…cych siÄ™ do celowoÅ›ci samej migracji oraz przedstawia liczne scenariusze i strategie przeksztaÅ‚cania: od etapu planowania aż po dekompozycjÄ™ aplikacji i baz danych. ZnalazÅ‚ siÄ™ tu zestaw sprawdzonych wzorców i technik wraz z omówieniem sytuacji, w jakich można je bezpiecznie zastosować. Nie zabrakÅ‚o ważnych szczegóÅ‚ów zwiÄ…zanych z wzorcami refaktoryzacji architektury czy problematyki naruszeÅ„ integralnoÅ›ci w wyniku podziaÅ‚u baz danych.

W tej książce między innymi:

  • podstawowe koncepcje zwiÄ…zane z mikrousÅ‚ugami
  • ocena przydatnoÅ›ci mikrousÅ‚ug w konkretnych sytuacjach
  • planowanie wdrażania architektury opartej na mikrousÅ‚ugach
  • wzorce migracji, dekompozycja aplikacji i inne zagadnienia techniczne
  • wykrywanie i rozwiÄ…zywanie problemów zwiÄ…zanych z mikrousÅ‚ugami

Dążysz do sukcesu? Obierz kurs na mikrousługi!

Dodaj do koszyka Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych

 

Osoby które kupowały "Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych", wybierały także:

  • DevOps w praktyce. Kurs video. Jenkins, Ansible, Terraform i Docker
  • Wyrażenia regularne od podstaw
  • Projektowanie systemów rozproszonych. Wzorce i paradygmaty dla skalowalnych, niezawodnych usÅ‚ug
  • Zrozum struktury danych. Algorytmy i praca na danych w Javie
  • Kosymulacja. Elastyczne projektowanie i symulacja wielodomenowa

Dodaj do koszyka Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych

Spis treści

Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych eBook -- spis treści


Przedmowa 9

1. Tylko tyle mikrousług, ile potrzeba 13

  • Czym sÄ… mikrousÅ‚ugi? 13
    • Możliwość niezależnego instalowania 14
    • Modelowane na podstawie dziedziny biznesowej 14
    • MikrousÅ‚ugi sÄ… wÅ‚aÅ›cicielem swoich danych 17
    • Jakie korzyÅ›ci mogÄ… dawać mikrousÅ‚ugi? 18
    • Jakie problemy sÄ… powodowane przez mikrousÅ‚ugi? 18
    • Interfejsy użytkownika 19
    • Technologie 19
    • Wielkość 20
    • WÅ‚aÅ›ciciele 21
  • System monolityczny 23
    • Jednoprocesowe systemy monolityczne 23
    • Rozproszony system monolityczny 25
    • Systemy typu czarna skrzynka od niezależnych dostawców 25
    • Problemy zwiÄ…zane z systemami monolitycznymi 25
    • Zalety systemów monolitycznych 26
  • O powiÄ…zaniu i spójnoÅ›ci 26
    • Spójność 28
    • PowiÄ…zanie 28
  • Tylko tyle DDD, ile potrzeba 37
    • Agregat 37
    • Ograniczony kontekst 38
    • Odwzorowywanie agregatów i ograniczonych kontekstów na mikrousÅ‚ugi 39
    • Dalsza lektura 39
  • Podsumowanie 40

2. Planowanie migracji 41

  • Zrozumieć cel 41
    • Trzy kluczowe pytania 42
  • Dlaczego możesz zdecydować siÄ™ na mikrousÅ‚ugi? 43
    • ZwiÄ™kszenie autonomii zespoÅ‚u 43
    • Skrócenie czasu wprowadzania funkcji na rynek 44
    • Ekonomiczne skalowanie systemu pod kÄ…tem obciążenia 45
    • ZwiÄ™kszanie stabilnoÅ›ci 46
    • Skalowanie liczby programistów 47
    • Wprowadzanie nowej technologii 48
  • Kiedy wprowadzanie mikrousÅ‚ug może być zÅ‚ym pomysÅ‚em? 49
    • Niesprecyzowana dziedzina 50
    • Startupy 50
    • Oprogramowanie instalowane przez klienta a oprogramowanie zarzÄ…dzane 51
    • Brak dobrego powodu! 52
  • Wady i zalety 52
  • ZachÄ™canie innych do wspólnej podróży 53
  • Zmienianie organizacji 54
    • UÅ›wiadamianie pilnoÅ›ci wprowadzenia zmian 54
    • Budowanie koalicji kierujÄ…cej wprowadzaniem zmian 55
    • Opracowywanie wizji i strategii 56
    • Komunikowanie wizji zmian 56
    • Dawanie pracownikom uprawnieÅ„ do szeroko zakrojonych dziaÅ‚aÅ„ 57
    • Uzyskiwanie krótkoterminowych sukcesów 58
    • Konsolidowanie korzyÅ›ci i wprowadzanie nowych zmian 58
    • Utrwalanie nowego podejÅ›cia w kulturze firmy 58
  • Znaczenie stopniowej migracji 59
    • Ważne jest to, co w Å›rodowisku produkcyjnym 60
  • Koszt wprowadzania zmian 60
    • Odwracalne i nieodwracalne decyzje 60
    • Lepsze miejsca do eksperymentów 61
  • Od czego wiÄ™c zacząć? 62
  • PodejÅ›cie DDD 62
    • Jak szczegóÅ‚owy powinien być model? 63
    • Event storming 63
    • Korzystanie z modelu dziedziny do okreÅ›lania priorytetów 64
  • Model mieszany 65
  • Reorganizacja zespoÅ‚ów 67
    • Zmiany w strukturach 67
    • Nie istniejÄ… uniwersalne rozwiÄ…zania 68
    • Wprowadzanie zmian 70
    • Nowe umiejÄ™tnoÅ›ci 71
  • SkÄ…d wiadomo, czy zmiany przynoszÄ… dobre efekty? 74
    • Regularne punkty kontrolne 75
    • Wskaźniki iloÅ›ciowe 75
    • Wskaźniki jakoÅ›ciowe 76
    • Unikanie efektu utopionych kosztów 76
    • Otwartość na nowe podejÅ›cia 77
  • Podsumowanie 77

3. Podział systemu monolitycznego 79

  • Modyfikować system monolityczny czy nie? 79
    • Wycinać i wklejać czy pisać od nowa? 80
    • Refaktoryzacja systemu monolitycznego 80
  • Wzorce migracji 82
  • Wzorzec "figowiec dusiciel" 82
    • Jak dziaÅ‚a ten wzorzec? 83
    • Gdzie stosować ten wzorzec? 84
    • PrzykÅ‚ad: odwrotny poÅ›rednik HTTP 86
    • Dane? 89
    • MożliwoÅ›ci zwiÄ…zane z poÅ›rednikiem 89
    • Zmiana protokoÅ‚ów 92
    • PrzykÅ‚ad: FTP 95
    • PrzykÅ‚ad: przechwytywanie komunikatów 96
    • Inne protokoÅ‚y 99
    • Inne przykÅ‚ady stosowania wzorca "figowiec dusiciel" 99
  • Zmienianie dziaÅ‚ania kodu przy przenoszeniu funkcji 99
  • Wzorzec: skÅ‚adanie interfejsu użytkownika 100
    • PrzykÅ‚ad: skÅ‚adanie strony 100
    • PrzykÅ‚ad: skÅ‚adanie widżetów 101
    • PrzykÅ‚ad: mikrofrontendy 104
    • Gdzie stosować ten wzorzec? 105
  • Wzorzec: rozgaÅ‚Ä™zianie z użyciem abstrakcji 105
    • Jak dziaÅ‚a ten wzorzec? 106
    • Zapewnianie rezerwowego mechanizmu 112
    • Gdzie używać tego wzorca? 113
  • Wzorzec: równolegÅ‚e uruchamianie 113
    • PrzykÅ‚ad: porównywanie cen kredytowych instrumentów pochodnych 114
    • PrzykÅ‚ad: oferty w agencji Homegate 115
    • Techniki sprawdzania poprawnoÅ›ci 116
    • Używanie szpiegów 116
    • Biblioteka Scientist z serwisu GitHub 117
    • Ukryte udostÄ™pnianie i udostÄ™pnianie próbne 118
    • Gdzie stosować ten wzorzec? 118
  • Wzorzec: wspóÅ‚dziaÅ‚ajÄ…cy dekorator 118
    • PrzykÅ‚ad: zarzÄ…dzanie programem lojalnoÅ›ciowym 119
    • Gdzie stosować ten wzorzec? 120
  • Wzorzec: przechwytywanie zmian w danych 120
    • PrzykÅ‚ad: wydawanie kart lojalnoÅ›ciowych 120
    • Implementowanie przechwytywania zmian w danych 121
    • Gdzie stosować ten wzorzec? 124
  • Podsumowanie 124

4. Podział baz danych 125

  • Wzorzec: wspóÅ‚dzielona baza danych 125
    • Wzorce radzenia sobie 126
    • Gdzie stosować ten wzorzec? 126
  • Ale to niemożliwe! 127
  • Wzorzec: widoki bazodanowe 128
    • Baza danych jako publiczny kontrakt 128
    • Prezentowane widoki 129
    • Ograniczenia 131
    • WÅ‚asność 131
    • Gdzie stosować ten wzorzec? 131
  • Wzorzec: usÅ‚uga opakowujÄ…ca bazÄ™ danych 131
    • Gdzie stosować ten wzorzec? 133
  • Wzorzec: interfejs "baza danych jako usÅ‚uga" 134
    • Implementowanie mechanizmu odwzorowywania danych 135
    • Porównanie z widokami 136
    • Gdzie stosować ten wzorzec? 136
  • Przekazywanie wÅ‚asnoÅ›ci 136
    • Wzorzec: system monolityczny udostÄ™pniajÄ…cy agregaty 137
    • Wzorzec: zmiana wÅ‚aÅ›ciciela danych 139
  • Synchronizacja danych 140
  • Wzorzec: synchronizowanie danych z użyciem aplikacji 142
    • Etap 1. Masowa synchronizacja danych 142
    • Etap 2. Synchronizowanie zapisu, odczyt z dawnego schematu 143
    • Etap 3. Synchronizacja zapisu, odczyt z nowego schematu 144
    • Gdzie stosować ten wzorzec? 144
  • Wzorzec: stopniowa synchronizacja 145
    • Synchronizowanie danych 148
    • PrzykÅ‚ad: zamówienia w firmie Square 149
    • Gdzie stosować ten wzorzec? 153
  • PodziaÅ‚ bazy danych 153
    • Fizyczny i logiczny podziaÅ‚ baz danych 153
  • Co dzielić najpierw - bazÄ™ danych czy kod? 155
    • Najpierw podziaÅ‚ bazy danych 155
    • Najpierw podziaÅ‚ kodu 159
    • Jednoczesny podziaÅ‚ bazy danych i kodu 163
    • Co wiÄ™c należy podzielić w pierwszej kolejnoÅ›ci? 163
  • PrzykÅ‚ady dotyczÄ…ce podziaÅ‚u schematu 164
    • Wzorzec: tabela pomostowa 164
    • Wzorzec: przenoszenie relacji klucza obcego do kodu 166
  • Transakcje 178
    • Transakcje ACID 178
    • Nadal ACID, ale bez atomowoÅ›ci? 179
    • Zatwierdzanie dwuetapowe 181
    • Transakcje rozproszone - po prostu powiedz "nie" 183
  • Sagi 184
    • Rodzaje bÅ‚Ä™dów w sagach 185
    • Implementowanie sag 188
    • Sagi a transakcje rozproszone 194
  • Podsumowanie 195

5. RosnÄ…ce problemy 197

  • WiÄ™cej usÅ‚ug, wiÄ™cej kÅ‚opotów 197
  • WÅ‚asność przy dużej liczbie usÅ‚ug 198
    • Jak ten problem może siÄ™ ujawnić? 199
    • Kiedy ten problem może wystÄ…pić? 200
    • Potencjalne rozwiÄ…zania 200
  • Zmiany naruszajÄ…ce zgodność 200
    • Jak ten problem może siÄ™ ujawnić? 201
    • Kiedy ten problem może wystÄ…pić? 201
    • Potencjalne rozwiÄ…zania 201
  • Generowanie raportów 204
    • Kiedy ten problem może wystÄ…pić? 205
    • Potencjalne rozwiÄ…zania 205
  • Monitorowanie i rozwiÄ…zywanie problemów 206
    • Kiedy te problemy mogÄ… wystÄ…pić? 207
    • Jak objawiajÄ… siÄ™ problemy? 207
    • Potencjalne rozwiÄ…zania 207
  • Komfort pracy programisty na lokalnej maszynie 211
    • Jak ten problem może siÄ™ ujawnić? 211
    • Kiedy ten problem może wystÄ…pić? 211
    • Możliwe rozwiÄ…zania 212
  • Uruchamianie zbyt wielu rzeczy 212
    • Jak ten problem może siÄ™ ujawnić? 212
    • Kiedy ten problem może wystÄ…pić? 213
    • Możliwe rozwiÄ…zania 213
  • Testy end-to-end 214
    • Jak ten problem może siÄ™ ujawnić? 214
    • Kiedy ten problem może wystÄ…pić? 215
    • Możliwe rozwiÄ…zania 215
  • Optymalizacja globalna i lokalna 217
    • Jak ten problem może siÄ™ ujawnić? 217
    • Kiedy ten problem może wystÄ…pić? 217
    • Możliwe rozwiÄ…zania 218
  • Stabilność i odporność 219
    • Jak ten problem może siÄ™ ujawnić? 219
    • Kiedy ten problem może wystÄ…pić? 219
    • Możliwe rozwiÄ…zania 220
  • Osierocone usÅ‚ugi 220
    • Jak ten problem może siÄ™ ujawnić? 221
    • Kiedy ten problem może wystÄ…pić? 221
    • Możliwe rozwiÄ…zania 221
  • Podsumowanie 222

6. Słowo na zakończenie 225

A. Bibliografia 227

B. Indeks wzorców 229

Dodaj do koszyka Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.