Как да станете DevOps инженер за шест месеца или дори по-бързо. Част 1. Въведение

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

Вие сте разработчик, който иска да насочи кариерата си към по-напреднал модел DevOps? Вие сте класически Ops инженер и бихте искали да получите представа какво означава DevOps? Или не сте нито едното, нито другото и след като сте прекарали известно време в ИТ, искате да смените кариерата си и нямате представа откъде да започнете?
Ако да, тогава прочетете, за да разберете как можете да станете DevOps инженер на средно ниво за шест месеца! И накрая, ако сте участвали в DevOps от много години, все пак ще извлечете много от тази поредица от статии, за да научите къде е индустрията за интеграция и автоматизация в момента и накъде се движи.

Как да станете DevOps инженер за шест месеца или дори по-бързо. Част 1. Въведение

Какво е това все пак?

Първо, какво е DevOps? Можете да потърсите дефиниции в Google и да се промъкнете през цялото словоблудие, но знайте, че повечето от дефинициите са просто смесица от думи, обвити в рационализирана форма. Затова ще ви дам обобщение на всички тези определения: DevOps е метод за доставяне на софтуер, при който главоболието и отговорността се споделят между всички участващи. Това е всичко.

Добре, но какво означава това съкращение? Това означава, че традиционно разработчиците (хората, които създават софтуер) са били мотивирани да вършат работата си чрез стимули, които са значително различни от тези на операциите (хората, които управляват софтуера). Например, като разработчик искам да създам колкото се може повече нови функции възможно най-бързо. Все пак това е моята работа и това изискват клиентите! Въпреки това, ако съм човек на Ops, тогава имам нужда от възможно най-малко нови функции, защото всяка нова функция е промяна и всяка промяна е изпълнена с проблеми. В резултат на това разминаване на стимулите се ражда DevOps.

DevOps се опитва да комбинира разработката и операциите (интеграция и автоматизация) в една група. Идеята е, че една група сега ще споделя както болката, така и отговорността (и вероятно наградите) от изграждането, внедряването и генерирането на приходи от софтуер, ориентиран към клиента.

Пуристите ще ви кажат, че няма такова нещо като „DevOps инженер". „DevOps е култура, а не роля", ще ви кажат. Разбира се, от техническа гледна точка те са прави, но, както е често пъти терминът е излязъл от контрол Отвъд първоначалното си значение, DevOps инженер е нещо като „системен инженер 2.0.“ С други думи, той е човек, който разбира жизнения цикъл на разработка на софтуер и създава инструменти и процеси за разработка на софтуер за решаване на класически оперативни проблеми.

Как да станете DevOps инженер за шест месеца или дори по-бързо. Част 1. Въведение

DevOps в крайна сметка означава създаване на цифрови тръбопроводи, които вземат код от лаптопа на разработчика и го превръщат в приходи от използването на крайния продукт, това е всичко. Имайте предвид, че изборът на кариера в DevOps е доста високо компенсиран от финансови награди, като почти всяка компания или „прави DevOps“, или твърди, че е такава. Независимо къде се намират тези компании, общите възможности за работа като DevOps са доста високи и предлагат „забавна“ и смислена работа за много години напред.

Въпреки това внимавайте с компаниите, които наемат „екип DevOps“ или „отдел DevOps". Строго погледнато, такива неща не трябва да съществуват, защото в крайна сметка DevOps все още е култура и начин за доставяне на софтуер, а не набиране на нов екип или създаване на отдел с красиво име.

опровержение

Сега нека оставим чашата Kool-Aid настрана за момент и да помислим за следното. Чували ли сте старата поговорка „няма младши DevOps инженери?“ Ако не, тогава знайте, че това е популярен троп в Reddit и StackOverflow. Но какво означава?

Просто казано, тази фраза означава, че са необходими много години опит, съчетани със солидно разбиране на инструментите, за да станете в крайна сметка наистина ефективен старши DevOps практик. И, за съжаление, няма пряк път към постигането на целта. Така че това не е опит да се изиграе системата - не мисля, че всъщност е възможно да се преструвате на старши DevOps инженер с няколко месеца опит в индустрията. Постигането на солидно разбиране на бързо променящите се инструменти и методологии изисква години опит и няма как да го заобиколите. Въпреки това, има почти последователно (модерно, ако искате) меню от инструменти и концепции, които повечето компании използват, и това е, за което ще говорим.

