Jak zostać inżynierem DevOps w sześć miesięcy lub nawet szybciej. Część 1. Wprowadzenie

Целевая аудитория

Jesteś programistą i chcesz skierować swoją karierę w stronę bardziej zaawansowanego modelu DevOps? Czy jesteś klasycznym inżynierem Ops i chciałbyś dowiedzieć się, co oznacza DevOps? A może nie jesteś i po pewnym czasie pracy w IT chcesz zmienić karierę i nie masz pojęcia od czego zacząć?
Jeśli tak, czytaj dalej, aby dowiedzieć się, jak w sześć miesięcy zostać inżynierem DevOps średniego szczebla! Wreszcie, jeśli zajmujesz się DevOps od wielu lat, nadal wiele wyniesiesz z tej serii artykułów, aby dowiedzieć się, gdzie obecnie znajduje się branża integracji i automatyzacji i dokąd zmierza.

Jak zostać inżynierem DevOps w sześć miesięcy lub nawet szybciej. Część 1. Wprowadzenie

O co w tym wszystkim chodzi?

Po pierwsze, czym jest DevOps? Możesz przeglądać definicje w Google i przedzierać się przez całe słownictwo, ale pamiętaj, że większość definicji to po prostu zbiór słów ujętych w uproszczoną formę. Dlatego podam podsumowanie wszystkich tych definicji: DevOps to metoda dostarczania oprogramowania, w której ból głowy i odpowiedzialność są dzielone pomiędzy wszystkich zaangażowanych. To wszystko.

No dobrze, ale co oznacza ten skrót? Oznacza to, że tradycyjnie Programiści (osoby tworzące oprogramowanie) byli motywowani do wykonywania swojej pracy za pomocą zachęt znacząco różniących się od tych stosowanych przez Operacji (osoby zarządzające oprogramowaniem). Na przykład jako programista chcę jak najszybciej stworzyć jak najwięcej nowych funkcji. W końcu to moja praca i tego oczekują klienci! Jeśli jednak jestem specjalistą ds. operacyjnych, to potrzebuję jak najmniej nowych funkcji, ponieważ każda nowa funkcja jest zmianą, a każda zmiana wiąże się z problemami. W wyniku tego rozbieżności w motywacjach narodził się DevOps.

DevOps stara się połączyć rozwój i operacje (integrację i automatyzację) w jedną grupę. Pomysł jest taki, że jedna grupa będzie teraz dzielić zarówno trudności, jak i odpowiedzialność (i prawdopodobne korzyści) związane z tworzeniem, wdrażaniem i generowaniem przychodów z oprogramowania przeznaczonego dla klientów.

Puryści powiedzą Ci, że nie ma czegoś takiego jak „inżynier DevOps". „DevOps to kultura, a nie rola" – powiedzą Ci. Oczywiście z technicznego punktu widzenia mają rację, ale tak jak jest często tak się dzieje, termin wymknął się spod kontroli Poza swoim pierwotnym znaczeniem, inżynier DevOps to coś w rodzaju „inżyniera systemów 2.0”. Innymi słowy, jest to ktoś, kto rozumie cykl życia tworzenia oprogramowania i tworzy narzędzia i procesy tworzenia oprogramowania do rozwiązywania klasycznych problemów operacyjnych.

Jak zostać inżynierem DevOps w sześć miesięcy lub nawet szybciej. Część 1. Wprowadzenie

DevOps ostatecznie oznacza tworzenie cyfrowych potoków, które pobierają kod z laptopa programisty i przekształcają go w przychody z korzystania z produktu końcowego, i o to w tym wszystkim chodzi. Należy pamiętać, że wybór kariery w DevOps jest dość dobrze rekompensowany nagrodami finansowymi, przy czym prawie każda firma albo „robi DevOps”, albo podaje się za taką. Niezależnie od tego, gdzie znajdują się te firmy, ogólne możliwości zatrudnienia w DevOps są dość wysokie i oferują „przyjemne” i znaczące zatrudnienie na wiele lat.

