Wzorce Cloud Native

Projektowanie oprogramowania odpornego na zmiany

1 opinia

Format:

epub, mobi, ibuk

DODAJ DO ABONAMENTU

WYBIERZ RODZAJ DOSTĘPU

56,40  94,00

Format: epub, mobi

 

Dostęp online przez myIBUK

WYBIERZ DŁUGOŚĆ DOSTĘPU

Cena początkowa: 94,00 zł (-40%)

Najniższa cena z 30 dni: 56,40 zł  


56,40

w tym VAT

TA KSIĄŻKA JEST W ABONAMENCIE

Już od 24,90 zł miesięcznie za 5 ebooków!

WYBIERZ SWÓJ ABONAMENT

Platformy chmurowe obiecują Świętego Grala: niemal zerowe przestoje działania, nieskończoną skalowalność, krótką pętle zwrotnych informacji, odporność na problemy i kontrolę kosztów. Ale jak to osiągnąć? Stosując podejście cloud-native, programiści mogą budować odporne, zdolne do łatwego dostosowywania się, rozproszone aplikacje w skali internetowej, które obsługują olbrzymie ilości użytkowników i obciążenia danymi. Poznaj te podstawowe wzorce i praktyki, a będziesz gotowy na prosperowanie w dynamicznym, rozproszonym, wirtualnym świecie chmury.
Bazując na 25 latach swojego doświadczenia, Cornelia Davis uczy praktyk i wzorców, które odróżniają aplikacje cloud-native od innych. Wraz z realistycznymi przykładami i eksperckimi poradami w temacie pracy z aplikacjami, danymi, usługami czy routingiem autorka pokazuje, jak projektować i budować oprogramowanie, które doskonale działa na nowoczesnych platformach chmurowych.
W książce omówiono:
• Cykl życia aplikacji cloud-native
• Zarządzanie konfiguracją na skalę chmury
• Aktualizacje bez przestojów, wersjonowane usługi i równoległe wdrożenia
• Wyszukiwanie usług i dynamiczny routing
• Zarządzanie interakcjami pomiędzy usługami, w tym powtórzenia i bezpieczniki
Publikacja jest przeznaczona dla czytelników posiadających podstawowe umiejętności projektowania oprogramowania i czytania Javy lub podobnego języka.


Rok wydania2020
Liczba stron416
KategoriaProgramowanie
WydawcaWydawnictwo Naukowe PWN
TłumaczenieWojciech Urbański
ISBN-13978-83-01-21349-7
Numer wydania1
Język publikacjipolski
Informacja o sprzedawcyePWN sp. z o.o.

Ciekawe propozycje

