Praegu on see tĂ”enĂ€oliselt turu kĂ”ige kallim positsioon. MĂŒra DevOps inseneride ĂŒmber ĂŒletab kĂ”ik kujuteldavad piirid, ning olukord on veelgi halvem Senior DevOps inseneride osas.
Ma töötan integratsiooni ja automatiseerimise osakonna juhina, arvake Ă€ra ingliskeelne lĂŒhend â DevOps Manager. Kas ingliskeelne lĂŒhend peegeldab meie igapĂ€evaseid ĂŒlesandeid â ei, aga vene variant on antud juhul tĂ€psem. Minu töö iseloomust tulenevalt pean ma loomulikult intervjueerima tulevasi tiimiliikmeid, ja möödunud aasta jooksul on minu kaudu kĂ€inud umbes 50 inimest, lisaks on sama palju kĂ”rvaldatud minu töötajate esialgsetest intervjuudest.
Meie oleme endiselt kolleegide otsingul, kuna DevOps sildiga peitub vĂ€ga suur hulk erinevat tĂŒĂŒpi insenere.
KÔik, mis allpool on kirjutatud, on minu isiklik arvamus, te ei pea sellega nÔustuma, kuid usun, et see vÔib teie suhtumist teemasse mÔjutada. VÔttes arvesse riski jÀÀda halba valgusesse, avaldan oma arvamuse, kuna usun, et sellel on oma koht.
EttevĂ”tted mĂ”istavad erinevalt, kes on DevOps insenerid ja kiire vĂ€rbamise nimel riputavad nad selle sildi igasugustele inimestele. Olemuselt on olukord ĂŒsna kummaline, kuna ettevĂ”tted on valmis maksma neile uskumatuid hĂŒvesid, saades enamasti selle eest administraator-tööriista.
Kellele siis tegelikult kuuluvad DevOps insenerid?
Alustame ajaloost â Development Operations tekkis veel ĂŒhe sammuna, et optimeerida koostööd vĂ€ikestes meeskondades tootmisprotsessi kiirusel, mis oli oodatud tagajĂ€rg. Idee oli selles, et arendustiim saaks tugevdada oma teadmisi tootehalduse protseduuridest ja lĂ€henemistest. TeisisĂ”nu, arendaja peab mĂ”istma, kuidas tema toode erinevates tingimustes töötab, olema teadlik selle toote kasutuselevĂ”tust ja teadma, milliseid keskkonna omadusi kohandada, et parandada jĂ”udlust. Nii tekkis mingi aja pĂ€rast DevOps lĂ€henemisega arendajaid. DevOps arendajad kirjutasid kogumise ja pakendamise skripte, et lihtsustada oma tegevust ja tootlikku keskkonda. Siiski, lahenduste arhitektuuri keerukus ja infrastruktuurikomponentide vastastikune mĂ”ju hakkasid aja jooksul halvendama keskkondade tööjĂ”udlust; iga iteratsioon nĂ”udis ĂŒha sĂŒgavamaid teadmisi erinevatest komponentidest, vĂ€hendades arendaja tootlikkust, kuna tekkisid lisakulud komponentide mĂ”istmiseks ja sĂŒsteemide sĂ€timiseks konkreetse ĂŒlesande jaoks. Arendaja enda hind tĂ”usis, toote hind koos sellega; uutele arendajatele meeskonnas esitati ÀÀrmiselt kĂ”rgeid nĂ”udmisi, sest neil tuli ka katta
Osaliselt vĂ”i tĂ€ielikult, aja jooksul hakkasid need sĂŒsteemiadministraatorid aru saama selle konkreetse arendusteami vajadustest, et lihtsustada arendajate ja testijate elu, kuidas rakendada vĂ€rskendusi ning mitte jÀÀda reedeti ööbima kontorisse, parandades juurutusvigu. Aeg möödus, nĂŒĂŒd said sĂŒsteemiadministraatoritest 'staarsed tegijad', kes mĂ”istsid, mida arendajad tahavad. HĂ€irete minimeerimise eesmĂ€rgil hakati kasutama haldustooted, meenutati kĂ”iki vanu ja usaldusvÀÀrseid OS-taseme isolatsioonimeetodeid, mis vĂ”imaldasid minimeerida turvalisuse, vĂ”rguhalduse nĂ”udeid ning ka hosti konfiguratsiooni, mis omakorda vĂ€hendas uute âstaarideâ nĂ”udeid.
Ilmus 'suurepĂ€rane' asi â docker. Miks on see suurepĂ€rane? Ainult sellepĂ€rast, et isolatsiooni loomine chroot'is vĂ”i jail'is, samuti OpenVZ nĂ”udis tĂ”siseid OS- teadmisi, samas kui tööriist vĂ”imaldas lihtsalt luua rakenduste isoleeritud keskuse mingis hostis koos kĂ”ikide vajalike elementidega ning anda juhtimise arendusele tagasi, andes sĂŒsteemiadministraatorile vĂ”imaluse hallata vaid ĂŒhte hosti, tagades selle turvalisuse ja kĂ”rge kĂ€ttesaadavuse â loogiline lihtsustamine. Kuid teadus ei seisa ja sĂŒsteemid muutuvad jĂ€rjest keerulisemaks, komponente on ĂŒha rohkem ja rohkem, ĂŒks host enam ei rahulda sĂŒsteemi vajadusi ja klastreid tuleb ehitada, naaseme jĂ€lle sĂŒsteemiadministraatorite juurde, kes suudavad neid sĂŒsteeme ĂŒles ehitada.
TsĂŒklist tsĂŒklisse ilmnevad erinevad sĂŒsteemid, mis lihtsustavad arendust ja/vĂ”i haldust, ilmuvad orkestreerimissĂŒsteemid, mis on sama kaua, kui ei pea standardprotsessist kĂ”rvale kalduma, lihtsad kasutada. Mikroteenuste arhitektuur ilmnes samuti eesmĂ€rgiga lihtsustada kĂ”ike ĂŒlaltoodut â vĂ€hem vastastikuseid seoseid, lihtsam haldamine. Oma kogemuses ei ole ma tĂ€ielikult nĂ€inud mikroteenuste arhitektuuri, ĂŒtleksin 50-50 â 50% mikroteenuseid, mustad kastid, mis saadeti sisse, vĂ€ljund töötlemine, teised 50% â rebestatud monoliit, teenused, mis ei suuda töötada eraldi teistest komponentidest. KĂ”ik see pani taas piiranguid nii arendajate kui ka administraatorite teadmiste tasemele.
Sarnased "kiiged" teatud ressursi ekspertteadmise tasemel kestavad tÀnaseni. Kuid oleme veidi kÔrvale kaldunud, on veel palju asju, mida tasub kÀsitleda.
Ehitusinsener / VĂ€ljalaskeinsener
ĂĂ€rmiselt kitsas spetsialiseerumine, mis tekkis tarkvaraarenduse ja selle vĂ€ljalaskmise protsesside standardiseerimise vahendina. Agile'i laialdase sisseviimise tĂ”ttu nĂ€is, et neist on saanud vĂ€hem nĂ”utud, kuid see on kaugel tĂ”est. See spetsialiseerumine tekkis just tarkvaraarenduse ja tarne standardiseerimise vahendina tööstuslikus mastaabis, s.t. kasutades kĂ”igi ettevĂ”tte toodete jaoks standardpĂ€raseid tehnikaid. DevOps'i tekkimisega kaotasid arendajad osaliselt oma ĂŒlesandeid, kuna just nemad hakkasid tootetarnet ette valmistama. Muutuvate infrastruktuuri ja lĂ€henemisviisi tĂ”ttu maksimaalselt kiirele tarnimisele, ilma kvaliteedi peale mĂ”tlemata, muundusid nad ajaga justkui muudatuste piduriteks, kuna kvaliteedistandardite jĂ€rgimine aeglustab paratamatult tarnet. Nii on jĂ€rk-jĂ€rgult osa Build / Release inseneride funktsioonidest langenud sĂŒsteemsete administraatorite Ă”lgadele.
Opsâid on nii erinevad
Liigume edasi ja taas, suur hulk kohustusi ja kvalifitseeritud töötajate puudus sunnib meid ranged spetsialiseerumised vÀlja töötama nagu seened pÀrast vihma, ilmuvad erinevad Operations:
- TechOps â sĂŒsteemsed administraatorid ehk HelpDesk insenerid
- LiveOps â sĂŒsteemsed administraatorid, kes vastutavad peamiselt tootmisĂ€lade eest
- CloudOps â sĂŒsteemsed administraatorid, kes on spetsialiseerunud avalikele pilvedele, nagu Azure, AWS, GCP jne.
- PlatOps / InfraOps / SysOps â infrastruktuuri sĂŒsteemsed administraatorid.
- NetOps â vĂ”rguadministraatorid
- SecOps â sĂŒsteemsed administraatorid, kes on spetsialiseerunud infotehnoloogia turvalisusele â PCI vastavus, CIS vastavus, plaastrid jne.
DevOps â is a person who understands the entire development cycle processes in theory â development, testing, understands product architecture, able to assess security risks, familiar with automation approaches and tools, at least at a high level, and also understands pre- and post-release product support. This person can act as an advocate for both Operations and Development, enabling favorable collaboration between these two pillars. They comprehend the processes of work planning by teams and management of client expectations.
To perform such work and duties, this person must have the means to manage not only the processes of development and testing but also the management of product infrastructure and resource planning. In this understanding, a DevOps cannot be in IT, R&D, or even PMO; they must have influence in all these areas â a company's technical director, Chief Technical Officer.
Is this the case in your company? â I doubt it. In most cases, it is either IT or R&D.
The lack of means and the ability to influence at least one of these three areas of activity will shift the weight of issues towards where these changes can be applied more easily, such as imposing technical constraints on releases due to 'dirty' code according to static analysis systems. That is, when PMO sets a strict deadline for delivering functionality, R&D cannot provide a quality outcome within that timeframe and delivers what it can, leaving refactoring for later, while DevOps related to IT technically blocks the release. The lack of authority to change the situation, in the case of responsible employees, leads to hyper-responsibility for what they cannot influence, especially if these employees understand and see mistakes and how to fix them â 'Happiness is ignorance,' and consequently leads to burnout and loss of these employees.
DevOps resources market
Let's take a look at several DevOps job openings from different companies.
We are ready to meet with you if you:
- Are proficient in Zabbix and know what Prometheus is;
- Iptables;
- BASH enthusiast;
- Ansible professor;
- Linux guru;
- Kas oskate kasutada debugimise tööriistu ja koos arendajatega tuvastada rakenduseprobleeme (php/java/python);
- Routimine ei tekita teile paanikat;
- Pöörate mĂ€rkimisvÀÀrset tĂ€helepanu sĂŒsteemi turvalisusele;
- Teete varukoopiaid "kÔigest ja kÔigist" ning taastate edukalt "kÔike ja kÔiki";
- Osate sĂŒsteemi seadistada nii, et maksimeerida minimaalset;
- Seate enne magamaminekut replikatsioonid Postgresi ja MySQL-i jaoks;
- CI/CD seadistamine ja kohandamine on teie jaoks hÀdavajalik nagu hommikusöök/lÔunasöök/Ôhtusöök.
- Omate kogemusi AWS-iga;
- Olete valmis koos ettevÔttega arenema;
Nii:
- alates 1 kuni 6 â sĂŒsteemiadministraator
- 7 â veidi vĂ”rguhaldust, mis sobib samuti kesktaseme sysadmini profiili
- 8 â veidi turvalisust, mis on olemasoleva kesktaseme sysadmini jaoks hĂ€davajalik
- 9-11 â Kesktaseme sĂŒsteemiadministraator
- 12 â SĂ”ltuvalt seatud ĂŒlesannetest kas kesktaseme sĂŒsteemiadministraator vĂ”i Build Engineer
- 13 â virtualiseerimine â kesktaseme sĂŒsteemiadministraator vĂ”i nn CloudOps, sĂŒvendatud teadmised just konkreetsete teenuste kohta hostimine platvormi jaoks, et efektiivselt kasutada rahalisi vahendeid ja vĂ€hendada hoolduskulu
KokkuvĂ”ttes vĂ”ib selle tööpakkumise kohta öelda, et noortele piisab kesktaseme/seniori sĂŒsteemiadministraatori kogemustest.
Muide, ei ole mĂ”tet liiga rangelt jagada administreerijaid Linuxi/Windowsi pĂ”hjal. Ma mĂ”istan, et nende kahe maailma teenused ja sĂŒsteemid on erinevad, kuid alused on siiski ĂŒhed ja iga endaga arvestav administraator on tuttav mĂ”lemaga, ja isegi kui ta pole tuttav, siis ei tohiks arvestava administraatori jaoks olla raske selle teadmise omandamine.
Vaatame teist tööpakkumist:
- Kogemus kĂ”rge koormusega sĂŒsteemide ehitamisel;
- SuurepĂ€rased teadmised Linuxi operatsioonisĂŒsteemist, sĂŒsteemitarkvarast ja veebitehnoloogiast (Nginx, PHP/Python, HAProxy, MySQL/PostgreSQL, Memcached, Redis, RabbitMQ, ELK);
- Kogemus virtualiseerimissĂŒsteemidega (KVM, VMWare, LXC/Docker);
- Keskendumine skriptimiskeelte valdamisele;
- Arusaam vÔrguprotokollide tööpÔhimÔtetest;
- Arusaam talitlushĂ€iretega sĂŒsteemide rajamise pĂ”himĂ”tetest;
- Iseseisvus ja algatusvÔime;
Arvutame lÀbi:
- 1 â vanem sĂŒsteemiadministraator
- 2 â SĂ”ltuvalt sellest, mida selle stack-i mĂ”ttes silmas peetakse â kesktaseme/seniori sĂŒsteemiadministraator
- 3 â Kogemus, sealhulgas, vĂ”ib tĂ€hendada â "Klastri ĂŒlesseadmata, kuid virtuaalmasinate loomine ja haldamine, ĂŒks Docker host, juurdepÀÀs konteineritele natakas" â kesktaseme sĂŒsteemiadministraator
- 4 â Noorem sĂŒsteemiadministraator â jah, administraator, kes ei oska kirjutada elementaarseid automatiseerimise skripte, olenemata keelest, ei ole administraator â tehniline spetsialist.
- 5 â Keskmine sĂŒsteemiadministraator
- 6 â Vanem sĂŒsteemiadministraator
KokkuvĂ”ttes â Keskmine/Vanem sĂŒsteemiadministraator
Veel ĂŒks:
- DevOps-i kogemus;
- Kogemus ĂŒhe vĂ”i mitme toote kasutamisel CI/CD protsesside loomisel. Gitlab CI on eelis;
- Töö konteinerite ja virtualiseerimisega; Kui olete kasutanud dockerit â hea, aga kui k8s â suurepĂ€rane!
- Kogemus agile-meeskonnas;
- Tundmine mistahes programmeerimiskeelt;
Vaadakem:
- 1 â Hmm⊠Mida poisid silmas peavad? =) TĂ”enĂ€oliselt ei tea nad isegi, mis selle taga peitub
- 2 â Ehitusinsener
- 3 â Keskmine sĂŒsteemiadministraator
- 4 â Pehmed oskused, neid ei arutada praegu, kuigi Agile on veel ĂŒks asi, mida tĂ”lgendatakse nii, nagu on mugav.
- 5 â Liialt ebamugav â see vĂ”ib olla skriptikeel vĂ”i kompileeritud keel. Huvitav, kas Pascal ja Basic, millega koolis kirjutati, sobivad neile? =)
Sooviksin teha mĂ€rkuse seoses 3. punktiga, et tugevdada arusaamist, miks seda punkti katab sĂŒsteemiadministraator. Kubernetes on lihtsalt orkestreerimine, tööriist, mis pakub abstraktset suhtlust vĂ”rgudraiverite ja virtualiseerimise/isolatsiooni hostidega, ĂŒhendades otsekĂ€sklusi paariks kĂ€suks, ja see on kĂ”ik. NĂ€iteks vĂ”etagu 'ehituse raamistik' Make, mida ma, muide, raamistikuks ei pea. Jah, ma tean moest pookida Make igale poole, kus seda vajalik ja mittetĂ€ielik â nĂ€iteks, kuidas muuta Maven Make'iks, tĂ”siselt?
Sisuliselt on Make lihtsalt shelli kÀsuvorm, mis lihtsustab kompilatsioonikÀske, linkimist, kompilatsiooni keskkonda, tÀpselt nagu k8s.
Kunagi vestlesin poisiga, kes kasutas k8s oma töös OpenStacki peal, ja ta rÀÀkis, kuidas ta teenuseid seal juurutab, kuid kui kĂŒsimus selle kohta, kuidas OpenStacki haldada, tuli, selgus, et seda haldavad sĂŒsteemiadministraatorid. Kas te tĂ”esti arvate, et inimene, kes kĂ€ivitas OpenStacki, olenemata sellest, millist platvormi ta taga kasutab, ei suuda kasutada k8s-i? =)
Tegelikult ei ole see kandidaat DevOps, vaid sama sĂŒsteemiadministraator ja, et olla tĂ€psem, Kubernetes Administraator.
KokkuvĂ”ttes â Keskmine/Vanem sĂŒsteemiadministraator on piisav.
Kui palju kaaluda grammides
Pakutud palgavahemik antud ametikohtade jaoks â 90k-200k
NĂŒĂŒd sooviksin tuua paralleeli sĂŒsteemi administraatorite ja DevOps inseneride rahaliste preemiate vahel.
PÔhimÔtteliselt vÔib kogemustepÔhised astmed jaotada, kuigi see ei ole tÀpne, artikkel on piisav selleks.
Kogemus:
- kuni 3 aastat â Junior
- kuni 6 aastat â Middle
- ĂŒle 6 aasta â Senior
Töötajate otsimise veebisait pakub:
SĂŒsteemi administraatorid:
- Junior â 2 aastat â 50k rub.
- Middle â 5 aastat â 70k rub.
- Senior â 11 aastat â 100k rub.
DevOps insenerid:
- Junior â 2 aastat â 100k rub.
- Middle â 3 aastat â 160k rub.
- Senior â 6 aastat â 220k rub.
DevOps'i kogemust arvestati igasuguse SDLC-ga seotud ajaga.
Ălaltoodust jĂ€reldub, et tegelikult ei vaja ettevĂ”tted DevOps'e, ning nad oleksid vĂ”inud sÀÀsta vĂ€hemalt 50 protsenti algselt planeeritud kuludest, palgates hoopis administraatori; ning nad oleksid vĂ”inud selgelt mÀÀratleda otsitava isiku ĂŒlesanded ja kiiremini oma vajaduse tĂ€ita. Samuti ei tohi unustada, et selge vastutuse jagamine vĂ€hendab töötajate nĂ”udmisi ja loob kollektiivis sobivama atmosfÀÀri, sest kattuvusi pole. Enamik tööpakkumisi on aga tĂ€is utiliite ja DevOps'i silte, kuid neil pole tĂ”eliselt nĂ”udeid DevOps inseneri kohta, vaid tegemist on tööriistade administraatori nĂ”udmistega.
DevOps inseneride koolitusprotsess on samuti piiratud ainult spetsiifiliste tööde, utiliitide kogumiga, mis ei anna ĂŒlevaadet protsessidest ja nende sĂ”ltuvustest. Kindlasti on hea, kui inimene oskab kasutada Terraform'i AWS EKS-i juurutamiseks, koos Fluentd sidecar'iga selles klastris ja AWS ELK stack'iga logimise sĂŒsteemi jaoks 10 minutiga, kasutades vaid ĂŒhte kĂ€sku konsoolis, aga kui ta ei mĂ”ista logide töötlemise pĂ”himĂ”tet ja milleks need vajalikud on, ei tea, kuidas neid jĂ€lgida ja teenuse halvenemist tuvastada, siis on ta lihtsalt tehnik, kes oskab mĂ”ningaid utiliite kasutada.
KĂŒll aga toob nĂ”udlus kaasa pakkumise ja me nĂ€eme ĂŒlemÀÀra ĂŒlekuumenenud DevOps positsioonide turgu, kus nĂ”udmised ei vasta tegelikule rollile ja vĂ”imaldavad ainult sĂŒsteemiadministraatoritel rohkem teenida.
Nii et kes nad on? DevOps'id vĂ”i ahned sĂŒsteemiadministraatorid? =)
Kuidas edasi elada?
Tööandjatele â sĂ”nastada nĂ”udmised tĂ€psemalt ja otsida just neid, kes on vajalikud, mitte laiali pillata silte. Te ei tea, millega DevOps tegeleb â nemad ei ole teie jaoks vajalikud.
Töötajatele â Ă”ppida. JĂ€tkata oma teadmiste tĂ€iendamist, vaadata laiemat ĂŒlevaadet protsessidest ja jĂ€lgida teed seatud eesmĂ€rgini. VĂ”ite saada kelleks iganes, peate vaid pingutama.
Allikas: habr.com
