Szczegóły ebooka

Terraform. Krótkie wprowadzenie. Tworzenie infrastruktury za pomocą kodu. Wydanie II

Terraform. Krótkie wprowadzenie. Tworzenie infrastruktury za pomocą kodu. Wydanie II

Yevgeniy Brikman

Ebook

Terraform jest narzędziem open source służącym do tworzenia i wdrażania kodu infrastruktury licznych platform wizualizacji i chmury, takich jak Amazon Web Services, Google Cloud, Azure, oraz zarządzania tym kodem. Migracja korporacyjnych systemów IT do chmury jest niezwykle obiecującą możliwością i wielu menedżerów wysokiego szczebla dostrzega zalety technologii chmurowych. Terraform znakomicie ułatwia wdrażanie rozwiązań opartych na chmurze, jest też narzędziem szczególnie predysponowanym do pracy zgodnej z metodyką DevOps, dzięki której współdziałanie ludzi, procesów i technologii pozwala na zapewnienie wysokiej jakości i niezawodności produktu.

Ta książka jest drugim, wzbogaconym i uzupełnionym wydaniem praktycznego samouczka, dzięki któremu rozpoczęcie pracy z Terraform stanie się bardzo łatwe. Zapoznasz się z językiem programowania Terraform i zasadami tworzenia kodu. Szybko zaczniesz go wdrażać i zarządzać infrastrukturą za pomocą zaledwie kilku poleceń. Istotną częścią publikacji jest ukazanie metodologii DevOps w działaniu oraz wyjaśnienie zasad kodowania infrastruktury. Dziesiątki jasnych przykładów kodu, które można samodzielnie wypróbować w akcji, ułatwią zrozumienie podstaw. Niezależnie od tego, czy jesteś początkującym programistą, weteranem DevOps lub doświadczonym administratorem systemów, szybko przejdziesz od podstaw Terraform do przygotowania pełnego stosu, który zapewni obsługę ogromnego ruchu sieciowego i dużych zespołów programistów.

W książce między innymi:

  • wprowadzenie do Terraform wraz ze zmianami w kolejnych wydaniach
  • tworzenie wysokiej jakości modułów Terraform
  • testy ręczne i zautomatyzowane kodu
  • wdrażanie klastrów serwerów, mechanizmy równoważenia obciążenia i bazy danych
  • zarządzanie informacjami o stanie infrastruktury
  • zaawansowana składnia Terraform

Infrastruktura: koduj, wdrażaj i zarządzaj!


Wprowadzenie 9

1. Dlaczego Terraform? 21

  • Powstanie ruchu DevOps 21
  • Infrastruktura jako kod 23
    • Skrypty tymczasowe 24
    • Narzędzia zarządzania konfiguracją 25
    • Narzędzia szablonów serwera 27
    • Narzędzia instrumentacji 31
    • Narzędzia provisioningu 33
  • Korzyści płynące z infrastruktury jako kodu 35
  • Jak działa Terraform? 37
  • Porównanie Terraform z innymi narzędziami IaC 39
    • Zarządzanie konfiguracją kontra provisioning 39
    • Infrastruktura niemodyfikowalna kontra modyfikowalna 40
    • Język proceduralny kontra deklaratywny 41
    • Serwer główny kontra jego brak 44
    • Agent kontra jego brak 45
    • Duża społeczność kontra mała 46
    • Rozwiązanie dojrzałe kontra najnowsze 50
    • Używanie razem wielu narzędzi 50
  • Podsumowanie 53

2. Rozpoczęcie pracy z Terraform 55

  • Utworzenie konta AWS 56
  • Instalacja Terraform 59
  • Wdrożenie pojedynczego serwera 60
  • Wdrożenie pojedynczego serwera WWW 67
  • Wdrażanie konfigurowalnego serwera WWW 74
  • Wdrażanie klastra serwerów WWW 79
  • Wdrożenie mechanizmu równoważenia obciążenia 82
  • Porządkowanie 90
  • Podsumowanie 91

3. Zarządzanie informacjami o stanie Terraform 93

  • Czym są informacje o stanie Terraform? 93
  • Współdzielony magazyn danych dla plików informacji o stanie 95
  • Ograniczenia backendu Terraform 102
  • Izolowanie plików informacji o stanie 104
    • Izolacja za pomocą przestrzeni roboczych 106
    • Izolacja za pomocą układu plików 110
  • Źródło danych terraform_remote_state 115
  • Podsumowanie 124