Należy jednak uważać na firmy zatrudniające „zespół DevOps” lub „dział DevOps”. Ściśle rzecz biorąc, takie rzeczy nie powinny istnieć, ponieważ ostatecznie DevOps to wciąż kultura i sposób dostarczania oprogramowania, a nie obsadzanie nowego zespołu lub tworzenie działu z fantazyjne imię.

Odmowa odpowiedzialności

Odłóżmy teraz na chwilę szklankę Kool-Aid i pomyślmy o następujących kwestiach. Czy słyszałeś stare powiedzenie „nie ma młodszych inżynierów DevOps?” Jeśli nie, wiedz, że jest to popularny trop na Reddicie i StackOverflow. Ale co to oznacza?

Mówiąc najprościej, to zdanie oznacza, że ​​potrzeba wielu lat doświadczenia w połączeniu z solidnym zrozumieniem narzędzi, aby ostatecznie stać się naprawdę skutecznym praktykiem Senior DevOps. I niestety nie ma drogi na skróty do osiągnięcia celu. Nie jest to więc próba oszukania systemu – nie sądzę, że w rzeczywistości można udawać starszego inżyniera DevOps z kilkumiesięcznym doświadczeniem w branży. Osiągnięcie solidnego zrozumienia szybko zmieniających się narzędzi i metodologii wymaga lat doświadczenia i nie da się tego obejść. Istnieje jednak niemal spójne (modne, jeśli wolisz) menu narzędzi i koncepcji, z których korzysta większość firm i o tym będziemy mówić.

Ponownie, narzędzia to coś innego niż umiejętności, więc ucząc się narzędzi, upewnij się, że nie zaniedbujesz swoich umiejętności (przeprowadzanie ankiet, tworzenie sieci kontaktów, komunikacja pisemna, rozwiązywanie problemów itp.). Co najważniejsze, nie trać z oczu tego, co chcemy znaleźć — sposobu na stworzenie w pełni zautomatyzowanego cyfrowego potoku, który pobiera pomysły i zamienia je w generujące przychody fragmenty kodu. To najważniejszy wniosek z całego artykułu!

Dość gadania. Kiedy mogę zacząć?

Poniżej znajduje się plan działania dotyczący wiedzy podstawowej DevOps. Po opanowaniu wszystkiego, co jest tam przedstawione, możesz bezpiecznie i uczciwie nazwać się inżynierem DevOps! Albo inżynierem chmury, jeśli nie podoba Ci się nazwa „DevOps”.

Jak zostać inżynierem DevOps w sześć miesięcy lub nawet szybciej. Część 1. Wprowadzenie

Ta mapa przedstawia moje (i prawdopodobnie większość osób pracujących w tej przestrzeni) wyobrażenie o tym, co powinien wiedzieć kompetentny inżynier DevOps. Jest to jednak tylko opinia i oczywiście znajdą się tacy, którzy się z nią nie zgodzą. Jest okej! Nie dążymy tu do perfekcji, dążymy do solidnego fundamentu, na którym faktycznie możemy budować.

Musisz przechodzić tę ścieżkę stopniowo, warstwa po warstwie. Zacznijmy (i kontynuujmy!) od podstaw, poznając najpierw elementy zaznaczone na niebiesko — Linux, Python i AWS. Następnie, jeśli pozwala na to czas lub zapotrzebowanie rynku pracy, wykonaj fioletowe rzeczy - Golang i Google Cloud.

Szczerze mówiąc, podstawowa górna warstwa jest czymś, czego będziesz musiał uczyć się przez całe życie. System operacyjny Linux jest bardzo złożony, a jego opanowanie zajmuje lata. Python wymaga ciągłej praktyki, aby być na bieżąco. AWS ewoluuje tak szybko, że to, co wiesz dzisiaj, za rok będzie częścią Twojego ogólnego portfolio wiedzy. Kiedy już opanujesz podstawy, przejdź do faktycznego zestawu umiejętności. Należy pamiętać, że istnieje w sumie 6 niebieskich kolumn (Konfiguracja, Wersja, Pakowanie, Wdrożenie, Uruchomienie, Monitorowanie), po jednej na miesiąc badania.

