Як стаць 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 у 2 разы танней у дата-цэнтры 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! Чытайце аб тым Як пабудаваць інфраструктуру корп. класа c ужываннем сервераў Dell R730xd Е5-2650 v4 коштам 9000 еўра за капейкі?

Крыніца: habr.com

Дадаць каментар