Wraz ze wzrostem zainteresowania tematyką chmury obliczeniowej, dynamicznie rośnie zapotrzebowanie na specjalistów w tym obszarze. Coraz częściej znajomość technologii chmurowych jest też wymagana od programistów ubiegających się o różne stanowiska, chociażby .NET developera. Jak zdobyć szeroki zakres kompetencji i szybko odnaleźć się w temacie? Najlepiej zacząć od solidnych podstaw, czyli certyfikatu AZ- 900, który kompleksowo wprowadza w świat rozwiązań chmurowych Microsoftu.
Czym jest przetwarzanie w chmurze?
Ostatnimi laty coraz popularniejsza staje się tematyka związana z chmurą obliczeniową. Jest to model przetwarzania danych, polegający na użytkowaniu infrastruktury i oprogramowania udostępnionego przez usługodawców przez Internet. Coraz więcej firm decyduje się na przeniesienie odpowiedzialności za utrzymanie własnej infrastruktury na podmioty zewnętrzne, ze względu na szereg korzyści z tym związanych. Pierwszą z nich jest przede wszystkim koszt. Szacuje się, że rozwiązania chmurowe pozwalają na zmniejszenie kosztów prowadzenia działalności związanej z IT o nawet 20%. Ponadto, zwalnia to częściowo firmy z konieczności dbania o bezpieczeństwo serwerów oraz utrzymywanie i aktualizowanie infrastruktury. Nie bez znaczenia jest również brak olbrzymich kosztów jakie trzeba ponieść na samym początku działalności w klasycznym modelu przetwarzania danych. Chmura umożliwia wykupienie usług w modelu „Pay as you go”, gdzie ponosimy jedynie koszty faktycznie wykorzystywanych zasobów. Na rynku istnieje wielu dostawców tego typu usług. Najpopularniejsze to Amazon Web Services, Microsoft Azure i Google Cloud.
3 główne rodzaje przetwarzania w chmurze
- Publiczna chmura – Zarówno sprzęt jak i oprogramowanie są dostarczane przez firmę zewnętrzną. Nie musimy przejmować się konserwacją sprzętu i utrzymaniem infrastruktury. Do zasobów mamy dostęp tylko przez Internet.
- Chmura prywatna – Należy do konkretnej firmy bądź organizacji. Infrastruktura i usługi utrzymywane są w sieciach prywatnych.
- Rozwiązania hybrydowe – Jest to połączenie chmury publicznej z prywatną. To szczególne rozwiązanie, użyteczne wtedy, gdy niektóre elementy infrastruktury nie mogą zostać oddelegowane do zarządzania przez zewnętrzne firmy (np. ze względu na wysoką poufność danych).
3 główne modele chmury obliczeniowej
- IaaS – Infrastructure as a service – Polega na wynajmowaniu infrastruktury oraz przestrzeni dyskowej. Optymalne zarządzanie zasobami, konfiguracja i instalacja oprogramowania należy do naszych obowiązków.
- PaaS – Platform as a service – Otrzymujemy gotowe środowisko pozwalające na dostarczanie, testowanie i uruchamianie naszych aplikacji bez konieczności zarządzania systemem operacyjnym czy serwerem bazy danych.
- SaaS – Software as a service – Klient wykupuje jedynie dostęp do konkretnego oprogramowania. Nie musimy martwić się infrastrukturą, konfiguracją ani instalacją i aktualizacją wykorzystywanych programów
Więcej o rozwiązaniach chmurowych i potencjale rozwiązań serverless przeczytasz tutaj.
Czym jest Azure?
Azure jest to obecnie jeden z najpopularniejszych zbiorów usług chmurowych. Jest on dostarczany przez firmę Microsoft. Oferuje pełen przekrój rozwiązań DevOps, IoT, Business Intelligence i wiele innych. Ze względu na oferowane możliwości, każdy programista pracujący z technologiami tej firmy powinien chociaż w podstawowym stopniu zaznajomić się z platformą Azure. Coraz częściej umiejętności z nią związane są niezbędne, aby móc ubiegać się o pracę jako .NET developer.
Od czego zacząć?
Najprostszym sposobem jest podążanie ścieżką stworzoną przez samych twórców, czyli firmę Microsoft. Istnieje cały szereg certyfikatów, które możemy zdać, aby mieć pewność co do ugruntowania naszej wiedzy w tej tematyce. Certyfikaty, chociaż nie są tak istotne jak doświadczenie, dla pracodawcy świadczą o nieustającej motywacji do rozwoju i poszerzania kompetencji technicznych. Certyfikacja może być też świetnym sposobem dla ludzi z niewielkim doświadczeniem komercyjnym, aby wyróżnić się z tłumu i zdobyć upragnioną pierwszą posadę. Firmy specjalizujące się w outsourcingu IT również powinny przykładać szczególną uwagę do systematycznego doszkalania swoich pracowników poprzez zdobywanie kolejnych certyfikatów, ze względu na ich wysoką rozpoznawalność przez potencjalnych klientów na całym świecie. Całą ścieżkę rozwoju można znaleźć tutaj.
Pierwszym etapem naszej przygody, powinien być certyfikat AZ-900. Nie jest on wymagany, jednak w doskonały sposób wprowadza w świat rozwiązań chmurowych od firmy Microsoft. Pozwala na zrozumienie oferowanych rozwiązań i świadomy wybór ścieżki rozwoju, która najbardziej odpowiada naszym zainteresowaniom.
Zakres kompetencji
Egzamin AZ-900 pokrywa szeroki zakres kompetencji. Przede wszystkim osoba, która zda taki certyfikat będzie dobrze zaznajomiona z samą koncepcją przetwarzania w chmurze. Pozna też zalety i wady wynikające z jej użycia. Ponadto, będzie w stanie sprawnie poruszać się po portalu Azure, będzie rozumiała wszystkie dostępne modele płatności i sposób ich działania. Niezbędne będzie zrozumienie działania tzw. Regionów i wszystkich konsekwencji z nich wynikających jak np. inny koszt usług ze względu na położenie oraz poziom dostępności gwarantowany przez firmę Microsoft (SLA). Zdający będzie również musiał poznać dostępne metody przechowywania danych oraz zarządzania ruchem sieciowym poprzez zastosowanie tzw. Load balancerów. Dzięki wykorzystaniu Azure Policy, będziemy w stanie narzucić zgodność wszystkich utrzymywanych w Azure zasobów zgodnie z wytycznymi naszej firmy.
Duża uwaga jest również poświęcona zarządzaniu zasobami i organizowaniu ich w tzw. „Resource groups”. Dzięki temu możemy je kategoryzować na podstawie różnych kryteriów jak przynależność do konkretnego oddziału firmy, położenie czy poziom poufności. Dzięki mechanizmom takim jak lock’i oraz RBAC (Role-based access control) mamy możliwość nadania dostępu oraz możliwości zmiany ustawień zasobów tylko dla konkretnych, uprawnionych grup użytkowników. Na koniec poruszona zostaje również tematyka estymacji kosztów naszych usług w Azure i sposoby ich optymalizacji. Znajomość wszystkich wspomnianych zagadnień, z pewnością będzie świetnym wprowadzeniem do tematyki rozwiązań chmurowych. Pozwoli nam też w łatwy sposób na kontynuowanie naszej nauki i podejście do bardziej wymagających certyfikacji.
Jak się przygotować do egzaminu?
Przede wszystkim polecam przejście całej ścieżki „Azure Fundamentals”, dostępnej tutaj.
Całość dostępna jest za darmo i dobrze opisuje wszystkie wymagane zagadnienia. Ponadto na końcu każdego działu znajduje się quiz do rozwiązania, który zmusi nas do uważniejszego studiowania. Wielokrotnie natkniemy się też na ćwiczenia, które musimy wykonać wewnątrz samego Azure Portal. Nie musimy przejmować się ewentualnymi kosztami. Microsoft udostępnia specjalny mechanizm „piaskownicy”, dzięki czemu możemy wykonywać zadania w środowisku imitującym pełnoprawny, płatny dostęp do usługi. Gdy już przejdziemy całą ścieżkę, polecam skorzystać z tzw. „dump’ów” czyli zestawów przykładowych pytań, których możemy się spodziewać na egzaminie. Tak jak w przypadku innych certyfikacji tak i tutaj, oprócz samej wiedzy potrzebna nam będzie umiejętność zdania samego egzaminu. Warto zatem wykonać kilka testów próbnych, aby będąc już w prawdziwym centrum egzaminacyjnym, móc opanować stres i uniknąć nieprzyjemnych niespodzianek. Przykładowe pytania egzaminacyjne Microsoft udostępnia tutaj.
Oczywiście, podobne zestawy pytań są oferowane również przez inne firmy. Bardzo często prezentują one podobną jakość materiałów i są kilkukrotnie tańsze, dlatego polecam poszukiwanie alternatywnych rozwiązań.
Kluczowe w przygotowaniu do egzaminu jest podzielenie materiału na małe partie, a następnie przerabianie go regularnie w małych odstępach czasu. Ponadto, warto zacząć przygotowywać się odpowiednio wcześnie i dać sobie duży bufor czasowy. Z reguły materiału i nauki jest więcej niż początkowo zakładamy. Co jakiś czas (np. po każdym tygodniu nauki), warto wyznaczyć sobie dodatkową sesję na podsumowanie wszystkiego, czego do tej pory się nauczyliśmy. Pozwoli to na lepsze utrwalenie wiedzy oraz usystematyzowanie wszystkich informacji. Zakres wiedzy, którą musimy posiąść, jest szeroki. Jeżeli chcemy faktycznie wynieść coś z tego certyfikatu, powinniśmy podejść do całego procesu w sposób metodyczny. Dzień przed samym egzaminem, warto powtórzyć wszystko od samego początku, aby zmaksymalizować nasze szanse na sukces.
Jak efektywnie uczyć się przykładowych pytań?
Tak jak wspomniałem, oprócz zapoznania się z materiałem, kluczowe będzie ćwiczenie samych pytań egzaminacyjnych. Raczej nie natkniemy się na dokładnie takie same pytania, aczkolwiek wiele z nich może wydać nam się znajoma. Wielokrotnie odnoszą się do tej samej tematyki. Pokazują nam na jakich aspektach powinniśmy szczególnie się skupić i czego możemy się spodziewać. Niezależnie od tego, skąd zdobędziemy nasz zestaw przykładowych pytań testowych, polecam załadowanie ich do programu, który pozwala na tworzenie zestawów pytań i odpowiedzi, a następnie udostępnia materiał w formie fiszek elektronicznych. Przykładową darmową aplikacją tego typu, którą bardzo polecam, jest Anki.
Każdego dnia możemy ustalić ile nowych pytań chcemy przyswoić oraz liczbę planowanych powtórek. Następnie program wyświetli tylko treść pytania, a poprawną odpowiedź zobaczymy po naciśnięciu klawisza. Samodzielnie zaznaczamy, czy udało nam się poprawnie odpowiedzieć. Program posiada wbudowany algorytm działający na zasadzie tzw. „spaced repetition”. Pytania, które pamiętamy słabo, będą nam przypominane częściej, natomiast inne rzadziej. Dzięki temu poświęcimy więcej czasu na materiał, który sprawia nam problemy i optymalnie wykorzystamy czas nauki.
Co dalej?
Certyfikat AZ-900 daje solidne podstawy do dalszego rozwoju w każdej z dostępnych ścieżek. Dla większości programistów, którzy chcieliby nabyć więcej praktycznych umiejętności z Azure, kolejnym krokiem powinien być certyfikat AZ-204. Jest to następca poprzedniej wersji oznaczonej jako AZ-203. Mimo, że nowsza wersja jest jeszcze w fazie beta, można już przystąpić do obydwu egzaminów. Ze względu na to, że AZ-203 zostanie wycofany we wrześniu 2020, polecam zacząć przygotowania od razu od AZ-204. Certyfikat ten jest przeznaczony dla developerów, którzy mają już powyżej jednego roku doświadczenia komercyjnego oraz posiadają podstawową wiedzę na temat platformy Azure. Zdobyte umiejętności będą obejmowały wykorzystanie narzędzi i usług dostępnych na platformie na wszystkich etapach wytwarzania oprogramowania. Od projektowania, przez programowanie, testowanie i wdrażanie działających rozwiązań chmurowych.
Szczególny nacisk jest kładziony na tworzenie aplikacji „serverless” z użyciem Azure Functions oraz użycie różnorodnych sposobów przesyłania informacji między komponentami z wykorzystaniem takich technologii jak Storage queue, Event Hub, Event Grid, i Service Bus. Ponadto zakres obejmuje też sposoby przechowywania danych z wykorzystaniem baz danych oraz Azure Storage. Na końcu dowiemy się jak opublikować nasze aplikacje przy użyciu wirtualnych maszyn.