Jak zostać inżynierem DevOps w sześć miesięcy lub nawet szybciej. Część 1. Wprowadzenie

Oczywiście zauważyłeś brak ważnego etapu w naszym sześciomiesięcznym przygotowaniu - testów. Celowo nie uwzględniłem tego w roadmapie, gdyż napisanie modułu, testów integracyjnych i akceptacyjnych nie jest łatwe i tradycyjnie spada na barki programistów. Pominięcie etapu „testowania” tłumaczy się tym, że celem tego planu działania jest jak najszybsze opanowanie podstawowych umiejętności i narzędzi. Brak doświadczenia w testowaniu, zdaniem autora, jest jedynie drobną przeszkodą w poprawnym wykorzystaniu DevOps.

Pamiętaj też, że nie uczymy się tutaj całej masy niepowiązanych ze sobą technicznych bełkotów, ale raczej zrozumienia narzędzi, które łączą się, aby stworzyć przejrzystą historię. Ta historia dotyczy kompleksowej automatyzacji procesów — cyfrowej linii montażowej, która przesuwa elementy niczym linia montażowa. Nie chcesz uczyć się wielu narzędzi i ciągle się zatrzymywać! Narzędzia DevOps zmieniają się szybko, ale koncepcje zmieniają się znacznie rzadziej. Dlatego powinieneś starać się używać narzędzi jako zastępczych narzędzi nauczania dla koncepcji wyższego poziomu.

OK, kopmy trochę głębiej!

Podstawowa wiedza

Poniżej najwyższego kroku z napisem Foundation możesz zobaczyć umiejętności, które powinien opanować każdy inżynier DevOps. Umiejętności te to pewność posługiwania się trzema filarami branży, którymi są: system operacyjny, język programowania i chmura publiczna. Tych rzeczy nie można szybko się nauczyć i iść dalej. Umiejętności te należy stale doskonalić i doskonalić, aby znajdować się w czołówce branży i odpowiadać otaczającemu Cię środowisku zawodowemu. Przejrzyjmy je jeden po drugim.

W Linuksie wszystko działa. Czy możesz być niesamowitym praktykiem DevOps, pozostając całkowicie w ekosystemie Microsoft? Oczywiście że możesz! Żadne prawo nie nakazuje używania wyłącznie Linuksa. Należy jednak pamiętać, że pomimo tego, że wszystkie linuksowe rzeczy można zrobić w Windowsie, dzieje się to tam znacznie boleśniej i z mniejszą funkcjonalnością. W tym momencie można bezpiecznie założyć, że bez znajomości Linuksa nie można zostać prawdziwym profesjonalistą DevOps, dlatego Linux jest czymś, czego powinieneś się uczyć i uczyć.

Szczerze mówiąc, najlepszym sposobem na to jest po prostu zainstalowanie Linuksa (Fedora lub Ubuntu) w domu i używanie go tak często, jak to możliwe. Oczywiście wiele rzeczy zepsujesz, utkniesz w procesach pracy, będziesz musiał wszystko naprawić, ale nauczysz się Linuksa!

Jak zostać inżynierem DevOps w sześć miesięcy lub nawet szybciej. Część 1. Wprowadzenie

Nawiasem mówiąc, warianty RedHat są bardziej powszechne w Ameryce Północnej, więc warto zacząć od Fedory lub CentOS. Jeżeli zastanawiasz się czy kupić edycję KDE czy Gnome, wybierz KDE. Tego właśnie używa sam Linus Torvalds.

Python jest obecnie dominującym językiem back-endu. Rozpoczęcie pracy jest łatwe i jest powszechnie stosowane. Python jest bardzo powszechny w dziedzinie sztucznej inteligencji i uczenia maszynowego, więc jeśli kiedykolwiek będziesz chciał przenieść się w inny gorący obszar, będziesz w pełni przygotowany.

