Spis treści
- Wprowadzenie
- Dla kogo jest przeznaczona ta książka?
- Dlaczego napisałem tę książkę?
- Co znajduje się w książce?
- Co nowego w drugim wydaniu?
- Czego nie znajdziesz w książce?
- Przykładowe fragmenty kodu udostępnione jako open source
- Użycie przykładowych kodów
- Konwencje zastosowane w książce
- Podziękowania
- Rozdział 1. Dlaczego Terraform?
- Powstanie ruchu DevOps
- Infrastruktura jako kod
- Skrypty tymczasowe
- Narzędzia zarządzania konfiguracją
- Narzędzia szablonów serwera
- Narzędzia instrumentacji
- Narzędzia provisioningu
- Korzyści płynące z infrastruktury jako kodu
- Jak działa Terraform?
- Porównanie Terraform z innymi narzędziami IaC
- Zarządzanie konfiguracją kontra provisioning
- Infrastruktura niemodyfikowalna kontra modyfikowalna
- Język proceduralny kontra deklaratywny
- Serwer główny kontra jego brak
- Agent kontra jego brak
- Duża społeczność kontra mała
- Rozwiązanie dojrzałe kontra najnowsze
- Używanie razem wielu narzędzi
- Provisioning plus zarządzanie konfiguracją
- Provisioning plus szablony serwerów
- Provisioning plus szablony serwerów plus instrumentacja
- Podsumowanie
- Rozdział 2. Rozpoczęcie pracy z Terraform
- Utworzenie konta AWS
- Instalacja Terraform
- Wdrożenie pojedynczego serwera
- Wdrożenie pojedynczego serwera WWW
- Wdrażanie konfigurowalnego serwera WWW
- Wdrażanie klastra serwerów WWW
- Wdrożenie mechanizmu równoważenia obciążenia
- Porządkowanie
- Podsumowanie
- Rozdział 3. Zarządzanie informacjami o stanie Terraform
- Czym są informacje o stanie Terraform?
- Współdzielony magazyn danych dla plików informacji o stanie
- Ograniczenia backendu Terraform
- Izolowanie plików informacji o stanie
- Izolacja za pomocą przestrzeni roboczych
- Izolacja za pomocą układu plików
- Źródło danych terraform_remote_state
- Podsumowanie
- Rozdział 4. Zastosowanie modułów do tworzenia infrastruktury Terraform wielokrotnego użycia
- Podstawy modułów
- Dane wejściowe modułu
- Wartości lokalne modułu
- Dane wyjściowe modułu
- Problemy z modułami
- Ścieżki dostępu do pliku
- Osadzony blok kodu
- Wersjonowanie modułu
- Podsumowanie
- Rozdział 5. Sztuczki i podpowiedzi dotyczące Terraform pętle, konstrukcje if, wdrażanie i problemy
- Pętle
- Pętla za pomocą parametru count
- Pętla za pomocą wyrażenia for_each
- Pętla za pomocą wyrażenia for
- Pętla za pomocą dyrektywy for ciągu tekstowego
- Wyrażenie warunkowe
- Wyrażenie warunkowe z użyciem parametru count
- Konstrukcja if utworzona za pomocą parametr count
- Konstrukcja if-else za pomocą parametru count
- Definiowanie warunku za pomocą for_each i wyrażeń
- Wyrażenia warunkowe wraz z dyrektywą if ciągu tekstowego
- Wyrażenie warunkowe z użyciem parametru count
- Wdrożenie bez przestoju
- Problemy związane z Terraform
- Ograniczenia parametru count i wyrażenia for_each
- W count i for_each nie można odwoływać się do danych wyjściowych żadnego zasobu
- Nie można używać count i for_each w bloku konfiguracyjnym module
- Ograniczenia wdrożenia bez przestoju
- Awarie poprawnych planów
- Trudności podczas refaktoryzacji
- Osiągnięcie ostatecznej spójności może wymagać nieco czasu
- Ograniczenia parametru count i wyrażenia for_each
- Podsumowanie
- Pętle
- Rozdział 6. Produkcyjny kod Terraform
- Dlaczego przygotowanie infrastruktury o jakości produkcyjnej trwa tak długo?
- Lista rzeczy do zrobienia podczas tworzenia infrastruktury o jakości produkcyjnej
- Moduły infrastruktury o jakości produkcyjnej
- Małe moduły
- Moduły łączone z innymi
- Moduły możliwe do testowania
- Moduły możliwe do wydania
- Moduły wykraczające poza Terraform
- Blok provisioner
- Blok provisioner wraz z null_resource
- Zewnętrzne źródło danych
- Podsumowanie
- Rozdział 7. Testowanie kodu Terraform
- Testy ręczne
- Podstawy ręcznego przeprowadzania testów
- Uporządkowanie środowiska po zakończeniu testów
- Testy zautomatyzowane
- Testy jednostkowe
- Podstawy testu jednostkowego
- Wstrzykiwanie zależności
- Jednoczesne wykonywanie testów
- Testy integracji
- Etapy wykonywania testu
- Ponowne próby
- Testy typu E2E
- Inne podejścia w zakresie testów
- Analiza statyczna
- Testowanie właściwości
- Testy jednostkowe
- Podsumowanie
- Testy ręczne
- Rozdział 8. Używanie Terraform w zespołach
- Adaptacja infrastruktury jako kodu przez zespół
- Przekonanie szefa do pomysłu
- Stopniowe wprowadzanie zmian
- Zapewnienie zespołowi czasu na naukę
- Sposób pracy podczas wdrażania kodu aplikacji
- Użycie systemu kontroli wersji
- Lokalne uruchomienie kodu
- Wprowadzenie zmian w kodzie
- Przekazanie zmian do zatwierdzenia
- Uruchomienie testów zautomatyzowanych
- Połączenie kodu istniejącego z nowym i wydanie produktu
- Wdrożenie
- Narzędzia wdrażania
- Strategie wdrażania
- Serwer wdrożenia
- Stosowanie produktu w różnych środowiskach
- Sposób pracy podczas wdrażania kodu infrastruktury
- Użycie systemu kontroli wersji
- Repozytoria live I modules
- Złota reguła Terraform
- Problemy z gałęziami
- Lokalne uruchomienie kodu
- Wprowadzenie zmian w kodzie
- Przekazanie zmian do zatwierdzenia
- Dokumentacja
- Testy zautomatyzowane
- Układ plików
- Przewodnik po stylu
- Uruchomienie testów zautomatyzowanych
- Połączenie kodu istniejącego z nowym i wydanie produktu
- Wdrożenie
- Narzędzia wdrażania
- Strategie wdrażania
- Serwer wdrożenia
- Stosowanie produktu w różnych środowiskach
- Użycie systemu kontroli wersji
- Zebranie wszystkiego w całość
- Podsumowanie
- Adaptacja infrastruktury jako kodu przez zespół
- Dodatek A Polecane zasoby
- Książki
- Blogi
- Prelekcje
- Newslettery
- Fora internetowe
- O autorze
- Kolofon
Opinie
Na razie nie ma opinii o produkcie.