Details zum E-Book

Terraform. Tworzenie infrastruktury za pomocą kodu. Wydanie III

Terraform. Tworzenie infrastruktury za pomocą kodu. Wydanie III

Yevgeniy Brikman

E-book

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ń!

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

  • Titel: Terraform. Tworzenie infrastruktury za pomocą kodu. Wydanie III
  • Autor: Yevgeniy Brikman
  • Originaler Titel: Terraform: Up and Running: Writing Infrastructure as Code, 3rd Edition
  • Übersetzung: Robert Górczyński
  • ISBN: 978-83-8322-347-6, 9788383223476
  • Veröffentlichungsdatum: 2023-05-09
  • Format: E-book
  • Artikelkennung: terra3
  • Verleger: Helion