Отново инструментите са различни от уменията, така че докато изучавате инструментите, уверете се, че не пренебрегвате уменията си (проучване, работа в мрежа, писмена комуникация, отстраняване на проблеми и т.н.). Най-важното е да не изпускаме от поглед това, което искаме да намерим – начин да създадем напълно автоматизиран цифров тръбопровод, който приема идеи и ги превръща в генериращи приходи части от код. Това е най-важното заключение от цялата тази статия!

Стига бърборене, кога мога да започна?

По-долу е пътната карта на основните знания на DevOps. След като усвоите всичко, което е изобразено там, можете спокойно и честно да се наречете DevOps инженер! Или облачен инженер, ако не харесвате името „DevOps“.

Как да станете DevOps инженер за шест месеца или дори по-бързо. Част 1. Въведение

Тази карта представя моята (и вероятно повечето хора, работещи в това пространство) представа за това какво трябва да знае един компетентен DevOps инженер. Това обаче е само мнение и разбира се ще има хора, които не са съгласни с него. Това е добре! Тук не се стремим към съвършенство, ние се стремим към солидна основа, върху която всъщност можем да градим.

Трябва да преминете през този път постепенно, слой по слой. Нека започнем (и продължим!) с основите, като първо научим за елементите в синьо — Linux, Python и AWS. След това, ако времето или търсенето на пазара на труда позволява, направете лилавите неща - Golang и Google Cloud.

Честно казано, основният горен слой е нещо, което ще трябва да изучавате завинаги. OS Linux е много сложна и отнема години за овладяване. Python изисква постоянна практика, за да бъде актуален. AWS се развива толкова бързо, че това, което знаете днес, ще бъде само част от цялостното ви портфолио от знания след една година. След като научите основите, преминете към действителния набор от умения. Моля, имайте предвид, че има общо 6 сини колони (Конфигурация, Версия, Опаковка, Внедряване, Стартиране, Мониторинг), по една за месец на обучение.

Как да станете DevOps инженер за шест месеца или дори по-бързо. Част 1. Въведение

Вие, разбира се, забелязахте липсата на важен етап от нашия шестмесечен процес - тестването. Умишлено не го включих в пътната карта, защото писането на модул, интеграционни и приемни тестове не е лесно и традиционно пада върху плещите на разработчиците. А пропускането на етапа на „тестване“ се обяснява с факта, че целта на тази пътна карта е да овладеете основните умения и инструменти възможно най-бързо. Липсата на опит в тестването, според автора, е само малка пречка за правилното използване на DevOps.

Освен това не забравяйте, че тук не научаваме цял куп несвързани технически бръщолевения, а по-скоро разбиране на инструментите, които се събират, за да създадат ясна история. Тази история е за автоматизация на процеса от край до край - цифрова поточна линия, която движи битове като поточна линия. Не искате да научите куп инструменти и да спирате! Инструментите на DevOps се променят бързо, но концепциите се променят много по-рядко. Следователно трябва да се стремите да използвате инструменти като преподавателски заместители за концепции от по-високо ниво.

Добре, нека да копаем малко по-дълбоко!

Фундаментални знания

Под горната стъпка, която казва Foundation, можете да видите уменията, които всеки DevOps инженер трябва да овладее. Тези умения са уверено боравене с трите стълба на индустрията, които са: операционната система, езикът за програмиране и публичният облак. Тези неща не са нещо, което можете бързо да научите и да продължите напред. Тези умения трябва непрекъснато да се подобряват и усвояват, за да сте в челните редици на индустрията и да отговаряте на професионалната среда около вас. Нека да ги прегледаме един по един.

Linux е мястото, където всичко работи. Можете ли да бъдете невероятен DevOps практик, като същевременно оставате изцяло в екосистемата на Microsoft? Разбира се, че можеш! Няма закон, който да диктува да използвате само Linux. Имайте предвид обаче, че въпреки факта, че всички Linux неща могат да се правят в Windows, там това се случва много по-болезнено и с по-малко функционалност. На този етап е безопасно да се предположи, че без да познавате Linux е невъзможно да станете истински DevOps професионалист, така че Linux е нещо, което трябва да изучавате и да научите.

Честно казано, най-добрият начин да направите това е просто да инсталирате Linux (Fedora или Ubuntu) у дома и да го използвате колкото е възможно повече. Разбира се, че ще счупите много неща, ще зациклите в работните процеси, ще трябва да оправяте всичко, но ще научите Linux!

Как да станете DevOps инженер за шест месеца или дори по-бързо. Част 1. Въведение

Между другото, вариантите на RedHat са по-често срещани в Северна Америка, така че има смисъл да започнете с Fedora или CentOS. Ако се чудите дали да закупите KDE или Gnome издание, изберете KDE. Това използва и самият Линус Торвалдс.

Python е доминиращият back-end език в наши дни. Лесно е да започнете и се използва широко. Python е много разпространен в областта на изкуствения интелект и машинното обучение, така че ако някога искате да се преместите в друга гореща област, ще бъдете напълно подготвени.

Как да станете DevOps инженер за шест месеца или дори по-бързо. Част 1. Въведение

Amazon Web Services: Отново, невъзможно е да станете опитен DevOps професионалист без солидно разбиране за това как работи публичният облак. И ако искате да научите повече за това, разгледайте Amazon Web Services. Той е водещ играч в тази сфера на услуги и предлага най-богатия набор от инструменти за работа.

Възможно ли е вместо това да започнете с Google Cloud или Azure? Разбира се можете да! Но спомняйки си последната финансова криза, трябва да се отбележи, че AWS е най-сигурният вариант, поне през 2018 г., тъй като ви позволява да регистрирате акаунт безплатно и да започнете да проучвате възможностите на облачните услуги. Освен това AWS конзолата предоставя на потребителя просто и ясно меню за избор. Добрата новина е, че не е нужно да познавате всички технологии на Amazon, за да направите това.

Как да станете DevOps инженер за шест месеца или дори по-бързо. Част 1. Въведение

Започнете със следното: VPC, EC2, IAM, S3, CloudWatch, ELB (Еластично балансиране на натоварването под чадъра EC2) и група за сигурност. Тези неща са достатъчни, за да започнете и всяко модерно, облачно базирано предприятие използва тези инструменти доста активно. Собственият сайт за обучение на AWS е добро място да започнете.

Препоръчвам ви да прекарвате 20-30 минути всеки ден в изучаване и практикуване с езика Python, операционната система Linux и облачната услуга AWS в допълнение към другите неща, които ще трябва да научите. Като цяло вярвам, че прекарването на един час на ден, пет пъти седмично е достатъчно, за да разберете DevOps индустрията за 6 месеца или по-малко. Има общо 6 основни компонента, всеки от които отговаря на един месец обучение. Това е всичко, от което се нуждаете, за да получите основни знания.
В следващите статии ще разгледаме следващото ниво на сложност: как да автоматизираме напълно конфигурацията, версиите, пакетирането, внедряването, изпълнението и наблюдението на софтуера.

Продължение съвсем скоро...

Малко реклами 🙂

Благодарим ви, че останахте с нас. Харесвате ли нашите статии? Искате ли да видите още интересно съдържание? Подкрепете ни, като направите поръчка или препоръчате на приятели, облачен VPS за разработчици от $4.99, уникален аналог на сървъри от начално ниво, който беше изобретен от нас за вас: Цялата истина за VPS (KVM) E5-2697 v3 (6 ядра) 10GB DDR4 480GB SSD 1Gbps от $19 или как да споделите сървър? (предлага се с RAID1 и RAID10, до 24 ядра и до 40GB DDR4).

Dell R730xd 2 пъти по-евтин в центъра за данни Equinix Tier IV в Амстердам? Само тук 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV от $199 в Холандия! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - от $99! Прочети за Как да изградим инфраструктура Corp. клас с използване на сървъри Dell R730xd E5-2650 v4 на стойност 9000 евро за стотинка?

Източник: www.habr.com

Добавяне на нов коментар