Як стати DevOps інженером за півроку чи навіть швидше. Частина 1.

Цільова аудиторія

Ви розробник, який хоче повернути свою кар'єру у бік більш досконалої моделі DevOps? Ви є класичним Ops-інженером і хотіли б отримати уявлення про те, що означає DevOps? Або ви не є ні тим, ні іншим і, витративши деякий час на роботу в галузі ІТ-технологій, хочете поміняти роботу і поняття не маєте, з чого почати?
Якщо так, то читайте далі, щоб дізнатися, як стати інженером DevOps середнього рівня за шість місяців! Нарешті, якщо ви вже багато років займаєтеся DevOps, то все одно зможете отримати багато корисного з цього циклу статей і дізнатися, де знаходиться галузь інтеграції та автоматизації в даний момент і куди вона прагне у своєму розвитку.

Як стати DevOps інженером за півроку чи навіть швидше. Частина 1.

Що це взагалі таке?

По-перше, що таке DevOps? Ви можете погуглити визначення і пробратися через все це словесне лушпиння, але знайте, що більшість з визначень просто мішанина слів, одягнена в обтічну форму. Тому я наведу вам вичавки з усіх цих визначень: DevOps — це такий спосіб постачання програмного забезпечення, при якому головний біль та відповідальність ділиться між усіма причетними. От і все.

Добре, але що ж означає це скорочення? Воно означає, що традиційно розробники Developers (люди, які створюють програмне забезпечення) у своїй роботі керувалися стимулами, які значно відрізнялися від стимулів Operations (операціоністів або людей, які керують програмним забезпеченням). Наприклад, як розробник, я хочу якнайшвидше створити якнайбільше нових функцій. Зрештою це моя робота, і саме цього вимагають клієнти! Однак, якщо я людина Ops, то мені потрібно якнайменше нових функцій, тому що кожна нова функція — це зміна, а будь-яка зміна загрожує неполадками. В результаті такої неузгодженості стимулів і народився DevOps.

DevOps намагається об'єднати розробку та операції (інтеграцію та автоматизацію) в одну групу. Ідея полягає в тому, що тепер одна група розділятиме як біль, так і відповідальність (і, ймовірно, винагороду) за створення, розгортання та отримання доходу від програмного забезпечення, орієнтованого на клієнта.

Пуристи скажуть вам, що немає такої речі, як ”інженер DevOps”. «DevOps — це культура, а не роль”, — скажуть вони вам. Так, інженер DevOps – це щось на кшталт “системного інженера 2.0” Іншими словами, це той, хто розуміє життєвий цикл розробки програмного забезпечення та створює інструменти та процеси розробки програмного забезпечення для вирішення класичних операційних завдань.

Як стати DevOps інженером за півроку чи навіть швидше. Частина 1.

DevOps в кінцевому рахунку означає створення цифрових конвеєрів, які беруть код з ноутбука розробника і перетворюють його на прибуток від використання кінцевого продукту, ось у чому вся справа. Зверніть увагу, що вибір кар'єри DevOps досить високо компенсується фінансовою винагородою, причому майже кожна компанія або “робить DevOps”, або претендує на це. Незалежно від того, де знаходяться ці компанії, загальні можливості працевлаштування як DevOps досить високі і мають на увазі «веселе» та значну зайнятість на довгі роки вперед.

Однак будьте обережні з компаніями, які наймають “команду DevOps” або «відділ DevOps». Строго кажучи, такі речі не повинні існувати, тому що в кінцевому рахунку DevOps - це все ж таки культура і спосіб доставки програмного забезпечення, а не укомплектування нової команди або створення відділу із модною назвою.

Відмова від відповідальності

А тепер давайте на хвилинку відставимо у бік склянку Кул-Ейда і подумаємо про наступне. Ви чули старе прислів'я «молодших інженерів DevOps не буває?». Якщо ні, то знайте, що це популярний шлях на Reddit і StackOverflow. Але що він означає?

Просто ця фраза означає, що потрібно багато років досвіду у поєднанні з твердим розумінням інструментів, щоб зрештою стати справді ефективним практиком Senior 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 edition, виберіть KDE. Це те, що користується сам Лінус Торвальдс.

Python у наші дні є домінуючим бек-енд мовою. З ним легко розпочати роботу, він широко використовується. Python дуже поширений у сфері штучного інтелекту та машинного навчання, тому якщо ви коли-небудь захочете перейти в ще одну гарячу сферу діяльності, то будете повністю до цього готові.

Як стати DevOps інженером за півроку чи навіть швидше. Частина 1.

Amazon Web Services: знову ж таки, неможливо стати досвідченим професіоналом DevOps без твердого розуміння того, як працює публічна хмара. І якщо ви хочете дізнатися про це якнайбільше, вивчіть Amazon Web Services. Це провідний гравець у цій галузі послуг, який пропонує найбагатший набір робочих інструментів.

Чи можна натомість розпочати з Google Cloud або Azure? Звичайно можна! Але пам'ятаючи останню фінансову кризу, слід врахувати, що AWS — це найбезпечніший варіант принаймні в 2018 році, оскільки дозволяє безкоштовно зареєструвати аккаунт і розпочати вивчення можливостей хмарних сервісів. Крім того, AWS console надає користувачеві просте та зрозуміле меню для вибору. Хороша новина полягає в тому, що для цього вам не потрібно знати всі технології Amazon.

Як стати DevOps інженером за півроку чи навіть швидше. Частина 1.

Почніть з наступного: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing під прикриттям EC2) та Security Group. Цих речей достатньо, щоб розпочати роботу, і кожне сучасне, хмарне підприємство досить активно використовує ці інструменти. Власний навчальний сайт AWS – гарне місце для початку роботи.

Я рекомендую вам щодня приділяти 20-30 хвилин вивченню та практиці з мовою Python, операційною системою Linux та хмарним сервісом AWS на додаток до інших речей, які вам доведеться вивчити. В цілому, я вважаю, що витрачати по годині на день п'ять разів на тиждень достатньо, щоб зрозуміти процеси, що відбуваються в галузі DevOps, протягом 6 місяців або навіть менше. Існує загалом 6 основних складових, кожна з яких відповідає місяцю навчання. Це все, що вам знадобиться для отримання базових знань.
У наступних статтях ми розглянемо наступний рівень складності: як повністю автоматизувати налаштування, версію, пакетування, розгортання, запуск та моніторинг програмного забезпечення.

Продовження буде зовсім скоро.

Небагато реклами 🙂

Дякую, що залишаєтеся з нами. Вам подобаються наші статті? Бажаєте бачити більше цікавих матеріалів? Підтримайте нас, оформивши замовлення або порекомендувавши знайомим, хмарні VPS для розробників від $4.99, унікальний аналог entry-level серверів, який був винайдений нами для Вас: Вся правда про VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps від $19 чи як правильно ділити сервер? (Доступні варіанти з RAID1 і RAID10, до 24 ядер і до 40GB DDR4).

Dell R730xd вдвічі дешевше в дата-центрі Equinix Tier IV в Амстердамі? Тільки в нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТБ від $199 у Нідерландах! Dell R420 – 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB – від $99! Читайте про те Як побудувати інфраструктуру корп. класу із застосуванням серверів Dell R730xd Е5-2650 v4 вартістю 9000 євро за копійки?

Джерело: habr.com

Додати коментар або відгук