Змест[Схаваць][Паказаць]
DevOps - гэта спалучэнне філасофій, інструментаў і практык, якія накіраваны на тое, каб дапамагчы арганізацыям хутка пастаўляць прыкладання.
Каманды, якія прымаюць мадэль DevOps, інвестуюць у здольнасць лепш абслугоўваць сваіх кліентаў і рабіць ітэрацыі хутчэй, чым іх канкурэнты.
Мадэль DevOps, як вынікае з назвы, аб'ядноўвае разам каманды распрацоўшчыкаў і эксплуатацыі. Інжынеры DevOps часта працуюць разам на працягу ўсяго жыццёвага цыклу прыкладання.
Гэта азначае, што многія з тых жа людзей займаюцца распрацоўкай, тэставаннем, разгортваннем і абслугоўваннем.
Практыка DevOps заахвочвае лепшую і хуткую дастаўку да канчатковага кліента.
Напрыклад, у каманды можа быць больш хуткі час для выяўлення памылкі, яе вырашэння і разгортвання патча.
Каманда можа выкарыстоўваць DevOps для больш хуткага тэставання новых функцый, пастаянна выпускаючы новыя абнаўленні для кліентаў.
У гэтым артыкуле будзе разгледжана тое, што насамрэч робяць інжынеры DevOps. Затым мы разгледзім неабходныя навыкі для інжынераў DevOps, каб дасягнуць поспеху ў сваіх ролях.
Што робіць інжынер DevOps?
Інжынер DevOps - вельмі патрабавальная роля. Ён павінен мець шырокія веды, якія ахопліваюць як развіццё, так і эксплуатацыю.
Паколькі яны будуць выступаць у якасці моста паміж абедзвюма камандамі, яны таксама павінны быць у стане размаўляць з многімі людзьмі.
Інжынеры DevOps звычайна ўжо маюць досвед працы са звычайным наборам інструментаў распрацоўшчыка. Яны часта дапамагаюць будаваць код прыкладання і падтрымліваць канвеер CI/CD.
У той жа час яны таксама нясуць адказнасць за сістэмнае адміністраванне і кіраванне інфраструктурай.
Гэта ўключае ў сябе разгортванне сервераў і воблачных рэсурсаў, дзе будуць размяшчацца прыкладання. Гэта можа ўключаць або серверы на месцы, або віртуальныя асобнікі, якія прадстаўляюцца воблачнымі тэхналогіямі.
7 лепшых навыкаў для інжынераў DevOps
1. Асновы Linux і скрыпты
Linux - гэта з адкрытым зыходным кодам аперацыйная сістэма, якая сустракаецца на ўсіх тыпах кампутараў. АС папулярная ў распрацоўцы DevOps па многіх прычынах.
Машыны Linux вельмі стабільныя і ім можна давяраць працаваць 24/7 без перазагрузкі. Аперацыйная сістэма значна больш бяспечная ў параўнанні з больш зручнай аперацыйнай сістэмай, такой як Windows.
Веданне таго, як эфектыўна выкарыстоўваць асяроддзе Linux, з'яўляецца важным навыкам для інжынера DevOps. Большасць кампаній выкарыстоўваюць сераду Linux для запуску сваіх буйнамаштабных прыкладанняў.
Паспяховы інжынер павінен ведаць найбольш распаўсюджаныя каманды ў Linux і ўмець ствараць скрыпты абалонкі для паўтаральных або запланаваных задач.
2. Кантэйнеры і кантэйнерная аркестроўка
Кантэйнерізацыя - гэта працэс размяшчэння праграмнага кампанента і яго асяроддзя, залежнасцяў і канфігурацыі ў адзін блок, вядомы як кантэйнер.
Кантэйнеры можна запускаць і наладжваць у любым месцы, што робіць яго выгадным для DevOps. Кантэйнеры лёгкія і іх лёгка перадаваць ад адной каманды да іншай.
Аркестроўка кантэйнераў адносіцца да аўтаматызацыі аперацыйных намаганняў, неабходных для запуску кантэйнерных прыкладанняў і сэрвісаў. Інжынеры DevOps павінны быць знаёмыя з разгортваннем і маштабаваннем кантэйнерных асяроддзяў.
Докер з'яўляецца папулярнай платформай для каманд DevOps, якая можа дапамагчы спакаваць вашу праграму ў кантэйнер для распаўсюджвання.
3. Бесперапынная інтэграцыя і бесперапынная дастаўка
Бесперапынная інтэграцыя (CI) адносіцца да набору метадаў, якія заахвочваюць каманды часта ўносіць невялікія змены. CI факусуюць на аўтаматызацыі стварэння, упакоўкі і тэставання прыкладанняў.
Бесперапынная дастаўка (CD) аўтаматызуе дастаўку прыкладанняў. Гэта можа быць перанос новай фіксацыі ў асяроддзе тэставання або перанос апошняй версіі вашага праграмнага забеспячэння ў вытворчае асяроддзе.
Інжынеры DevOps павінны быць знаёмыя з канвеера CI/CD, таму што ён заахвочвае больш хуткія ітэрацыі і больш частае тэставанне.
Інжынеры могуць выкарыстоўваць кантролю версій разгалінаванне, каб вызначыць, як нядаўна дададзены код інтэгруецца ў асяроддзе тэсціравання і канчатковы прадукт.
4. Сістэмнае адміністраванне
У той час як тыповы сістэмны адміністратар не мае ніякай ролі ў распрацоўцы праграмнага забеспячэння, якое яны дапамагаюць кантраляваць, інжынер DevOps павінен добра разумець бок распрацоўкі.
Інжынеры SysAdmin і DevOps маюць некаторыя агульныя абавязкі.
Інжынеры DevOps таксама павінны ведаць, як наладзіць і кіраваць некалькімі камп'ютэрнымі сістэмамі і серверамі. Агульныя задачы ўключаюць стварэнне ўліковых запісаў карыстальнікаў і кіраванне імі, падтрыманне баз дадзеных і рэагаванне на збоі ў сістэме.
5. Навучанне бяспекі
Бяспека DevOps ўключае ў сябе разуменне таго, як бяспека можа быць убудаваная на ўсіх этапах жыццёвага цыклу DevOps.
Інжынеры павінны ведаць, як правільна працаваць з прывілеямі доступу, ключамі SSH, токенамі API і гэтак далей.
Звычайнае асяроддзе DevOps мае розныя інструменты, якія патрабуюць уласнага сакрэтнага кіравання.
Дасведчаныя інжынеры DevOps кіруюць, кантралююць і аўдытуюць розныя правы доступу прывілеяў. Інжынеры таксама павінны мець на ўвазе магчымыя ўразлівасці як у самой праграме, так і ў розных залежнасцях, на якія яно можа разлічваць.
6. Архітэктура сістэмы і прадастаўленне
Інжынеры DevOps павінны быць у стане праектаваць і кіраваць камп'ютэрнай экасістэмай арганізацыі.
Інжынеры выйграюць ад разумення працэсу інфраструктуры як кода (IaC). IaC сканцэнтраваны на аўтаматызацыі канфігурацыі і кіравання цэнтрамі апрацоўкі дадзеных вашай сеткі.
Воблачныя сэрвісы прапануюць віртуальныя машыны, якія інжынеры могуць выкарыстоўваць для тэставання сваіх прыкладанняў у маштабе на ранняй стадыі.
Гэта можа даць распрацоўшчыкам яснае ўяўленне аб тым, якія тыпы канфігурацый абсталявання неабходныя для запуску прыкладання, калі яно будзе запушчана.
Напрыклад, Дыспетчар рэсурсаў Azure забяспечвае ўзровень кіравання, які дазваляе ствараць, абнаўляць і выдаляць рэсурсы ў воблаку.
7. Зносіны і супрацоўніцтва
Каб філасофія DevOps працавала ў арганізацыі, кожная каманда павінна ахопліваць належныя зносіны і супрацоўніцтва.
DevOps накіраваны на ліквідацыю «сілосаў» распрацоўкі праграмнага забеспячэння, калі розныя каманды засяроджваюцца на аспектах праекта, звязаным з іх роляй. Сілосы прыводзяць да праблем з камунікацыяй, і каманды могуць мець несумяшчальныя мэты для разгляданага праекта.
Інжынер DevOps павінен выкарыстоўваць адкрытую і празрыстую камунікацыю. Рэгулярныя сустрэчы і надзейная база ведаў могуць дапамагчы трымаць кожную каманду на адной старонцы.
Выдатны інжынер DevOps лепш за ўсё працуе, калі супрацоўнічае з іншымі, і гатовы падзяліцца сваімі думкамі і прапановамі з іншымі.
заключэнне
Папулярнасць і попыт на ролі DevOps выраслі. У прыватнасці, інжынерам DevOps патрабуецца шырокі міждысцыплінарны набор навыкаў, што можа здацца страшным.
Нягледзячы на тое, што гэтая роля даволі складаная, кожны, хто мае досвед працы хаця б з адным аспектам DevOps, можа пачаць займацца гэтай жаданай роляй.
Асноўная філасофія DevOps спрыяе развіццю культуры супрацоўніцтва і бесперапыннага навучання.
Пакуль вы праяўляеце запал да вывучэння новых тэхналогій і ўмееце адсочваць абавязкі, якія ахопліваюць некалькі дысцыплін, у вас ёсць усё, што трэба, каб быць добрым інжынерам DevOps.
Пакінуць каментар