Terraform. Tworzenie infrastruktury za pomocą kodu. Wydanie 3 - ebook
Terraform. Tworzenie infrastruktury za pomocą kodu. Wydanie 3 - ebook
Jeszcze do niedawna praca administratora systemu polegała na ręcznym przygotowywaniu infrastruktury do działania. Mozolne konfigurowanie serwerów, baz danych i elementów sieci niosło za sobą ryzyko przestojów środowiska produkcyjnego i wprowadzenia błędnych ustawień, a wdrożenia przebiegały powoli i łączyły się z nieuchronnym poszukiwaniem błędów. Dziś do tego rodzaju prac służy Terraform, narzędzie open source przeznaczone do tworzenia i wdrażania kodu infrastruktury, a także zarządzania nim; rozwiązanie stosowane w takich platformach jak Amazon Web Services, Google Cloud, Azure i wiele innych.
To trzecie, wzbogacone i uzupełnione wydanie praktycznego samouczka, dzięki któremu błyskawicznie rozpoczniesz pracę z Terraform. Zapoznasz się z językiem programowania Terraform i zasadami tworzenia kodu. Szybko zaczniesz wdrażać infrastrukturę i zarządzać nią za pomocą zaledwie kilku poleceń. Istotną częścią książki jest pokazanie metodologii DevOps w działaniu, a także 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. Nie musisz być weteranem DevOps ani doświadczonym administratorem systemów - z tym podręcznikiem nawet początkujący programiści sprawnie przygotują pełny stos, który zapewni obsługę ogromnego ruchu sieciowego w rzeczywistych środowiskach produkcyjnych.
Dzięki książce:
- zrozumiesz, kiedy używać Terraform, a kiedy innych narzędzi
- wdrożysz klastry serwerów, mechanizmy równoważenia obciążenia i bazy danych
- nauczysz się tworzyć infrastrukturę Terraform
- przetestujesz moduły Terraform wieloma metodami
- skonfigurujesz potoki CI/CD i zaczniesz się posługiwać zaawansowaną składnią Terraform
- nauczysz się pracować w środowiskach chmurowych
Infrastruktura jako kod: od sukcesu dzieli Cię kilka poleceń!
Spis treści
Wprowadzenie
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
- Język ogólnego przeznaczenia kontra język specjalizowany
- Serwer główny kontra jego brak
- Agent kontra jego brak
- Rozwiązanie płatne kontra bezpłatne
- Duża społeczność kontra mała
- Rozwiązanie dojrzałe kontra najnowsze
- Używanie razem wielu narzędzi
- Podsumowanie
2. Rozpoczęcie pracy z Terraform
- Utworzenie konta AWS
- Instalacja Terraform
- Wdrożenie pojedynczego serwera
- Wdrożenie pojedynczego serwera WWW
- Bezpieczeństwo sieci
- Wdrażanie konfigurowalnego serwera WWW
- Wdrażanie klastra serwerów WWW
- Wdrożenie mechanizmu równoważenia obciążenia
- Porządkowanie
- Podsumowanie
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
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
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
- Definiowanie warunku za pomocą for_each i wyrażeń
- Wyrażenia warunkowe wraz z dyrektywą if ciągu tekstowego
- Wdrożenie bez przestoju
- Problemy związane z Terraform
- Ograniczenia parametru count i wyrażenia for_each
- Ograniczenia wdrożenia bez przestoju
- Awarie poprawnych planów
- Trudności podczas refaktoryzacji
- Podsumowanie
6. Zarządzanie danymi poufnymi za pomocą Terraform
- Podstawy zarządzania danymi poufnymi
- Narzędzia przeznaczone do zarządzania danymi poufnymi
- Rodzaje przechowywanych danych poufnych
- Przechowywanie danych poufnych
- Interfejs używany w celu dostępu do danych poufnych
- Porównanie narzędzi przeznaczonych do zarządzania danymi poufnymi
- Narzędzia przeznaczone do zarządzania danymi poufnymi w Terraform
- Dostawcy
- Zasoby i źródła danych
- Pliki informacji o stanie i pliki planu
- Podsumowanie
7. Praca z wieloma dostawcami
- Praca z pojedynczym dostawcą
- Czym jest dostawca?
- Jak odbywa się instalacja dostawcy?
- W jaki sposób używać dostawców?
- Praca z wieloma kopiami tego samego dostawcy
- Praca z wieloma regionami AWS
- Praca z wieloma kontami AWS
- Tworzenie modułów, które mogą działać z wieloma dostawcami
- Praca z wieloma różnymi dostawcami
- Krótkie wprowadzenie do Dockera
- Krótkie wprowadzenie do Kubernetes
- Wdrażanie kontenerów Dockera w AWS za pomocą Elastic Kubernetes Service
- Podsumowanie
8. 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 wersjonowane
- Moduły wykraczające poza Terraform
- Podsumowanie
9. Testowanie kodu Terraform
- Testy ręczne
- Podstawy ręcznego przeprowadzania testów
- Uporządkowanie środowiska po zakończeniu testów
- Testy zautomatyzowane
- Testy jednostkowe
- Testy integracji
- Testy typu E2E
- Inne podejścia w zakresie testów
- Podsumowanie
10. 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
- Sposób pracy podczas wdrażania kodu infrastruktury
- 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
- Zebranie wszystkiego w całość
- Podsumowanie
A. Polecane zasoby
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-8322-347-6 |
Rozmiar pliku: | 9,0 MB |