
Viimastel aegadel on sellised kuulutused internetti tunginud. Kuigi palk on ahvatlev, ei saa jĂ€tta tĂ€helepanuta, et sisu on tĂ€ielik mööda. Alustuseks eeldatakse, et "DevOps" ja "insener" on mingil moel vĂ”imalik kokku sulandada, seejĂ€rel jĂ€rgneb juhuslik nĂ”udmiste nimekiri, millest osa on selgelt kopeeritud sĂŒsteemiadministraatori töökuulutusest.
Selles postituses tahaksime rÀÀkida, kuidas me oleme jĂ”udnud sellesse olukorda, mida tegelikult DevOps tĂ€hendab ja mida selle kĂ”igega nĂŒĂŒd peale hakata.
Selliseid töökuulutusi vĂ”ib igati kritiseerida, kuid tĂ”de jÀÀb tĂ”eks: neid on palju ja turg on hetkel selline. Me korraldasime DevOps konverentsi ja kuulutasime avatult: " â mitte DevOps-inseneridele". Paljudele tundub see kummaline ja jabur: miks inimesed, kes korraldavad tĂ€iesti kommertslikku ĂŒritust, lĂ€hevad turu vastu. Hetkel selgitame kĂ”ike.
Kultuurist ja protsessidest
Alustame sellest, et DevOps ei ole inseneriteema. KÔik sai alguse sellest, et ajalooliselt vÀlja kujunenud rollide jagamine ei paranda toote kvaliteeti. Kui programmeerijad teevad vaid programmeerimist, kuid ei hooli testimisest, on tarkvara tÀis vigu. Kui administraatoritele ei ole oluline, kuidas ja miks tarkvara on kirjutatud, muutub tugi tÔeliseks vÀljakutseks.
NĂ€iteks sĂŒsteemiadministraatori ja SRE lĂ€henemise erinevuse kirjeldamine teenuse haldamiseks. Huvitavaid uuringuid on lĂ€bi viidud -st on nĂ€ha, et parimad arendajad suudavad kuidagi uusi muudatusi tootmisse muita kiiremini kui kord tunnis. Samuti testivad nad kĂ€sitsi mitte rohkem kui 10% (see on nĂ€htav ). Kuidas nad selle saavutavad? "Excel or die" - ĂŒtleb ĂŒks aruande pealkirju. SĂŒvaanalĂŒĂŒsi jaoks selle statistika testimise osas soovitan pöörduda Baruch Sadogursky pealause poole teisel meie konverentsil, Heisenbug.
"Kui kaaslaste vahel ei ole ĂŒhte meelt,
ei viib seda asja paika,
ja sellest ei tule midagi, vaid ainult vaev."
Kunagi oli Luik, VĂ€hk ja SiigâŠ
Kuidas arvate, kui suur hulk veebiarendajatest tĂ”eliselt mĂ”istab, millistes tingimustes nende rakendused tootmises töötavad? Kui palju neist lĂ€heb sĂŒsteemiadministraatorite juurde ja proovib mĂ”ista, mis juhtub andmebaasi kokkuvarisemise korral? Ja kes lĂ€heb testijate juurde ja palub Ă”petada, kuidas korralikult teste kirjutada? Ning seal on veel turvaeksperdid, tootejuhid ja palju teisi inimesi.
DevOpsi peamine idee on luua koostöö erinevate rollide ja osakondade vahel. Esiteks saavutatakse see mitte millegi keerulise tarkvaraga, vaid suhtlemise praktikaga. DevOps on kultuur, praktika, metoodika ja protsessid. Sellist inseneri eriala ei eksisteeri, mis nendele kĂŒsimustele vastaks.
SulgurtsĂŒkkel
Kust tuli siis distsipliin nimega "devops-inseneriteadus"? Meil on selle kohta hĂŒpotees! DevOpsi ideed osutusid tĂ”eliselt heaks â sedavĂ”rd heaks, et nad said oma edu ohvriks. KĂ”ikide nende teemade ĂŒmber said kokku mĂŒĂŒvad vĂ€rbajad ja inimesed, kellel on vĂ€ga eriline Ă”hkkond.
Kujutage ette: eile olite Himmkas shawarma valmistamas ja tĂ€na olete juba suur inimene, vanem vĂ€rbaja. Siin on terve kandidaatide otsingu ja valiku protsess, kĂ”ik ei ole lihtne, seda tuleb mĂ”ista. Oletame, et osakonnajuhataja ĂŒtleb: leia spetsialist X. Lisame X-le sĂ”na "insener" ja asi on liikumas. Kas vajalik on Linux? Siis on see kindlalt Linuxi insener, kui soovid DevOps'i â DevOps insener. Töökuulutus ei koosne ĂŒksnes pealkirjast, vaid sinna tuleb kirjutada ka mingi tekst. Lihtsaim on kirjutada Googlest leitud vĂ”tmesĂ”nade rida, kes palju suudab fantaasiasse panustada. DevOps koosneb kahest sĂ”nast â "Dev" ja "Ops", seega tuleb kokku panna vĂ”tmesĂ”nad, mis puudutavad arendajaid ja administraatoreid, kĂ”ik ĂŒhte hunnikusse. Nii tekivad töökuulutused, mis rÀÀgivad 42 programmeerimiskeele valdamisest ja 20 aastat Kubernetes'i ja Swarmi samaaegsest kasutamisest. Tööprotsess.
Nii on inimestes juurdunud mĂ”ttetu ja halastamatu kuvand mingist superkangelasest "devopsist", kes seadistab kĂ”igile deploy'd Jenkinsis ja Ă”nne tuleb. Ah, kui kĂ”ik oleks nii lihtne. "Ja veel, nii saab jahtida sĂŒsteemi administraatoreid," mĂ”tleb HR, "moesĂ”na, vĂ”tmesĂ”nad on samad, peaksid sööma minema."
NĂ”udlus tekitab pakkumise, ja kĂ”ikide nende jaburite töökuulutuste peale tĂ”ttas hullumeelne hulk sĂŒsteemiadministraatoreid, kes taipasid: saab teha kĂ”ike nagu varem, aga teenida mitu korda rohkem, nimetades end "devopsideks". Kuidas sa seadistasid servereid lĂ€bi SSH kĂ€sitsi ĂŒkshaaval, teed sa seda edasi, aga nĂŒĂŒd on see justkui devopsi praktika. See on keeruline nĂ€htus, mis on osaliselt seotud klassikaliste adminnide alahindamisega ja DevOpsi ĂŒmber toimuva hype'iga, aga kokkuvĂ”ttes â mis on, see on.
Nii et meil on nÔudlus ja pakkumine. Suletud ring, mis toidab ennast ise. Just selle vastu me vÔitleme (sealhulgas korraldades DevOops konverentsi).
Ilmselgelt ei ole ainukesed sĂŒsteemiadministraatorid, kes on end "devopsideks" ĂŒmber nimetanud, ka teisi osalisi â nĂ€iteks professionaalsed SRE-d vĂ”i Infrastructure-as-Code arendajad.
Millega inimesed DevOpsis (tÔeliselt) tegelevad
Nii et soovite edeneda DevOpsi praktikate Ôppimisel ja rakendamisel. Aga kuidas seda teha, millisesse suunda vaadata? Ilmne on, et pimesi jÀrgida populaarseid mÀrksÔnu ei tasu.
Kui tööd on, peab keegi sellega tegelema. Oleme juba vÀlja selgitanud, et need ei ole "DevOps-insenerid", siis kes? Tundub, et Ôigem on seda formuleerida mitte ametite, vaid konkreetsete töövaldkondade kaudu.
Esiteks vĂ”ib tegeleda DevOpsi sĂŒdamiku â protsesside ja kultuuriga. Kultuur on aeglane ja keeruline teema, ja kuigi see on traditsiooniliselt juhtide vastutusalas, osalevad selles kĂ”ik, alates programmeerijatest kuni administraatoriteni. Paar kuud tagasi ĂŒtles Tim Lister :
«Kultuur mÀÀratleb organisatsiooni pĂ”hivÀÀrtused. Inimesed ei pruugi seda tavaliselt mĂ€rgata, kuid meie, olles kogenud konsultandid, oleme selle mĂ€rkamisega harjunud. Sa lĂ€hed ettevĂ”ttesse ja juba mĂ”ne minuti pĂ€rast hakkad sa tunnetama, mis toimub. Me nimetame seda âlĂ”hnaksâ. Vahel on see lĂ”hn tĂ”eliselt meeldiv. Vahel aga tekitab see iiveldust. (âŠ) Sa ei saa kultuuri muuta, enne kui ei ole teadlik vÀÀrtustest ja uskumustest, mis konkreetseid tegusid juhivad. KĂ€itumist on lihtne jĂ€lgida, aga uskumusi on keeruline leida. DevOps on just hea nĂ€ide sellest, kuidas kĂ”ik muutub jĂ€rjest keerulisemaks.»
On the technical side, of course, there is an issue. If your new code comes for testing after a month, but the release only happens a year later, and it's physically impossible to speed this up â you might never reach good practices. Good practices are supported by good tools. For instance, with the concept of Infrastructure-as-Code in mind, you can use anything from AWS CloudFormation and Terraform to Chef-Ansible-Puppet. You need to know and be able to use all of this, and that is already a proper engineering discipline. Itâs important not to confuse cause and effect: first, you work according to SRE principles, and only then implement these principles in the form of specific technical solutions. Moreover, SRE is a very complex methodology that doesnât just focus on configuring Jenkins but revolves around five key principles:
- Improving interaction between roles and departments
- Accepting mistakes as an integral part of work
- Gradual implementation of changes
- Utilizing tooling and other automation
- Measuring everything that can be measured
This is not just a set of statements but a concrete . NÀiteks vigade tegemise teel tuleb mÔista riske, mÔÔta teenuste kÀttesaadavust ja kÀttesaamatust millegagi nagu SLI () ja SLO (), Ôppida kirjutama postmortem'i ja teha nii, et nende kirjutamine ei oleks hirmutav.
SRE distsipliinis on tööriistade kasutamine ainult ĂŒks osa edust, kuigi see on oluline. Me peame pidevalt tehniliselt arenema, jĂ€lgima, mis maailmas toimub ja kuidas seda oma töös rakendada.
Oma korda on Cloud Native lahendused muutunud vĂ€ga populaarseks. Vastavalt Cloud Native Computing Foundationi tĂ€napĂ€evasele arusaamale vĂ”imaldavad Cloud Native tehnoloogiad organisatsioonidel arendada ja kĂ€ivitada skaleeritavaid rakendusi kaasaegsetes dĂŒnaamilistes keskkondades, nagu avalikud, privaatsed ja hĂŒbriidpilved. NĂ€iteks vĂ”ivad tuua konteinerid, teenuste vĂ”rgu, mikroteenused, muutumatud infrastruktuurid ja deklaratiivsed API-d. KĂ”ik need tehnikad vĂ”imaldavad nĂ”rkade seostega sĂŒsteemide jÀÀda elastseks, hallatavaks ja hĂ€sti jĂ€lgitavaks. Hea automatiseerimine vĂ”imaldab inseneridel teha suuri muudatusi tihti ja ettearvatavate tulemustega, muutes selle mitte jĂ€rjest raskemaks tööks. KĂ”ike seda toetab hulk tuntud tööriistu, nagu Docker ja Kubernetes.
See, et on ĂŒsna keeruline ja laialivalguv mÀÀratlus, kuna valdkond on samuti keeruline. Ăhest kĂŒljest vĂ€idetakse, et sellele sĂŒsteemile uusi muudatusi peaks olema lihtne lisada. Teiselt poolt, et mĂ”ista, kuidas luua teatud konteineriseeritud keskkond, kus nĂ”rgalt seotud teenused elavad tarkvaradefinieritud infrastruktuuris ja toimetatakse sinna pideva CI/CD abil, ning ehitada kogu selle ĂŒmber DevOps praktikaid â selleks tuleb tĂ”eliselt palju kogemusi omada.
Mida kÔigega sellel teha
IgaĂŒhel on oma viis nende probleemide lahendamiseks: nĂ€iteks vĂ”ib avaldada korralikke tööpakkumisi, et murda kinni jÀÀnud ring. VĂ”ib vĂ€lja selgitada, mida tĂ€hendavad sellised sĂ”nad nagu DevOps ja Cloud Native ning kasutada neid Ă”igesti ja sihipĂ€raselt. VĂ”ib areneda DevOpsis ja oma nĂ€itega nĂ€idata Ă”igeid lĂ€henemisviise.
Meie korraldame konverentsi , mis pakub vĂ”imalust sĂŒgavamalt mĂ”ista neid teemasid, millest just rÀÀkisime. Selleks on loodud mitu ettekannete gruppi:
- Protsessid ja kultuur;
- Site Reliability Engineering;
- Cloud Native;
Kuidas valida, kuhu minna? Siin on Ă”rn nĂŒanss. Ăhelt poolt on DevOps suhtlemine, ja me soovime, et te lĂ€heksite ettekannetele erinevatesse plokkidesse. Teiselt poolt, kui olete arenduse juht, kes tuli konverentsile, et keskenduda ĂŒhele konkreetsele ĂŒlesandele, siis ei piirata teid â ilmselt valite protsesside ja kultuuri ploki. Ărge unustage, et pĂ€rast konverentsi jÀÀvad teile salvestised (pĂ€rast tagasiside vormi tĂ€itmist), seega saate alati hiljem vaadata vĂ€hem olulisi ettekandeid.
Ilmselgelt ei saa te konverentsil korraga osaleda kolmes sessioonis, seetÔttu oleme programmi koostanud nii, et igas ajavahemikus on teemad igale maitsele.
JÀÀnud on vaid mÔista, mida teha, kui olete DevOps-insener! Esiteks proovige kindlaks teha, millega te tegelikult tegelete. Tavaliselt kasutatakse selle sÔna all jÀrgmist:
- Arendajad, kes tegelevad infrastruktuuriga. Teie jaoks sobivad kÔige rohkem ettekannete grupid, mis kÀsitlevad SRE-d ja Cloud Native'i.
- SĂŒsteemiadministraatorite jaoks on asi keerulisem. DevOops ei ole sĂŒsteemiadministreerimise konverents. Ănneks on sĂŒsteemiadministreerimise teemal palju suurepĂ€raseid konverentse, raamatuid, artikleid, videoid ja muud sarnast. Teisest kĂŒljest, kui soovite arendada oma arusaama kultuurist ja protsessidest, Ă”ppida pilvetehnoloogiaid ning Cloud Native'i elu ĂŒksikasju, siis me tervitame teid! MĂ”elge sellele: te tegelete haldamisega, aga mis edasi? Et Ă€kitselt ebamugavas olukorras mitte olla, tasub juba praegu Ă”ppida.
On veel ĂŒks vĂ”imalus: te jÀÀte kindlaks ja jĂ€tkate vĂ€itmist, et olete just DevOps-insener ja mitte kuidagi teisiti, mis iganes see ka tĂ€hendaks. Siis sunnime teid pettuma, DevOops ei ole konverents DevOps-inseneridele!

Slide Munchenis
DevOops 2020 Moskvas toimub 29.-30. aprillil Moskvas, piletid on juba .
Lisaks vĂ”ite kuni 8. veebruarini. Pange tĂ€hele, et vormi tĂ€itmisel peate valima sihtrĂŒhma, kellele teie ettekande toob kĂ”ige rohkem kasu (nimekirja sees on peidus ĂŒllatus).
Allikas: habr.com
