
Viimaseid aegu on sellised kuulutused tĂ€itnud internetti. Kuigi palk vĂ”ib olla meeldiv, ei saa eirata, et jagatud kirjutises on tĂ€ielik vale. Alguses eeldatakse, et âDevOpsâ ja âinsenerâ saab mingil moel kokku liita ĂŒheks sĂ”naks, siis jĂ€rgnevad suvaline nimekiri nĂ”udmistest, millest osa on selgelt kopeeritud sĂŒsteemiadministraatori töökohast.
Selles postituses tahaksime rÀÀkida, kuidas me sellesse olukorda jĂ”udsime, mis DevOps tegelikult on ja mida nĂŒĂŒd sellega teha.
Selliseid tööpakkumisi vĂ”ib kindlasti kriitika alla vĂ”tta, kuid pĂ”hjused on selged: neid on palju ja selline on hetke turg. Me korraldasime devops-konverentsi ja ĂŒtleme avameelselt: " â ei ole DevOps-inseneridele". Paljudele tundub see kummaline ja veider: miks inimesed, kes korraldavad tĂ€iesti Ă€rilist ĂŒritust, on turu vastu. Praegu seletame kĂ”ik vĂ€lja.
Kultuurist ja protsessidest
Alustame sellest, et DevOps ei ole inseneriteadus. KĂ”ik algas sellest, et ajalooliselt kujunenud rollide jaotamine ei tööta tootete kvaliteedi nimel. Kui programmeerijad programmeerivad, kuid ei soovi kuulda testimisest â tarkvara on tĂ€is vigu. Kui administraatorid ei hooli, kuidas ja miks tarkvara on kirjutatud â tugi muutub Ă”uduseks.
NĂ€iteks kirjeldatakse erinevust sĂŒsteemiadministraatori ja SRE lĂ€henemise vahel teenuse haldamisel Huvitavad uuringud viidi lĂ€bi â on selge, et parimad arendajad suudavad kuidagi uusi muudatusi tootmisse panna kiiremini kui kord tunnis. Nad testivad aga kĂ€sitsi mitte rohkem kui 10% (see on nĂ€ha) Kuidas nad selle saavutavad? "Excel or die" â ĂŒtleb ĂŒks aruande pealkirjadest. Ăksikasjalikumate arutelude saamiseks selle statistika kohta testimise kontekstis vĂ”id pöörduda Baruch Sadogursky kĂ”ne poole meie teisel konverentsil, Heisenbug.
"Kui sÔprade seas pole kokkulepet,
Siis ei Ônnestu koostööl,
Ja ei tule sellest muud kui vaev.
Kord Luulet, Kraan ja Siig..."
Mida arvate, kui suur osa veebiprogrammeerijatest mĂ”istab tegelikult, millistes tingimustes nende rakendused tootmises töötavad? Kui palju neist lĂ€heb administraatorite juurde ja pĂŒĂŒab vĂ€lja selgitada, mis juhtub andmebaasi kokkuvarisemisel? Ja kes neist lĂ€heks teste tegema ja paluks Ă”petada, kuidas Ă”igesti teste kirjutada? Seal on veel turvamehi, tootejuhte ja palju teisi inimesi.
DevOpsi peamine idee on tagada sujuv koostöö rollide ja osakondade vahel. Esiteks saavutatakse see mitte mingite keerukate tarkvaralahendustega, vaid suhtlemise praktikaga. DevOps on kultuur, praktika, metodoloogia ja protsessid. Ei ole sellist insenerierialat, mis vastaks nendele kĂŒsimustele.
Sulgur ring
Kust aga tekkis distsipliin nimega âdevops-inseneriaâ? Meil on teooria! DevOpsi ideed osutusid nii heaks, et nad muutusid oma edu ohvriks. Ămber selle teema hakkasid kogunema kahtlased vĂ€rbajad ja inimkaubitsejad, kellel on oma ainulaadne Ă”hkkond.
Kujutage ette: eile tegite Himmis shawarmaât, aga tĂ€na olete juba suur inimene, vanem vĂ€rbaja. Siin on terve kandidaatide otsimise ja valimise protsess, kĂ”ik ei ole lihtne, tuleb aru saada. Oletame, et osakonna juht ĂŒtleb: leia spetsialist X jaoks. Lisame X-ile sĂ”na âinsenerâ ja asi on klaar. Kas on vajalik Linux? No see on kindel Linux-insener, soovite DevOpsâi â DevOps-insener. Töökuulutus ei koosne mitte ainult pealkirjast, vaid sees peab olema ka mingit teksti. Lihtsaim on kirjutada Googleâist leitud mĂ€rksĂ”nade kogum,et kellelgi piisab fantaasiast. DevOps koosneb kahest sĂ”nast â âDevâ ja âOpsâ, seega tuleb kokku kleebida arendajate ja administratoride suhtes seotud mĂ€rksĂ”nad, kĂ”ik ĂŒhte kuhja. Nii tekivad töökuulutused, mis nĂ”uavad 42 programmeerimiskeele valdamist ja 20 aastat Kubernetesâi ja Swarmâi samaaegset kasutamist. Töökorraldus.
Nii on inimeste teadvuses juurdunud mĂ”ttetu ja halastamatu superkangelaste âdevopsâiâ kuvand, kes seadistab kĂ”igile Jenkinsis deployâi ja Ă”nn tuleb. Oh, kui kĂ”ik oleks nii lihtne. "Ja veel vĂ”ib sellega sĂŒsteemiadministreerijate peal jahipidada," mĂ”tleb HR, "moodne sĂ”na, mĂ€rksĂ”nad on samad, peaksid kindlasti klikkima."
KĂŒsimus loob pakkumise ja kĂ”ikidele nende nĂ”medatele tööpakkumistele on tunginud meeletu arv sĂŒsteemiadministraatoreid, kes on aru saanud: neid samu asju saab teha sama hĂ€sti nagu varem, aga nĂŒĂŒd saab teenida mitu korda rohkem, nimetades ennast 'devops' nende considerat ning see "devopsi praktika". Nii nagu sa seadistad servere SSH kaudu kĂ€sitsi ĂŒkshaaval, nii jĂ€tkad sa seda tegemist, ainult et nĂŒĂŒd on see nĂ€iliselt devopsi harjutamine. See on keeruline nĂ€htus, mis on osaliselt seotud klassikaliste adminnide alahindamise ja DevOpsi hĂŒpete ringiga, kuid kokkuvĂ”ttes on see, mis see on.
Nii et meil on nÔudlus ja pakkumine. Isolatsioon, mis toidab iseennast. Sellega meie tegeleme (sh luues DevOops konverentsi).
Muidugi, lisaks sĂŒsteemiadminnidele, kes on nimetatud 'devopsiks', on ka teisi osalisi â nĂ€iteks professionaalsed SRE-d vĂ”i Infrastructure-as-Code arendajad.
Mida inimesed DevOpsis tÔeliselt teevad
Nii et soovid sĂŒveneda DevOpsi praktikatena. Kuidas seda teha, kuhu suunda vaadata? Ilmselt ei tasu pime pidada kinni populaarsetest mĂ€rksĂ”nadest.
Kui töö on olemas, peab keegi sellega tegelema. Oleme juba vÀlja selgitanud, et need ei ole 'devopsinsenerid', siis kes? Tundub, et Ôigem on seda formuleerida mitte ametikohtade terminoloogia, vaid konkreetsete tööalaste suundade kaudu.
Esiteks, vĂ”ib tegeleda DevOpsi sĂŒdamega â protsesside ja kultuuriga. Kultuur on aeglane ja keeruline asi, ja kuigi see on traditsiooniliselt juhtide vastutus, osaleb selles kĂ”ik, alates programmeerijatest kuni adminnideni. MĂ”ni kuu tagasi ĂŒtles Tim Lister :
"Kultuur on mÀÀratud organisatsiooni pĂ”hivÀÀrtustega. Tavaline on, et inimesed ei pane sellele tĂ€hele, kuid me, olles töötanud konsultatsioonis juba aastaid, oleme harjunud sellele tĂ€helepanu pöörama. Sa astud ettevĂ”ttesse ja juba mĂ”ne minuti pĂ€rast hakkad tundma, mis toimub. Me nimetame seda 'lĂ”hnaks'. MĂ”nikord on see lĂ”hn tĂ”eliselt hea. MĂ”nikord tekitab see iiveldust. (...) Sa ei saa kultuuri muuta enne, kui on selgitatud vĂ€lja vÀÀrtused ja uskumused, mis seisavad konkreetsed tegevused. KĂ€itumist on lihtne jĂ€lgida, aga uskumiste otsimine on keeruline. DevOps on just suurepĂ€rane nĂ€ide sellest, kuidas kĂ”ik muutub ĂŒha keerulisemaks."
On the technical side of things, of course, there's a question. If your new code arrives for testing in a month, but it only gets released a year later, and physically speeding this up is impossible, then you might not even reach good practices. Good practices are supported by good tools. For example, by holding the concept of Infrastructure-as-Code in mind, one can use anything from AWS CloudFormation and Terraform to Chef-Ansible-Puppet. It is essential to know and be able to use all of this, and that is already a genuine engineering discipline. It's vital not to confuse cause and effect: first, you work according to SRE principles, and only then do you implement these principles in the form of specific technical solutions. Moreover, SRE is a very comprehensive methodology, which doesn't just tell you how to configure Jenkins, but rather about five main 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 . For example, on the path to accepting mistakes, one will need to address risks, measure service availability and unavailability using something like SLI () and SLO (), learn to write postmortems, and ensure that writing them isn't intimidating.
In the SRE discipline, the use of tools is just one part of success, though undoubtedly an important one. We need to continually develop technically, keeping an eye on global happenings and how we can apply them in our work.
Omakorda on nĂŒĂŒdseks saanud vĂ€ga populaarseks Cloud Native lahendused. Vastavalt tĂ€napĂ€evasele arusaamale Cloud Native Computing Foundationist vĂ”imaldavad Cloud Native tehnoloogiad organisatsioonidel arendada ja kĂ€ivitada skaleeritavaid rakendusi tĂ€napĂ€eva dĂŒnaamilistes keskkondades, nagu avalikud, era- ja hĂŒbriidpilved. NĂ€iteks vĂ”ib tuua konteinerid, teenuste vĂ”rgud, mikroteenused, muutumatud infrastruktuurid ja deklaratiivsed API-d. KĂ”ik need tehnikad vĂ”imaldavad nĂ”rgalt seotud sĂŒsteemide jÀÀda elastseteks, hallatavateks ja hĂ€sti jĂ€lgitavateks. Hea automatiseerimine vĂ”imaldab inseneridel teha suuri muudatusi sageli ja ettearvatavate tulemustega, mitte muutes seda pĂ”rguliseks tööks. KĂ”ike seda toetab tuntud tööriistade komplekt, nagu Docker ja Kubernetes.
See on ĂŒsna keeruline ja keeruline mÀÀratlus, mis on seotud sellega, et valdkond on samuti keeruline. Ăhelt poolt vĂ€idetakse, et uued muudatused peaksid selle sĂŒsteemi lisanduma suhteliselt lihtsalt. Teiselt poolt, et mĂ”ista, kuidas luua konteineriseeritud keskkond, kus nĂ”rgalt seotud teenused elavad tarkvaraga mÀÀratletud infrastruktuuris ja viiakse sinna sisse pideva CI/CD abil, ning ehitada kogu selle ĂŒmber DevOps-praktikad â selleks peab olema oma kogemus.
Mida kÔigega nende probleemidega teha
IgaĂŒhel on oma lĂ€henemine nende probleemide lahendamiseks: nĂ€iteks vĂ”iks avaldada korralikke tööpakkumisi, et katkestada suletud ring. Saame aru, mida tĂ€hendavad sellised sĂ”nad nagu DevOps ja Cloud Native, ning kasutada neid Ă”igesti ja asjakohaselt. Saame arendada end DevOpsis ja oma nĂ€itega demonstreerida Ă”igeid lĂ€henemisi.
Me korraldame konverentsi , mis annab vĂ”imaluse sĂŒvitsi minna teemadesse, millest me just rÀÀkisime. Selleks on mitu esitluste rĂŒhma:
- Protsessid ja kultuur;
- Site Reliability Engineering;
- Cloud Native;
Kuidas valida, kuhu minna? Siin on peen nĂŒanss. Ăhest kĂŒljest on DevOps seotud suhtlemisega ja me vĂ€ga loodame, et osalete ettekannetes erinevatest plokkidest. Teisest kĂŒljest, kui olete arenduse juht, kes tuli konverentsile, et keskenduda ĂŒhele konkreetselt ĂŒlesandele, ei piira teid keegi â selgelt on see plokk, mis kĂ€sitleb protsesse ja kultuuri. Ărge unustage, et konverentsi jĂ€rel jÀÀvad teile salvestused (pĂ€rast tagasisidevormi tĂ€itmist), seega saate alati hiljem vaadata vĂ€hem olulisi ettekandeid.
On selge, et konverentsil ei saa te korraga osaleda kolmes rajatises, seega koostame programmi nii, et igas ajavahemikus oleks teemasid igale maitsele.
JÀÀnud on vaid mÔista, mida teha, kui olete DevOps-insener! Esiteks proovige vÀlja selgitada, millega te tegelikult tegelete. Tavaliselt kasutatakse selle sÔna all:
- Arendajaid, kes tegelevad infrastruktuuriga. Teie jaoks sobivad kÔige rohkem ettekannete grupid, mis kÀsitlevad SRE-d ja Cloud Native'i.
- SĂŒsteemiadministraatoreid. Siin on keerulisem. DevOps ei ole ĂŒldse sĂŒsteemiadministreerimisest. Ănneks on sĂŒsteemiadministreerimise teemal palju suurepĂ€raseid konverentse, raamatuid, artikleid, videosid internetis jne. Teiselt poolt, kui teil on huvi kultuuri ja protsesside mĂ”istmise, pilvetehnoloogiate uurimise ja Cloud Nativeâiga elamise ĂŒksikasjade poole, siis oleks meil hea meel teid nĂ€ha! MĂ”elge sellele: te teete haldust, aga mis siis edasi? Et mitte ootamatult ebamugavasse olukorda sattuda, tuleks juba nĂŒĂŒd Ă”ppida.
Oleme veel ĂŒks vĂ”imalus: pĂŒsige ja jĂ€tkake vĂ€itmises, et olete just DevOps-insener ja mitte kuidagi teisiti, ĂŒkskĂ”ik, mida see ka ei tĂ€hendaks. Siis pean teid kurvastama, DevOps ei ole konverents DevOps-inseneride jaoks!

Slaidist MĂŒnchenis
DevOops 2020 Moskvas toimub 29.-30. aprillil Moskvas, lipud on juba saadaval .
Lisaks saate kuni 8. veebruarini. Pidage meeles, et vormi tĂ€itmisel peate valima sihtrĂŒhma, kellele teie ettekandest kĂ”ige rohkem kasu on (see ĂŒllatus on loendi sees peidus).
Allikas: habr.com
