Mentionsy Mentionsy
Everything as code
Everything as code

Odcinek 9 - Czym jest HCP Terraform, dawniej Terraform Cloud ?

13.08.2024 ·8 min 13 s

Czym jest Terraform Cloud ? Czy można z niego korzystać bezpłatnie ? Jakie są możliwości tej platformy ? W tym odcinku postaram się na wszystkie te pytania odpowiedzieć. Materiały i narzędzia znajdziesz jak zawsze w repozytorium na GitHub: https://github.com/sebastianczech/podcast-everything-as-a-code/tree/main/episode-009.

Cześć, witam cię serdecznie w kolejnym odcinku mojego podcastu Everything as a Code. Dzisiaj chciałbym opowiedzieć o platformie Terraform Cloud, która obecnie nazywa się HCP Terraform, rozszerzając ten skrót HashiCorp Cloud Platform. Jest to nowa nazwa dla Terraform Cloud. Ten termin Terraform Cloud jest bardziej popularny w sieci itd. Czym jest HCP Terraform, inaczej Terraform Cloud? Będę używał tych pojęć zamiennie w trakcie tego odcinka. Więc Terraform Cloud jest usługą zarządzaną przez HashiCorp, która umożliwia użytkownikom zarządzać projektami infrastruktury zbudowanej w oparciu o kod, czyli oczywiście o Terraforma.

Platforma ta dostarcza szereg narzędzi i funkcji przydatnych, zwłaszcza gdy pracujemy w zespole. Z pewnością ułatwia to zarządzanie środowiskiem i korzystanie z Terraforma. W jakim zakresie? Opowiem w dalszej części odcinka. HCP Terraform jest częścią większego ekosystemu jakim jest HCP. Jest tam wiele innych usług takich jak Consul, Packer czy Volt. Tutaj skupię się na części dotyczącej Terraforma. A więc, jakie są główne cechy Terraform Cloud? Przede wszystkim jest to możliwość zarządzania zdalnym stanem.

Ok, wiemy czym Terraform Cloud jest, jakie są jego cechy charakterystyczne. Jak zatem zacząć pracę z tą platformą? Przede wszystkim Zachęcam Cię do zapoznania się z tutorialami, które są na oficjalnej stronie HashiCorp. Link do tych tutoriali znajdziesz rzeczywiście w notatkach do tego odcinka. Zachęcam. Oczywiście musimy również założyć konto. Możemy założyć konto darmowe. Po zalogowaniu się do platformy musimy otworzyć swoją pierwszą przestrzeń roboczą, czyli tzw. workspace, o których wspominałem chwilkę temu. Polecam podejście, w którym kod naszej infrastruktury przechowujemy w repozytorium takim jak GitHub czy GitLab, by od razu starać się, by stosować tę dobrą praktykę, o której mówiłem w poprzednich odcinkach mojego podcastu, by kod, który budujemy, nieważne do czego, czy do infrastruktury, czy do aplikacji i tak dalej, przechowywać w systemie kontroli wersji.

Mamy możliwość definiowania zmiennych. Mamy możliwość uruchamiania wdrożenia. Możemy korzystać z danych repozytoriów kodu, a także możemy korzystać z policy as a code. W darmowej wersji jest to jeden zestaw tych reguł, które może zawierać do pięciu polityk. Czego nie ma w darmowej wersji? Przede wszystkim wsparcia dla pracy zespołowej i zarządzania takim zespołem. Inną ciekawą rzeczą, której nie ma w darmowej wersji, jest wykrywanie zmian w infrastrukturze w stosunku do kodu, tzw. drift detection. Jest to super funkcja, która wykrywa, jeśli coś zmienimy ręcznie w naszym środowisku, np. w chmurze, dodamy jakiś dodatkowy byt, np. dodatkową maszynę wirtualną, w naszym kodzie tego nie uwzględniliśmy, to taką różnicę platforma wykryje i oczywiście dostosuje do tego, co mamy zdefiniowane w kodzie.

Ostatnią z rzeczy, które nie możemy zrobić używając darmowej wersji Terraform Cloud, jest możliwość instalacji tej platformy na własnych serwerach. Więcej różnic, informacji o tym, co jest w darmowej wersji, co jest płatnej itd. można oczywiście znaleźć na oficjalnej stronie HashiCorp. Oczywiście link również w notatkach do tego odcinka. Terraform Cloud nie jest jedyną platformą tego rodzaju. Istnieje szerzej jak innych, takie jak nCore, nF0 czy Spacelift. Linki do tych platform również na dodatkach do tego odcinka. Mam nadzieję, że temat Terraform Cloud, czy inaczej HCP Terraform zainteresował Cię. Jeśli do tej pory nie miałeś okazji spróbować jak ta platforma działa, serdecznie Cię zachęcam do zapoznania się z tutorialami i spróbowania.

Pokazano wszystkie 5 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.