Читать книгу Wzorce Cloud Native - Cornelia Davies - Страница 5

Оглавление

Spis treści

przedmowa

wstęp

podziękowania

o książce

o autorce

o ilustracji na okładce

Część 1 Kontekst cloud-native 1 Wciąż używasz tego słowa: definiując „cloud-native” 1.1. Wymagania dzisiejszych aplikacji

Brak przestojów

Skrócone cykle informacji zwrotnej

Wsparcie urządzeń mobilnych i wielu urządzeń

Połączone urządzenia – tak zwany internet rzeczy

Kierowane danymi (data-driven)

1.2. Wprowadzenie oprogramowania cloud-native

Definiując cloud-native

Model myślowy dla oprogramowania cloud-native

Oprogramowanie cloud-native w akcji

1.3. Cloud-native a pokój na świecie

Chmura (cloud) a cloud-native

Czym nie jest cloud-native

Cloud-native jest miłe

2 Uruchamianie aplikacji cloud-native na produkcji2.1. Przeszkody

Płatki śniegu

Ryzykowne wdrożenia

Zmiana jest wyjątkiem

Niestabilność na produkcji

2.2. Aktywatory

Ciągłe dostarczanie

Powtarzalność

Bezpieczne wdrożenia

Zmiana jest regułą

3 Platforma dla oprogramowania cloud-native3.1. Ewolucja platform cloud(-native)

Zaczęło się od chmury

Sygnał wybierania cloud-native

3.2. Podstawowe zasady platformy cloud-native

Po pierwsze, porozmawiajmy o kontenerach

Wsparcie dla „ciągle zmieniających się”

Wsparcie dla „wysoko rozproszonych”

3.3. Kto co robi?

3.4. Więcej możliwości platform cloud-native

Platforma wspiera cały cykl życia oprogramowania

Bezpieczeństwo, kontrola zmian, compliance (funkcje kontrolne)

Kontrola tego, co wchodzi do kontenera

Aktualizacje i łatanie podatności

Kontrola zmian

Część 2 Wzorce cloud-native4 Zdarzeniowe mikroserwisy: nie tylko żądanie-odpowiedź

4.1. Jesteśmy (zwykle) uczeni programowania imperatywnego

4.2. Wracamy do przetwarzania zdarzeniowego

4.3. Moja globalna książka kucharska

Żądanie-odpowiedź

Architektura zdarzeniowa

4.4. Wprowadzenie CQRS – Command Query Responsibility Segregation

4.5. Inne style, podobne wyzwania

5 Redundancja aplikacji: skalowanie poziome i bezstanowość

5.1. Aplikacje cloud-native mają wiele uruchomionych instancji

5.2. Stanowe aplikacje w chmurze

Dekompozycja monolitu i powiązanie z bazą danych

Słaba obsługa stanu sesji

5.3. Sesje HTTP i lepkie sesje

5.4. Stanowe usługi i bezstanowe aplikacje

Stanowe usługi to usługi wyjątkowe

Zmiana aplikacji na bezstanową

6 Konfiguracja aplikacji: nie tylko zmienne środowiskowe6.1. Dlaczego w ogóle rozmawiamy o konfiguracji?

Dynamiczne skalowanie – zwiększanie i zmniejszanie liczby instancji aplikacji

Zmiany infrastruktury powodujące zmiany konfiguracji

Aktualizacja konfiguracji aplikacji bez przestoju

6.2. Warstwa konfiguracji aplikacji

6.3. Wstrzykiwanie wartości systemowych/środowiskowych

Zobaczmy to w akcji: używanie zmiennych środowiskowych dla konfiguracji

6.4. Wstrzykiwanie konfiguracji aplikacji

Wprowadzenie serwera konfiguracji

Bezpieczeństwo dostarcza kolejnych wymagań

Zobaczmy to w akcji: konfiguracja aplikacji z wykorzystaniem serwera konfiguracyjnego

7 Cykl życia aplikacji: uwzględnianie ciągłych zmian

7.1. Współczucie dla działu operatorów

7.2. Cykl życia jednej aplikacji, cykle życia wielu instancji

Aktualizacje blue/green

Stopniowa aktualizacja

Równoległe wdrożenia

7.3. Koordynacja różnych cyklów życia aplikacji

7.4. Zobaczmy to w akcji: wymiana poświadczeń a cykl życia aplikacji

7.5. Radzenie sobie z efemerycznymi środowiskami uruchomieniowymi

7.6. Widoczność stanu cyklu życia aplikacji

Zobaczmy to w akcji: węzły stanu zdrowia i sondy

7.7. Serverless

8 Dostęp do aplikacji: usługi, trasy i wyszukiwanie usług8.1. Abstrakcja usługi

Przykład usługi: googlowanie

Przykład usługi: nasz agregator blogów

8.2. Dynamiczny routing

Równoważenie obciążenia po stronie serwera

Równoważenie obciążenia po stronie klienta

Aktualność tras

8.3. Wyszukiwanie usług

Wyszukiwanie usług w sieci

Wyszukiwanie usług z równoważeniem ruchu po stronie klienta

Wyszukiwanie usług w Kubernetesie

Zobaczmy to w akcji: wykorzystanie wyszukiwania usług

9 Redundancja interakcji: powtarzanie i inne pętle sterowania9.1. Powtarzanie żądań

Podstawowe powtórzenie żądania

Zobaczmy to w akcji: proste powtórzenia

Powtórzenia: co może pójść nie tak?

Wywoływanie burzy powtórzeń

Zobaczmy to w akcji: wywoływanie burzy powtórzeń

Unikanie burz powtórzeń: uprzejmi klienci

Zobaczmy to w akcji: bycie bardziej uprzejmym klientem

Kiedy nie powtarzać

9.2. Logika awaryjna

Zobaczmy to w akcji: implementacja logiki awaryjnej

9.3. Pętle sterowania

Zrozumienie typów pętli sterowania

Sterowanie pętlą sterowania

10 Fasady usług: bezpieczniki (circuit breakers) i bramy API10.1. Bezpieczniki

Bezpiecznik w oprogramowaniu

Implementacja bezpiecznika

10.2. Bramy API

Sprawa bramy API w oprogramowaniu cloud-native

Topologia bramy API

10.3. Service mesh

Sidecar

Płaszczyzna sterowania

11 Rozwiązywanie problemów: odnaleźć igłę w stogu siana

11.1. Logowanie aplikacji

11.2. Metryki aplikacji

Ściąganie metryk z aplikacji cloud-native

Wysyłanie metryk z aplikacji cloud-native

11.3. Rozproszone śledzenie

Ślady w wyjściu usług

Składanie śladów za pomocą Zipkina

Szczegóły implementacji

12 Dane cloud-native: przełamywanie monolitu danych

12.1. Każdy mikroserwis potrzebuje pamięci podręcznej

12.2. Przejście od żądań i odpowiedzi do zdarzeniowości

12.3. Dziennik zdarzeń

Zobaczmy to w akcji: implementacja zdarzeniowych mikroserwisów

Co nowego w tematach i kolejkach?

Zawartość zdarzenia

Idempotentność

12.4. Event sourcing

Dotychczasowa podróż

Źródło prawdy

Zobaczmy to w akcji: implementacja event sourcingu

12.5. Ledwo zadrapaliśmy powierzchnię

Przypisy

Wzorce Cloud Native

Подняться наверх