Spis treści

  przedmowa XIII
  wstęp XV
  podziękowania XVII
  o książce XIX
  o autorce XXIII
  o ilustracji na okładce XXV
  Część 1 KONTEKST CLOUD-NATIVE 1
  1. Wciąż używasz tego słowa: definiując „cloud‑native”    3
    1.1. Wymagania dzisiejszych aplikacji    7
      Brak przestojów    7
      Skrócone cykle informacji zwrotnej    8
      Wsparcie urządzeń mobilnych i wielu urządzeń    8
      Połączone urządzenia – tak zwany internet rzeczy    9
      Kierowane danymi (data-driven)    9
    1.2. Wprowadzenie oprogramowania cloud‑native    10
      Definiując cloud‑native    11
      Model myślowy dla oprogramowania cloud‑native    13
      Oprogramowanie cloud‑native w akcji    19
    1.3. Cloud‑native a pokój na świecie    23
      Chmura (cloud) a cloud‑native    23
      Czym nie jest cloud-native    24
      Cloud‑native jest miłe    25
  2. Uruchamianie aplikacji cloud-native na produkcji    28
    2.1. Przeszkody    29
      Płatki śniegu    31
      Ryzykowne wdrożenia    32
      Zmiana jest wyjątkiem    36
      Niestabilność na produkcji    37
    2.2. Aktywatory    37
      Ciągłe dostarczanie    39
      Powtarzalność    43
      Bezpieczne wdrożenia    48
      Zmiana jest regułą    52
  3. Platforma dla oprogramowania cloud-native    56
    3.1. Ewolucja platform cloud(-native)    57
      Zaczęło się od chmury    58
      Sygnał wybierania cloud-native    63
    3.2. Podstawowe zasady platformy cloud‑native    63
      Po pierwsze, porozmawiajmy o kontenerach    63
      Wsparcie dla „ciągle zmieniających się”    65
      Wsparcie dla „wysoko rozproszonych”    68
    3.3. Kto co robi?    72
    3.4. Więcej możliwości platform cloud‑native    74
      Platforma wspiera cały cykl życia oprogramowania    74
      Bezpieczeństwo, kontrola zmian, compliance (funkcje kontrolne)    78
      Kontrola tego, co wchodzi do kontenera    80
      Aktualizacje i łatanie podatności    83
      Kontrola zmian    85
  Część 2 Wzorce cloud -native native     89
  4. Zdarzeniowe mikroserwisy: nie tylko żądanie-odpowiedź    91
    4.1. Jesteśmy (zwykle) uczeni programowania imperatywnego    92
    4.2. Wracamy do przetwarzania zdarzeniowego    94
    4.3. Moja globalna książka kucharska    95
      Żądanie-odpowiedź    96
      Architektura zdarzeniowa    102
    4.4. Wprowadzenie CQRS – Command Query Responsibility Segregation    111
    4.5. Inne style, podobne wyzwania    114
  5. Redundancja aplikacji: skalowanie poziome i bezstanowość 117
    5.1. Aplikacje cloud-native mają wiele uruchomionych instancji    119
    5.2. Stanowe aplikacje w chmurze    121
      Dekompozycja monolitu i powiązanie z bazą danych    121
      Słaba obsługa stanu sesji    125
    5.3. Sesje HTTP i lepkie sesje    139
    5.4. Stanowe usługi i bezstanowe aplikacje    141
      Stanowe usługi to usługi wyjątkowe    141
      Zmiana aplikacji na bezstanową    143
  6. Konfiguracja aplikacji: nie tylko zmienne środowiskowe 149
    6.1. Dlaczego w ogóle rozmawiamy o konfiguracji?    150
      Dynamiczne skalowanie – zwiększanie i zmniejszanie liczby instancji aplikacji    151
      Zmiany infrastruktury powodujące zmiany konfiguracji    151
      Aktualizacja konfiguracji aplikacji bez przestoju    152
    6.2. Warstwa konfiguracji aplikacji    154
    6.3. Wstrzykiwanie wartości systemowych/środowiskowych    159
      Zobaczmy to w akcji: używanie zmiennych środowiskowych dla konfiguracji    159
    6.4. Wstrzykiwanie konfiguracji aplikacji    168
      Wprowadzenie serwera konfiguracji    169
      Bezpieczeństwo dostarcza kolejnych wymagań    176
      Zobaczmy to w akcji: konfiguracja aplikacji z wykorzystaniem serwera konfiguracyjnego    177
  7. Cykl życia aplikacji: uwzględnianie ciągłych zmian    181
    7.1. Współczucie dla działu operatorów    183
    7.2. Cykl życia jednej aplikacji, cykle życia wielu instancji    184
      Aktualizacje blue/green    188
      Stopniowa aktualizacja    189
      Równoległe wdrożenia    191
    7.3. Koordynacja różnych cyklów życia aplikacji    193
    7.4. Zobaczmy to w akcji: wymiana poświadczeń a cykl życia aplikacji    197
    7.5. Radzenie sobie z efemerycznymi środowiskami uruchomieniowymi    206
    7.6. Widoczność stanu cyklu życia aplikacji    208
      Zobaczmy to w akcji: węzły stanu zdrowia i sondy    213
    7.7. Serverless    217
  8. Dostęp do aplikacji: usługi, trasy i wyszukiwanie usług    220
    8.1. Abstrakcja usługi    223
      Przykład usługi: googlowanie    224
      Przykład usługi: nasz agregator blogów    226
    8.2. Dynamiczny routing    227
      Równoważenie obciążenia po stronie serwera    227
      Równoważenie ruchu po stronie klienta    229
      Aktualność tras    230
    8.3. Wyszukiwanie usług    232
      Wyszukiwanie usług w sieci    236
      Wyszukiwanie usług z równoważeniem ruchu po stronie klienta    237
      Wyszukiwanie usług w Kubernetesie    238
      Zobaczmy to w akcji: wykorzystanie wyszukiwania usług    240
  9. Redundancja interakcji: powtarzanie i inne pętle sterowania    245
    9.1. Powtarzanie żądań    247
      Podstawowe powtórzenie żądania    248
      Zobaczmy to w akcji: proste powtórzenia    249
      Powtórzenia: co może pójść nie tak?    253
      Wywoływanie burzy powtórzeń    254
      Zobaczmy to w akcji: wywoływanie burzy powtórzeń    255
      Unikanie burz powtórzeń: uprzejmi klienci    266
      Zobaczmy to w akcji: bycie bardziej uprzejmym klientem    266
      Kiedy nie powtarzać    272
    9.2. Logika awaryjna    273
      Zobaczmy to w akcji: implementacja logiki awaryjnej    274
    9.3. Pętle sterowania    280
      Zrozumienie typów pętli sterowania    280
      Sterowanie pętlą sterowania    281
  10. Fasady usług: bezpieczniki (circuit breakers) i bramy API    285
    10.1. Bezpieczniki    287
      Bezpiecznik w oprogramowaniu    287
      Implementacja bezpiecznika    290
    10.2. Bramy API    303
      Sprawa bramy API w oprogramowaniu cloud-native    305
      Topologia bramy API    305
    10.3. Service mesh    308
      Sidecar 308 Płaszczyzna sterowania    310
  11. Rozwiązywanie problemów: odnaleźć igłę w stogu siana    314
    11.1. Logowanie aplikacji    315
    11.2. Metryki aplikacji    319
      Ściąganie metryk z aplikacji cloud-native    321
      Wysyłanie metryk z aplikacji cloud-native    323
    11.3. Rozproszone śledzenie    326
      Ślady w wyjściu usług    330
      Składanie śladów za pomocą Zipkina    333
      Szczegóły implementacji    338
  12. Dane cloud-native: przełamywanie monolitu danych    340
    12.1. Każdy mikroserwis potrzebuje pamięci podręcznej    343
    12.2. Przejście od żądań i odpowiedzi do zdarzeniowości    346
    12.3. Dziennik zdarzeń    349
      Zobaczmy to w akcji: implementacja zdarzeniowych mikroserwisów    351
      Co nowego w tematach i kolejkach?    365
      Zawartość zdarzenia    369
      Idempotentność    371
    12.4. Event sourcing    372
      Dotychczasowa podróż    372
      Źródło prawdy    373
      Zobaczmy to w akcji: implementacja event sourcingu    376
    12.5. Ledwo zadrapaliśmy powierzchnię    379
  indeks    381
RozwińZwiń