Kas nepiecieÅ”ams, lai IT uzÅÄmums 2019. gadÄ bÅ«tu veiksmÄ«gs? Lektori konferencÄs un sanÄksmÄs saka daudz skaļu vÄrdu, kas ne vienmÄr ir saprotami normÄliem cilvÄkiem. CÄ«Åa par izvietoÅ”anas laiku, mikropakalpojumiem, atteikÅ”anos no monolÄ«ta, DevOps transformÄciju un daudz ko citu. Ja mÄs atmetam verbÄlo skaistumu un runÄjam tieÅ”i un krieviski, tad viss nonÄk pie vienkÄrÅ”as tÄzes: izgatavojiet augstas kvalitÄtes produktu un dariet to ar komfortu komandai.
PÄdÄjais ir kļuvis ļoti svarÄ«gs. Bizness beidzot ir nonÄcis pie secinÄjuma, ka Ärts izstrÄdes process palielina produktivitÄti, un, ja viss tiek atkļūdots un darbojas kÄ pulkstenis, tas arÄ« dod zinÄmu manevrÄÅ”anas iespÄju kritiskÄs situÄcijÄs. KÄdreiz Ŕī manevra dÄļ kÄds gudrs cilvÄks izdomÄja rezerves kopijas, bet nozare attÄ«stÄs, un mÄs nonÄcÄm pie DevOps inženieriem - cilvÄkiem, kuri attÄ«stÄ«bas un ÄrÄjÄs infrastruktÅ«ras mijiedarbÄ«bas procesu pÄrvÄrÅ” par kaut ko adekvÄtu un nav saistÄ«ts ar Å”amanismu.
Viss Å”is āmodulÄraisā stÄsts ir brÄ«niŔķīgs, bet... SagadÄ«jÄs tÄ, ka daži no administratoriem pÄkÅ”Åi tika nodÄvÄti par DevOps, un paÅ”iem DevOps inženieriem sÄka prasÄ«t vismaz telepÄtijas un gaiÅ”redzÄ«bas prasmes.
Pirms runÄt par mÅ«sdienu problÄmÄm infrastruktÅ«ras nodroÅ”inÄÅ”anÄ, definÄsim, ko mÄs saprotam ar Å”o terminu. PaÅ”reizÄjÄ brÄ«dÄ« situÄcija ir izveidojusies tÄ, ka esam nonÄkuÅ”i lÄ«dz Ŕī jÄdziena dualitÄtei: infrastruktÅ«ra var bÅ«t nosacÄ«ti ÄrÄja un nosacÄ«ti iekÅ”Äja.
Ar ÄrÄjo infrastruktÅ«ru saprotam visu, kas nodroÅ”ina komandas attÄ«stÄmÄ pakalpojuma vai produkta funkcionalitÄti. Tie ir lietojumprogrammu vai vietÅu serveri, hostings un citi pakalpojumi, kas nodroÅ”ina produkta funkcionalitÄti.
IekÅ”ÄjÄ infrastruktÅ«ra ietver pakalpojumus un aprÄ«kojumu, ko izmanto pati izstrÄdes komanda un citi darbinieki, kuru parasti ir daudz. Tie ir koda glabÄÅ”anas sistÄmu iekÅ”Äjie serveri, lokÄli izvietots uzdevumu pÄrvaldnieks un viss, viss, viss, kas pastÄv uzÅÄmuma iekÅ”tÄ«klÄ.
Ko uzÅÄmumÄ dara sistÄmas administrators? Papildus Ŕī korporatÄ«vÄ iekÅ”tÄ«kla administrÄÅ”anas darbam tas bieži vien ir saistÄ«ts ar ekonomisku apsvÄrumu nastu, lai nodroÅ”inÄtu biroja aprÄ«kojuma darbÄ«bu. Admins ir tas pats puisis, kurÅ” Ätri izvilks no aizmugures istabas jaunu sistÄmas bloku vai rezerves portatÄ«vo datoru, kas ir gatavs lietoÅ”anai, izdos jaunu tastatÅ«ru un ÄetrrÄpus rÄpo pa birojiem, stiepjot Ethernet kabeli. Administrators ir ne tikai iekÅ”Äjo un ÄrÄjo serveru vietÄjais Ä«paÅ”nieks un pÄrvaldÄ«tÄjs, bet arÄ« uzÅÄmuma vadÄ«tÄjs. JÄ, daži administratori var strÄdÄt tikai sistÄmas plaknÄ, bez aparatÅ«ras. Tie ir jÄiedala atseviÅ”Ä·Ä āinfrastruktÅ«ras sistÄmu administratoruā apakÅ”klasÄ. Un daži specializÄjas tikai biroja aprÄ«kojuma apkalpoÅ”anÄ; par laimi, ja uzÅÄmumÄ ir vairÄk nekÄ simts cilvÄku, darbs nekad nebeidzas. Bet neviens no viÅiem nav devops.
Kas ir DevOps? Devops ir puiÅ”i, kuri runÄ par programmatÅ«ras izstrÄdes mijiedarbÄ«bu ar ÄrÄjo infrastruktÅ«ru. PrecÄ«zÄk, mÅ«sdienu devops ir iesaistÄ«ts izstrÄdes un izvietoÅ”anas procesos daudz dziļÄk, nekÄ jebkad bija iesaistÄ«ti administratori, kuri vienkÄrÅ”i augÅ”upielÄdÄja atjauninÄjumus uz ftp. Viens no galvenajiem DevOps inženiera uzdevumiem tagad ir nodroÅ”inÄt Ärtu un efektÄ«vi strukturÄtu mijiedarbÄ«bas procesu starp izstrÄdes komandÄm un produktu infrastruktÅ«ru. TieÅ”i Å”ie cilvÄki ir atbildÄ«gi par atcelÅ”anas un izvietoÅ”anas sistÄmu izvietoÅ”anu; tie ir tie, kas noÅem daļu no izstrÄdÄtÄju slodzes un pÄc iespÄjas vairÄk koncentrÄjas uz savu ÄrkÄrtÄ«gi svarÄ«go uzdevumu. TajÄ paÅ”Ä laikÄ devops nekad nepalaidÄ«s jaunu kabeli vai neizdos jaunu klÄpjdatoru no aizmugures telpas (c) KO
KÄds ir loms?
Uz jautÄjumu "Kas ir DevOps?" puse lauka strÄdnieku sÄk atbildÄt kaut ko lÄ«dzÄ«gu āNu, Ä«si sakot, tas ir administrators, kurÅ” ...ā un tÄlÄk tekstÄ. JÄ, kÄdreiz, kad DevOps inženiera profesija tikko izcÄlÄs no servisa uzturÄÅ”anas ziÅÄ talantÄ«gÄkajiem administratoriem, atŔķirÄ«bas starp viÅiem nebija acÄ«mredzamas visiem. TaÄu tagad, kad devopa un admin funkcijas komandÄ ir kļuvuÅ”as kardinÄli atŔķirÄ«gas, ir nepieÅemami tos sajaukt savÄ starpÄ vai pat pielÄ«dzinÄt.
Bet ko tas nozÄ«mÄ biznesam?
Noma, tas viss ir par to.
JÅ«s atverat vakanci uz āSistÄmas administratoruā, un tajÄ norÄdÄ«tÄs prasÄ«bas ir āmijiedarbÄ«ba ar attÄ«stÄ«bu un klientiemā, āCI/CD piegÄdes sistÄmaā, āuzÅÄmuma serveru un aprÄ«kojuma uzturÄÅ”anaā, āiekÅ”Äjo sistÄmu administrÄÅ”anaā utt. ieslÄgts; tu saproti, ka darba devÄjs runÄ muļķības. ÄÄ·is ir tÄds, ka āSistÄmas administratoraā vietÄ vakances nosaukumam jÄbÅ«t āDevOps Engineerā, un, ja Å”is nosaukums tiek mainÄ«ts, viss nostÄjas savÄs vietÄs.
TomÄr kÄds iespaids rodas, lasot Å”Ädu vakanci? Ka uzÅÄmums meklÄ vairÄku maŔīnu operatoru, kurÅ” izvietos gan versiju kontroles, gan uzraudzÄ«bas sistÄmu un izspiedÄ«s tvisteri ar zobiem...
Bet, lai darba tirgÅ« nepalielinÄtu atkarÄ«bas no narkotikÄm, pietiek nosaukt vakances Ä«stajos vÄrdos un skaidri saprast, ka DevOps inženieris un sistÄmas administrators ir divas dažÄdas vienÄ«bas. TaÄu dažu darba devÄju nepÄrvaramÄ vÄlme izvirzÄ«t kandidÄtam pÄc iespÄjas plaÅ”Äku prasÄ«bu sarakstu noved pie tÄ, ka āklasiskieā sistÄmu administratori pÄrstÄj saprast, kas notiek apkÄrt. Ko, profesija mutÄ un viÅi ir atpalikuÅ”i no laika?
NÄ nÄ un vÄl vienu reizi nÄ. InfrastruktÅ«ras administratori, kas pÄrvaldÄ«s uzÅÄmuma iekÅ”Äjos serverus vai ieÅems L2/L3 atbalsta amatus un palÄ«dzÄs citiem darbiniekiem, nav devuÅ”ies prom un netaisÄs aiziet.
Vai Å”ie speciÄlisti var kļūt par DevOps inženieriem? Protams, viÅi var. Faktiski Ŕī ir saistÄ«ta vide, kas prasa sistÄmas administrÄÅ”anas prasmes, bet papildus tam tiek pievienots darbs ar monitoringa, piegÄdes sistÄmÄm un kopumÄ cieÅ”a mijiedarbÄ«ba ar izstrÄdes un testÄÅ”anas komandu.
VÄl viena DevOps problÄma
PatiesÄ«bÄ viss neaprobežojas tikai ar pieÅemÅ”anu darbÄ un pastÄvÄ«gu sajukumu starp administratoriem un devops. KÄdÄ brÄ«dÄ« uzÅÄmums saskÄrÄs ar problÄmu, kas saistÄ«ta ar atjauninÄjumu piegÄdi un izstrÄdes komandas mijiedarbÄ«bu ar galÄ«go infrastruktÅ«ru.
VarbÅ«t tas notika, kad onkulis ar mirdzoÅ”Äm acÄ«m piecÄlÄs uz kÄdas konferences skatuves un teica: āMÄs to darÄm un saucam par DevOps. Å ie puiÅ”i atrisinÄs visas jÅ«su problÄmasā - un sÄka stÄstÄ«t, cik laba ir dzÄ«ve uzÅÄmumÄ pÄc DevOps prakses ievieÅ”anas.
TomÄr nepietiek ar DevOps inženiera nolÄ«gÅ”anu, lai viss darbotos tÄ, kÄ vajadzÄtu. UzÅÄmumam ir jÄveic pilnÄ«ga DevOps transformÄcija, tas ir, mÅ«su DevOps loma un iespÄjas ir skaidri jÄsaprot arÄ« produktu izstrÄdes un testÄÅ”anas komandas pusÄ. Mums ir "brÄ«niŔķīgs" stÄsts par Å”o tÄmu, kas pilnÄ«bÄ ilustrÄ visu brutalitÄti, kas notiek dažviet.
SituÄcija. DevOps ir jÄizvieto versijas atcelÅ”anas sistÄma, Ä«sti neiedziļinoties tajÄ, kÄ tÄ darbosies. PieÅemsim, ka LietotÄju sistÄmÄ ir atseviŔķi lauki vÄrdam, uzvÄrdam un parolei. IznÄk jauna produkta versija, taÄu izstrÄdÄtÄjiem āatgrieÅ”anaā ir tikai burvju nÅ«jiÅa, kas visu izlabos, un viÅi pat nezina, kÄ tas darbojas. TÄ, piemÄram, nÄkamajÄ ielÄpÄ izstrÄdÄtÄji apvienoja vÄrda un uzvÄrda laukus, izrullÄja to ražoÅ”anÄ, taÄu versija nez kÄpÄc ir lÄna. Kas notiek? VadÄ«ba ierodas devops un saka āPavelciet slÄdzi!ā, tas ir, lÅ«dz viÅam atgriezties pie iepriekÅ”ÄjÄs versijas. Ko dara devops? Tas atgriežas pie iepriekÅ”ÄjÄs versijas, taÄu, tÄ kÄ izstrÄdÄtÄji nevÄlÄjÄs noskaidrot, kÄ Å”Ä« atcelÅ”ana tika veikta, neviens neteica devops komandai, ka arÄ« datu bÄze ir jÄatgriež. RezultÄtÄ mums viss sabrÅ«k un lÄnas mÄjas lapas vietÄ lietotÄji redz ā500ā kļūdu, jo vecÄ versija nestrÄdÄ ar jaunÄs datu bÄzes laukiem. Devops par to nezina. IzstrÄdÄtÄji klusÄ. VadÄ«ba sÄk zaudÄt nervus un naudu un atceras dublÄjumus, piedÄvÄjot atkÄpties no tiem, lai "vismaz kaut kas izdotos". TÄ rezultÄtÄ lietotÄji noteiktÄ laika periodÄ zaudÄ visus savus datus.
Rieksti, protams, iet uz devops, kas "neizveidoja pareizu atcelÅ”anas sistÄmu", un nevienu neinteresÄ, ka Å”ajÄ stÄstÄ redzamie aļÅi ir izstrÄdÄtÄji.
SecinÄjums ir vienkÄrÅ”s: bez normÄlas pieejas DevOps kÄ tÄdai tas ir maz lietderÄ«gi.
Galvenais, kas jÄatceras: DevOps inženieris nav burvis, un bez kvalitatÄ«vas komunikÄcijas un divvirzienu mijiedarbÄ«bas ar attÄ«stÄ«bu viÅÅ” netiks galÄ ar saviem uzdevumiem. IzstrÄdÄtÄjus nevar atstÄt vienus ar savÄm āproblÄmÄmā vai dot komandu ānejaukties ar izstrÄdÄtÄjiem, viÅu uzdevums ir kodÄtā, un tad cerÄt, ka kritiskÄ brÄ«dÄ« viss darbosies kÄ nÄkas. Tas nedarbojas tÄ.
BÅ«tÄ«bÄ DevOps ir kompetence uz robežas starp pÄrvaldÄ«bu un tehnoloÄ£iju. TurklÄt nebÅ«t nav acÄ«mredzams, ka Å”ajÄ kokteilÄ« vajadzÄtu bÅ«t vairÄk tehnoloÄ£ijai nekÄ vadÄ«bai. Ja patieÅ”Äm vÄlaties izveidot ÄtrÄkus un efektÄ«vÄkus izstrÄdes procesus, jums jÄuzticas savai devops komandai. ViÅÅ” zina pareizos rÄ«kus, viÅÅ” ir Ä«stenojis lÄ«dzÄ«gus projektus, viÅÅ” zina, kÄ to izdarÄ«t. PalÄ«dziet viÅam, klausieties viÅa padomu, nemÄÄ£iniet viÅu izolÄt kaut kÄdÄ autonomÄ vienÄ«bÄ. Ja administratori var strÄdÄt paÅ”i, tad devops Å”ajÄ gadÄ«jumÄ ir bezjÄdzÄ«gs; viÅi nevarÄs jums palÄ«dzÄt kļūt labÄkam, ja jÅ«s pats nevÄlaties pieÅemt Å”o palÄ«dzÄ«bu.
Un pÄdÄjÄ lieta: beidziet aizvainot infrastruktÅ«ras administratorus. ViÅiem ir sava, ÄrkÄrtÄ«gi svarÄ«ga darba fronte. JÄ, administrators var kļūt par DevOps inženieri, taÄu tam ir jÄnotiek pÄc paÅ”a cilvÄka lÅ«guma, nevis zem spiediena. Un nav nekas slikts, ka sistÄmas administrators vÄlas palikt sistÄmas administrators - tÄ ir viÅa atseviÅ”Ä·Ä profesija un viÅa tiesÄ«bas. Ja vÄlies veikt profesionÄlu transformÄciju, tad nekad nedrÄ«kst aizmirst, ka bÅ«s jÄveido ne tikai tehnoloÄ£iskÄs, bet arÄ« vadÄ«bas prasmes. VisticamÄk, tas bÅ«s jÅ«su kÄ vadÄ«tÄja ziÅÄ, lai visus Å”os cilvÄkus apvienotu un iemÄcÄ«tu viÅiem sazinÄties vienÄ valodÄ.
Avots: www.habr.com