Pamiętacie to uczucie napięcia i zagubienia, gdy czekaliście na wyniki testu na prawo jazdy? Parę lat temu stałem przed pokojem egzaminacyjnym, czując dokładnie to samo. Tego dnia budzik zadzwonił bezlitośnie wcześnie. Wsiadłem do samochodu 🚗 i pojechałem do dość odległego ośrodka egzaminacyjnego, gdzie po napisaniu testu pozostało mi jedynie czekać przed pokojem na wyniki 🥵.
Było to zakończenie kilku męczących tygodni przygotowań do egzaminu AWS Solutions Architect. Z perspektywy czasu powiedziałbym, że na informację zwrotną czekałem długo, jednak w rzeczywistości już po kilku minutach wiedziałem, że mój pierwszy “poważny” chmurowy egzamin certyfikacyjny ukończyłem z wynikiem pozytywnym 🤓.
Uczucie, jakie mi wtedy towarzyszyło nazywam małym technicznym “katharsis”. Ta ulga i ekscytacja po długim okresie przygotowania jest czymś, do czego lubię wracać w mojej karierze chyba trochę za często. Już wiem, że jak nadciąga kolejny epizod telenoweli pt. “impostor syndrome”, to mogę użyć certyfikatu jak młotka, żeby zatłuc bestię.
Dlaczego teraz o tym piszę? Nazwijcie mnie starym grzybem, ale jeśli chodzi o certyfikaty to… “kiedyś było inaczej”. Czy lepiej? Zdecydowanie nie! Ostatnio miałem okazję przystąpić do zupełnie innego egzaminu certyfikacyjnego. W ciągu tygodnia przygotowałem się, zarezerwowałem termin i przystąpiłem do testu z własnego pokoju. Bez wielotygodniowej nauki, bez wczesnego wstawania i męczącej podróży, w miejscu, w którym się dobrze czuje.
Moim łupem padł certyfikat Hashicorp: Terraform Associate, do którego z odrobiną szczęścia spróbuję zachęcić i Ciebie! Zakładam teraz, że już choć trochę bawiłeś się Terraform (nawet jeśli tylko hobbystycznie). Jeśli nie — dołóż sobie jeden dzień na początku naszej marszruty, odpal przykładowy tutorial i pobrudź ręce, wtedy dasz radę 🤞!
Pewnie zdajesz sobie sprawę, że zarządzanie infrastrukturą i tematy DevOps są bardzo pożądane na rynku pracy. Jak bardzo? Terraform jest drugą najlepiej płatną technologią zaraz po Spark (wg raportu InHire Market Snapshot 2021). Nietrudno dziś znaleźć oferty przekraczające 30k+ PLN 💰 a sama ilość otwartych pozycji daje duże możliwości wyboru pracodawcy.
Terraform Associate to świetny certyfikat do zdobycia na początku drogi DevOps. W przeciwieństwie do AWS, Azure, GCP, Kubernetes, Ansible ma on zdecydowanie niższy próg wejścia — możesz dość szybko (w 1 tydzień!) zdobyć swój pierwszy wpis do CV.
Pewnie się zastanawiasz, na ile musisz znać AWS/Azure/GCP? Nie musisz się bać. Na potrzeby egzaminu wystarczy, że wiesz jak stworzyć maszynę wirtualną w dowolnej z powyższych platform. Z racji największej adopcji, pytania egzaminacyjne zazwyczaj będą formułowane w oparciu o AWS. Wiedza na temat jego usług nie musi wykraczać poza podstawy — tworzenie maszyn wirtualnych EC2 w sieci wirtualnej VPC.
Trzeci powód, najbliższy mojemu sercu — jeśli już pracujesz z Terraform to zdobycie certyfikatu pozwoli Ci “wyrównać” wiedzę z resztą społeczności. Będziesz pisać kod z wykorzystaniem najlepszych praktyk i narzędzi, o których wcześniej nie czytałeś, a kto wie — może zainspiruje Cię to także do napisania własnych rozszerzeń w Golang? Dzięki lepszemu zrozumieniu Terraform zaczniesz patrzeć szerzej na możliwości poza samą automatyzacją AWS/Azure/GCP. To inwestycja w stronę multi—cloud, która mi zwróciła się bardzo szybko.
Sprzedałem Ci pomysł? To startujemy!
Ok, no może nie dosłownie. Potrzebujesz motywatora, żeby nie stracić zapału przed końcem tygodnia 😉 Jeśli mi ufasz to po przeczytaniu tego artykułu, wróć do tutaj 👉 wejdź na ten link i zarezerwuj sobie termin. Zapłacisz za niego $70.50 USD + podatek. Całość powinna się zamknąć w kwocie około 350zł.
Egzamin będzie przeprowadzony w języku angielskim w sposób zdalny (nauka angielskiego nie jest wliczona w nasze planowane 7 dni!). Upewnij się, że w terminie, który zarezerwujesz, będziesz miał wolny pokój i nikt Ci nie będzie przeszkadzał. Więcej informacji na temat wymagań do egzaminu możesz przeczytać na oficjalnej stronie oraz w podsumowaniu dnia 7. poniżej (Dzień 7 — Przystąp do egzaminu nadzorowanego zdalnie). Jeśli szukasz oficjalnych informacji na temat certyfikacji i materiałów do przygotowania to zapraszam na stronę poświęconą Hashicorp Terraform Associate. Tymczasem rozpocznijmy naszą naukę:
W pierwszym dniu musisz odrobić zadanie domowe z materiałów reklamowo—wprowadzających. Przygotuje Cię to do zaliczenia dwóch sekcji egzaminu:
Understand infrastructure as code (IaC) concepts
2 Understand Terraform's purpose (vs other IaC)
W tym celu zapoznaj się z następującymi oficjalnymi materiałami:
Swoją wiedzę możesz sprawdzić np. przy pomocy tego quizu. Pytania będą jednokrotnego i wielokrotnego wyboru oraz kilka pytań, w których trzeba uzupełnić pojedyncze słowo.
W tej sekcji zwróć szczególną uwagę na to, co możemy zautomatyzować przy pomocy Terraform oraz jaką rolę w całości pełni plik utrzymujący stan.
Drugiego dnia przyjdzie Ci zapoznać się z rozszerzeniami umożliwiającymi definiowanie infrastruktury u różnych dostawców. Nie oznacza to, że musisz znać ich dokumentację na pamięć. Bardziej istotne jest zrozumienie ekosystemu i przetestowanie jak zarządzanie “providerem” wygląda w praktyce. Uważaj — w dokumentacji spotkasz różne określenia “provider” i “plugin”. Oznaczają one dokładnie to samo!
Poniżej możesz zobaczyć jaka wiedza będzie wymagana na egzaminie:
Szczególną uwagę zwróć na polecenie “terraform init”. Będzie ono bardzo istotne na egzaminie i musisz znać możliwe parametry oraz co się dzieje w trakcie uruchomienia tej komendy.
Nie pomijaj tematów związanych z “provisioners”. Pomimo tego, że są one odradzane na korzyść innych bardziej specjalizowanych narzędzi, możesz spodziewać się kilku pytań, które dotyczą tej funkcjonalności.
Zrozum także, w jakiej sytuacji powinieneś zdefiniować tego samego dostawcę więcej niż raz w swoim pliku konfiguracyjnym i jak tak stworzone “aliasy” wykorzystuje się w praktyce.
Jeśli potrzebujesz zwalidować wiedzę z dnia drugiego, możesz zapoznać się z tym quizem.
Trzeci dzień poświęć na dokładne zrozumienie wszystkich komend dostępnych w Terraform CLI i ich parametrów. Wbrew pozorom lista możliwości nie jest zbyt długa, ale należy uważać, przechodząc przez materiały do nauki. Część poleceń w dokumentacji może być oznaczona jako “deprecated”, natomiast w obecnej wersji egzaminu pojawiają się także pytania dotyczące takich właśnie komend (np. polecenie “taint”).
To będzie pewnie dla Ciebie pierwszy dzień, który może przytłoczyć ilością materiałów, ale nie poddawaj się! Jesteśmy już w połowie, a przed nami jeszcze tylko jeden cięższy dzień i potem już z górki. Dobra informacja jest taka, że pracując z Terraform większość dzisiejszych tematów powinieneś już dość dobrze znać.
Jeśli potrzebujesz zwalidować swoją wiedzę z dzisiejszych tematów to zapraszam do tego quizu.
Dzień czwarty to obiecany ostatni “ciężki” dzień. Dziś poznasz główne narzędzie w budowaniu bardziej rozbudowanej konfiguracji — moduły. Zapoznasz się także z różnymi typami danych oraz wbudowanymi funkcjami. Szczególną uwagę poświęć sekcji związanej ze zmiennymi typu “secret” i temu, jak są one przechowywane w pliku stanu. W tej sekcji powinieneś bezbłędnie zaliczyć następujące zagadnienia z egzaminu:
Na koniec dnia możesz zwalidować swoją wiedzę z tym quizem.
Dzień piąty jest zdecydowanie bardziej spokojny. Zacznij go od założenia konta na Terraform Cloud (jest darmowe do 5 osób w zespole) i aktywuj bezpłatną wersję próbną planu płatnego. Pod koniec dnia powinieneś umieć opisać czym się różnią plany w Terraform Cloud, czym jest Sentinel (nie musisz umieć pisać w nim polis!), oraz rozumieć ideę “workspaces” w Terraform Cloud i czym się one różnią od “workspaces” z Terraform CLI. Dzień też uzupełnij sobie ostatnią porcją wiedzy o Terraform State.
Wymagania z tego zakresu w materiałach egzaminacyjnych opisane są następująco:
Żeby zwalidować swoje postępy możesz przystąpić do poniższego testu.
Dnia szóstego sugeruję Ci przeczytać swoje notatki (o ile robiłeś) oraz zapoznać się z sekcjami egzaminu dostępnymi tutaj. Na tej samej stronie znajdziesz przykładowe pytania egzaminacyjne. Przestrzegam natomiast przed wyszukiwaniem pytań dostępnych publicznie — zdecydowana ich większość zawiera błędne odpowiedzi (nawet jeśli podobne pytania pojawiają się na egzaminie).
Dzień szósty jest także świetną okazją, żeby przygotować siebie i swoje stanowisko pracy do egzaminu przeprowadzanego zdalnie. Co potrzebujesz przygotować? O tym w następnej sekcji.
Do egzaminu przystąpić możesz 15 minut przed oficjalnym jego rozpoczęciem. Bardzo Cię do tego zachęcam — w razie ew. problemów będziesz miał chwilę na kontakt z osobą wsparcia technicznego.
Na egzamin potrzebujesz przygotować swój dokument tożsamości. Zwróć uwagę, żeby dokument nie był przedawniony, zawierał zdjęcie i podpis — w moim wypadku użyłem dowodu osobistego i nie było z nim najmniejszego problemu. Jeśli Twoje imie/nazwisko na dowodzie nie odpowiada danym, które wprowadziłeś przy zapisywaniu się do egzaminu, musisz poinformować [email protected] o tym fakcie co najmniej 3 dni robocze przed egzaminem.
Pokój, w którym będziesz przystępował do egzaminu, musi spełniać warunki opisane tutaj.
Do egzaminu przystępujesz z jednym monitorem (jeśli jest to laptop, to musisz odłączyć zewnętrzny monitor), kamerą internetową, głośnikami (mogą być wbudowane), mikrofonem (dźwięki w tle są monitorowane). Nie możesz korzystać ze słuchawek, komórki i innych akcesoriów. Jeśli korzystasz ze smartwatch — lepiej odłóż go daleko od siebie. Wymagania dotyczące sprzętu możesz przeczytać tutaj, a kompatybilność Twojego sprzętu przetestować tutaj. Prowadzący egzamin sugerują korzystać z prywatnego komputera (bez VPN i firewall).
W moim wypadku korzystałem z MacBookAir i natrafiliśmy na problemy techniczne z uruchomieniem egzaminu, które udało się rozwiązać instalując ręcznie PSI Bridge Secure Browser.
Po zalogowaniu do platformy i uruchomieniu dedykowanej przeglądarki egzaminacyjnej (PSI Secure Browser) zostaniesz poproszony o zrobienie zdjęcia kamerką swojego dowodu, nagrania 360 stopni swojego pokoju, pokazania rąk (sugeruję krótki rękaw), nagrania powierzchni biurka, odłożenia na nagraniu telefonu komórkowego za siebie. Po zatwierdzeniu “czystości” miejsca pracy egzaminator dopuści Cię do egzaminu. Nie będzie to osoba, z którą będziesz musiał rozmawiać — komunikacja jest jedynie pisemna i tylko wtedy, gdy jest potrzebna (np. w wypadku pytań).
Sam egzamin zawierać będzie ok 60 pytań, po których jest krótka ankieta na temat Twoich wrażeń z całego procesu. Na odpowiedź na pytania masz 60 minut (ankieta nie wlicza się w ten czas). Po wypełnieniu ankiety otrzymasz w przeglądarce swoje wyniki, a po krótkiej chwili powinieneś także dostać e-mail z potwierdzeniem i podsumowaniem.
Jeśli zdałeś — gratuluję! 👏
Podziel się swoimi wrażeniami w komentarzu lub złap mnie na LinkedIn — będę wdzięczny za każdy feedback. Jeśli szukasz dalszych wrażeń to polecam napisać pierwszego providera w Golang lub może zdobycie certyfikatu Kubernetes? Jeśli masz więcej pytań, to zapraszam Cię na spotkanie ze mną na początku marca. Tymczasem, powodzenia!