Jak zostać inżynierem DevOps w sześć miesięcy lub nawet szybciej. Część 1. Wprowadzenie

Amazon Web Services: Ponownie nie można zostać doświadczonym profesjonalistą DevOps bez solidnego zrozumienia, jak działa chmura publiczna. A jeśli chcesz dowiedzieć się więcej na ten temat, zajrzyj do Amazon Web Services. Jest wiodącym graczem w tej dziedzinie usług i oferuje najbogatszy zestaw narzędzi pracy.

Czy można zamiast tego zacząć od Google Cloud lub Azure? Oczywiście, że możesz! Pamiętając jednak ostatni kryzys finansowy, należy zauważyć, że AWS jest najbezpieczniejszą opcją, przynajmniej w 2018 roku, ponieważ pozwala na bezpłatną rejestrację konta i rozpoczęcie odkrywania możliwości usług chmurowych. Dodatkowo konsola AWS udostępnia użytkownikowi proste i przejrzyste menu do wyboru. Dobra wiadomość jest taka, że ​​nie musisz znać wszystkich technologii Amazon, aby to zrobić.

Jak zostać inżynierem DevOps w sześć miesięcy lub nawet szybciej. Część 1. Wprowadzenie

Zacznij od następujących: VPC, EC2, IAM, S3, CloudWatch, ELB (elastyczne równoważenie obciążenia pod parasolem EC2) i Security Group. Te rzeczy wystarczą na początek, a każde nowoczesne przedsiębiorstwo działające w chmurze korzysta z tych narzędzi dość aktywnie. Dobrym miejscem na rozpoczęcie jest własna witryna szkoleniowa AWS.

Zalecam, abyś codziennie poświęcał 20–30 minut na naukę i ćwiczenia z językiem Python, systemem operacyjnym Linux i usługą w chmurze AWS, oprócz innych rzeczy, których będziesz musiał się nauczyć. Ogólnie rzecz biorąc, uważam, że spędzenie godziny dziennie, pięć razy w tygodniu wystarczy, aby zrozumieć branżę DevOps w 6 miesięcy lub mniej. Łącznie składa się z 6 głównych elementów, z których każdy odpowiada miesiącowi szkolenia. To wszystko, czego potrzebujesz, aby zdobyć podstawową wiedzę.
W kolejnych artykułach przyjrzymy się kolejnemu poziomowi złożoności: jak w pełni zautomatyzować konfigurację, wersjonowanie, pakowanie, wdrażanie, uruchamianie i monitorowanie oprogramowania.

Ciąg dalszy już wkrótce...

Kilka reklam 🙂

Dziękujemy za pobyt z nami. Podobają Ci się nasze artykuły? Chcesz zobaczyć więcej ciekawych treści? Wesprzyj nas składając zamówienie lub polecając znajomym, VPS w chmurze dla programistów od 4.99 USD, unikalny odpowiednik serwerów klasy podstawowej, który został przez nas wymyślony dla Ciebie: Cała prawda o VPS (KVM) E5-2697 v3 (6 rdzeni) 10GB DDR4 480GB SSD 1Gbps od 19$ czyli jak udostępnić serwer? (dostępne z RAID1 i RAID10, do 24 rdzeni i do 40 GB DDR4).

Dell R730xd 2 razy taniej w centrum danych Equinix Tier IV w Amsterdamie? Tylko tutaj 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6 GHz 14C 64 GB DDR4 4x960 GB SSD 1 Gb/s 100 Telewizor od 199 USD w Holandii! Dell R420 — 2x E5-2430 2.2 GHz 6C 128 GB DDR3 2x960 GB SSD 1 Gb/s 100 TB — od 99 USD! Czytać o Jak zbudować firmę infrastrukturalną klasy z wykorzystaniem serwerów Dell R730xd E5-2650 v4 o wartości 9000 euro za grosz?

Źródło: www.habr.com

Dodaj komentarz