4. Zastosowanie modułów do tworzenia infrastruktury Terraform wielokrotnego użycia 125

  • Podstawy modułów 128
  • Dane wejściowe modułu 130
  • Wartości lokalne modułu 134
  • Dane wyjściowe modułu 136
  • Problemy z modułami 138
    • Ścieżki dostępu do pliku 138
    • Osadzony blok kodu 139
  • Wersjonowanie modułu 141
  • Podsumowanie 146

5. Sztuczki i podpowiedzi dotyczące Terraform - pętle, konstrukcje if, wdrażanie i problemy 149

  • Pętle 150
    • Pętla za pomocą parametru count 150
    • Pętla za pomocą wyrażenia for_each 156
    • Pętla za pomocą wyrażenia for 161
    • Pętla za pomocą dyrektywy for ciągu tekstowego 164
  • Wyrażenie warunkowe 165
    • Wyrażenie warunkowe z użyciem parametru count 166
    • Definiowanie warunku za pomocą for_each i wyrażeń 175
    • Wyrażenia warunkowe wraz z dyrektywą if ciągu tekstowego 176
  • Wdrożenie bez przestoju 177
  • Problemy związane z Terraform 188
    • Ograniczenia parametru count i wyrażenia for_each 188
    • Ograniczenia wdrożenia bez przestoju 190
    • Awarie poprawnych planów 191
    • Trudności podczas refaktoryzacji 192
    • Osiągnięcie ostatecznej spójności może wymagać nieco czasu 195
  • Podsumowanie 196

6. Produkcyjny kod Terraform 197

  • Dlaczego przygotowanie infrastruktury o jakości produkcyjnej trwa tak długo? 199
  • Lista rzeczy do zrobienia podczas tworzenia infrastruktury o jakości produkcyjnej 201
  • Moduły infrastruktury o jakości produkcyjnej 203
    • Małe moduły 203
    • Moduły łączone z innymi 208
    • Moduły możliwe do testowania 216
    • Moduły możliwe do wydania 219
    • Moduły wykraczające poza Terraform 223
  • Podsumowanie 229

7. Testowanie kodu Terraform 231

  • Testy ręczne 232
    • Podstawy ręcznego przeprowadzania testów 233
    • Uporządkowanie środowiska po zakończeniu testów 237
  • Testy zautomatyzowane 238
    • Testy jednostkowe 239
    • Testy integracji 265
    • Testy typu E2E 279
    • Inne podejścia w zakresie testów 284
  • Podsumowanie 286

8. Używanie Terraform w zespołach 289

  • Adaptacja infrastruktury jako kodu przez zespół 289
    • Przekonanie szefa do pomysłu 290
    • Stopniowe wprowadzanie zmian 292
    • Zapewnienie zespołowi czasu na naukę 294
  • Sposób pracy podczas wdrażania kodu aplikacji 295
    • Użycie systemu kontroli wersji 296
    • Lokalne uruchomienie kodu 296
    • Wprowadzenie zmian w kodzie 297
    • Przekazanie zmian do zatwierdzenia 298
    • Uruchomienie testów zautomatyzowanych 299
    • Połączenie kodu istniejącego z nowym i wydanie produktu 299
    • Wdrożenie 300
  • Sposób pracy podczas wdrażania kodu infrastruktury 305
    • Użycie systemu kontroli wersji 305
    • Lokalne uruchomienie kodu 309
    • Wprowadzenie zmian w kodzie 310
    • Przekazanie zmian do zatwierdzenia 311
    • Uruchomienie testów zautomatyzowanych 314
    • Połączenie kodu istniejącego z nowym i wydanie produktu 315
    • Wdrożenie 315
  • Zebranie wszystkiego w całość 324
  • Podsumowanie 326

A. Polecane zasoby 329

  • Tytuł: Terraform. Krótkie wprowadzenie. Tworzenie infrastruktury za pomocą kodu. Wydanie II
  • Autor: Yevgeniy Brikman
  • Tytuł oryginału: Terraform: Up & Running: Writing Infrastructure as Code, 2nd Edition
  • Tłumaczenie: Robert Górczyński
  • ISBN: 978-83-283-6650-3, 9788328366503
  • Data wydania: 2020-08-14
  • Format: Ebook
  • Identyfikator pozycji: terra2
  • Wydawca: Helion