Как да станеш 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. Но какво означава това?

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

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

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

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

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

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

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

Честно казано, основният слой е нещо, което ще трябва да изучавате безкрайно. Linux OS е много сложна и усвояването ѝ отнема години. 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 в наши дни е доминиращият бекенд език. Лесно е да започнете работа с него, той е широко използван. 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 (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 ядра) 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 100TB от $199 в Нидерландия! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Четете за това Как да изградим инфраструктура от корпоративен клас с прилагане на сървъри Dell R730xd Е5-2650 v4 на стойност 9000 евро за копейки?

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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster