E-book details

Docker. Wydajność i optymalizacja pracy aplikacji. Wydanie II

Docker. Wydajność i optymalizacja pracy aplikacji. Wydanie II

Allan Espinosa, Russ McKendrick

Ebook

Docker to technologia, dzięki której można uruchamiać kod w wielu środowiskach i na różnych platformach. Sposób działania tego oprogramowania bardzo upraszcza opracowywanie, testowanie, wdrażanie i skalowanie aplikacji. Docker wciąż jest sukcesywnie rozwijany. Zyskał znakomitą stabilność, a zestaw udostępnianych programistom narzędzi stale rośnie. Twórcy dużych systemów, zwłaszcza rozproszonych, coraz bardziej doceniają jego potencjał. Szczególnie atrakcyjny jest dla tych projektantów, którzy stawiają na konteneryzację i automatyzację przepływu pracy i ciągle poszukują sposobów optymalizowania działania swoich aplikacji.

Ta książka to znakomity przewodnik, dzięki któremu szybko poprawisz wydajność swoich aplikacji Dockera. Wyjaśniono tu zasady dostrajania plików Dockerfile, pokazano praktyczne techniki wdrażania kontenerów Dockera, przedstawiono także informacje o monitorowaniu wydajności kontenerów oraz o pracy z dziennikami zdarzeń hostów za pomocą stosu ELK. Z książki dowiesz się również, w jaki sposób standardowe narzędzia Linuksa umożliwiają diagnozowanie i rozwiązywanie problemów związanych z kontenerami. Nie zabrakło bardzo przydatnych wskazówek odnoszących się do przygotowania aplikacji do wdrożenia w środowiskach produkcyjnych z wykorzystaniem najefektywniejszych technik DevOps.

W tej książce między innymi:

  • przygotowanie Dockera i jego konfigurowanie za pomocą programu Chef
  • monitorowanie Dockera za pomocą systemu Prometheus
  • sprawne wdrażanie aplikacji i testy wydajności
  • skalowanie aplikacji Dockera
  • debugowanie kontenerów

Wydajny. Wydajniejszy. Docker.

 

O autorach 7

 

O recenzencie technicznym 8

Wprowadzenie 9

Rozdział 1. Przygotowanie hosta Dockera 13

  • Przygotowanie hosta Dockera 13
  • Włączenie zdalnego dostępu 14
    • Przygotowanie urzędu certyfikacji 15
    • Włączenie zdalnego dostępu w Docker Engine 17
    • Zdalne nawiązywanie połączenia z poziomu klienta Dockera 19
  • Utworzenie klastra Docker Swarm 20
  • Podsumowanie 22

Rozdział 2. Konfigurowanie Dockera za pomocą oprogramowania Chef 23

  • Waga zarządzania konfiguracją 24
  • Używanie oprogramowania Chef 25
    • Rejestracja konta dla serwera Chef 26
    • Przygotowanie stacji roboczej 28
    • Przygotowanie węzłów 29
  • Konfigurowanie hosta Dockera 31
    • Tworzenie receptury serwera Chef 32
    • Używanie polityki serwera Chef 35
  • Inicjalizowanie klastra Docker Swarm 37
  • Metody alternatywne 40
  • Podsumowanie 42

Rozdział 3. Monitorowanie Dockera 43

  • Waga monitorowania 44
  • Zbieranie wskaźników za pomocą narzędzia Prometheus 45
    • Udostępnianie wskaźników narzędzia Prometheus 46
    • Pobieranie i wizualizacja wskaźników 49
  • Konsolidacja za pomocą stosu ELK dzienników zdarzeń 54
    • Wdrażanie Elasticsearch, Logstasha i Kibany 56
    • Przekazywanie dzienników zdarzeń kontenerów Dockera 60
  • Inne rozwiązania z zakresu monitorowania i rejestrowania danych 63
  • Podsumowanie 64

Rozdział 4. Optymalizowanie obrazów Dockera 67

  • Skracanie czasu wdrażania obrazu 68
  • Skracanie czasu tworzenia obrazu 71
    • Używanie rejestrów lustrzanych 71
    • Ponowne używanie warstw obrazu 74
    • Skracanie wielkości kontekstu 78
    • Używanie proxy buforowania 80
  • Zmniejszanie wielkości obrazu Dockera 82
    • Łączenie poleceń 83
    • Oddzielanie obrazów pośrednich od przeznaczonych do wdrożenia 84
  • Przewodnik w zakresie optymalizacji 88
  • Podsumowanie 88

Rozdział 5. Wdrażanie kontenerów 89

  • Wdrażanie i konfigurowanie serwera Jenkins 89
    • Wdrażanie kontenera Jenkins 90
    • Dokończenie konfigurowania serwera Jenkins 92
    • Definiowanie danych uwierzytelniających Dockera za pomocą serwera Jenkins 96
  • Utworzenie i wdrożenie kontenera 98
    • Przygotowanie aplikacji 98
    • Utworzenie zadania Jenkinsa 101
    • Uruchamianie potoku 102
  • Podsumowanie 104

Rozdział 6. Testy wydajności 105

  • Konfigurowanie Apache JMeter 106
    • Wdrażanie przykładowej aplikacji 107
    • Instalowanie JMeter 109
  • Tworzenie testu wydajności sprawdzającego obciążenie 110
    • Utworzenie planu testu w JMeter 111
  • Analizowanie wyników testu wydajności 113
    • Wyświetlanie wyników działania JMeter 113
    • Analizowanie wydajności działania aplikacji za pomocą narzędzi Grafana i Kibana 116
  • Dostrajanie testu wydajności 119
    • Zwiększająca się współbieżność 120
    • Przeprowadzanie testów rozproszonych 121
  • Inne narzędzia służące do przeprowadzania testów wydajności 124
  • Podsumowanie 124

Rozdział 7. Równoważenie obciążenia 125

  • Przygotowanie back-endu aplikacji 126
  • Równoważenie obciążenia za pomocą NGINX 128
  • Skalowanie aplikacji Dockera 130
    • Wdrażanie bez przestoju 132
  • Inne mechanizmy równoważenia obciążenia 137
  • Podsumowanie 137

Rozdział 8. Rozwiązywanie problemów z kontenerami 139

  • Analizowanie kontenerów za pomocą polecenia docker exec 139
  • Debugowanie z zewnątrz Dockera 143
    • Śledzenie wywołań systemowych 143
    • Analizowanie pakietów sieciowych 146
    • Analizowanie urządzeń blokowych 148
  • Inne narzędzia debugowania kontenera 152
  • Podsumowanie 152

Rozdział 9. Środowisko produkcyjne 153

  • Przeprowadzanie operacji internetowych 154
  • Wspomaganie aplikacji internetowych za pomocą Dockera 156
  • Wdrażanie aplikacji 158
  • Skalowanie aplikacji 159
  • Co dalej? 160
  • Podsumowanie 160
  • Title: Docker. Wydajność i optymalizacja pracy aplikacji. Wydanie II
  • Author: Allan Espinosa, Russ McKendrick
  • Original title: Docker High Performance: Complete your Docker journey by optimizing your application's workflows and performance, 2nd Edition
  • Translation: Robert Górczyński
  • ISBN: 978-83-283-6233-8, 9788328362338
  • Date of issue: 2020-01-16
  • Format: Ebook
  • Item ID: docwy2
  • Publisher: Helion