Mis on DevOpsi metodoloogia ja kellele see vaja on

Selgitame välja metodoloogia olemuse ja kellele see kasulik võib olla.

Räägime ka DevOps spetsialistidest: nende ülesannetest, palkadest ja oskustest.

Mis on DevOpsi metodoloogia ja kellele see vaja on
Foto Matt Moor / Flickr / CC BY-SA

Mis on DevOps

DevOps on tarkvaraarenduse metodoloogia, mille eesmärk on edendada programmeerijate ja süsteemiadministraatorite koostööd ettevõttes. Kui IT-spetsialistid erinevatest osakondadest ei mõista teineteise ülesandeid, viib see uute rakenduste ja nende uuenduste väljatöötamise viibimisele.

DevOps loob "sujuva" arendusprotsessi, aidates kiirendada tarkvaratoote väljalaskmist. Kiirus saavutatakse automatiseerimissüsteemide rakendamise kaudu. Lisaks hakkavad programmeerijad osalema serverite seadistamises ja vigade leidmises, näiteks saavad nad kirjutada automatiseeritud teste.

Nii parandatakse koostööd osakondade vahel. Töötajad hakkavad paremini mõistma, millist teed peab tarkvaratoode läbima enne, kui see kasutaja kätte jõuab.

Kui arendaja mõistab, millega kohtab administraator serveri seadistamisel, püüab ta koodis võimalikke "teravaid nurki" tasandada. See vähendab vigade arvu rakenduse juurutamisel — statistika kohaselt see väheneb umbes viis korda.

Kellele on vajalik ja kellele mitte metoodika

Paljud IT-eksperdid usuvad, et DevOps toob kasu igale organisatsioonile, mis tegeleb tarkvaraarendusega. See kehtib isegi juhul, kui ettevõte on lihtsalt IT-teenuste tarbija ega arenda oma rakendusi. Sel juhul aitab DevOps-kultuuri rakendamine keskenduda uuendustele.

Erand protsendi stardiettevõtted, kuid ka siin sõltub kõik projekti ulatusest. Kui teie eesmärk on käivitada minimaalne elujõuline toode (minimum viable product, MVP), et testida uut ideed, siis saab hakkama ka ilma DevOpsita. Näiteks Grouponi asutaja alguses veebiteenuse loomisel pani ta käsitsi kõik pakkumised üles veebilehele ja kogus tellimusi. Ta ei kasutanud mingeid automatiseerimise tööriistu. kõik pakkumised saidil ja kogusid tellimusi. Ükski automatiseerimise tööriist ei olnud kasutusel.

Metoodika ja automatiseerimise tööriistade rakendamine on mõttekas ainult siis, kui rakendus hakkab populaarsust koguma. See aitab korraldada äriprotsesse ja kiirendada uuenduste väljalaskmist.

Kuidas rakendada DevOps

Järgnevad on mõned soovitused uue metoodika rakendamiseks.

Tuvastage probleemid äriprotsessides. Enne metoodika rakendamist määrake organisatsiooni eesmärgid ja probleemid. Need mõjutavad DevOpsi üleminekustrateegiat. Selleks koostage küsimuste loetelu, näiteks:

  • Millele kulub tarkvara värskendamisel kõige rohkem aega?
  • Kas seda protsessi saab automatiseerida?
  • Kas see sõltub organisatsiooni struktuurist?

Probleemide tuvastamisest organisatsioonis võib lugeda raamatutest «Projekt „Fenix“» ja «DevOpsi juhendautorite metoodikast.

Muutke ettevõttes kultuuri. On oluline veenda kõiki töötajaid muutma oma harjumuspäraseid tööviise ja laiendama oma pädevuste valikut. Näiteks Facebookis vastutavad kõik programmeerijad rakenduse elu tsükli eest: alates koodi kirjutamisest kuni juurutamiseni. Samuti ei ole Facebookis eraldi testimise osakonda — testid kirjutavad ise arendajad. rakenduse kogu elutsükli jooksul: alates koodi kirjutamisest kuni juurutamiseni. Facebookis ei ole ka eraldi testimisosakonda — testid kirjutavad ise arendajad.

Alustage väikesest. Valige protsess, mis nõuab kõige rohkem aega ja ressursse värskenduste väljaandmisel, ning automatiseerige see. See on võib olla testimine või rakenduste juurutamise protsess. Asjatundjad soovitavad esimene samm on rakendada hajutatud versioonihaldustööriistu. Nendega on lihtsam hallata lähtekoodide haldust. Selliste lahenduste seas on enim tuntud Git, Mercurial, Subversion (SVN) ja CVS.

Väga oluline on pöörata tähelepanu pideva integreerimise süsteemidele, mis vastutavad lõpp-toote ehitamise ja testimise eest. Näited sellistest tööriistadest: Jenkins, TeamCity ja Bamboo.

Hindage parandusi. Looge rakendatud lahenduste efektiivsuse mõõdikud ja koostage kontrollnimekiri. Mõõdikud võivad olla näiteks väljaande sagedus, töötamine tarkvarafunktsioonide kallal, vigade arv koodis. Arutage tulemusi mitte ainult juhtidega, vaid ka ülejäänud projekti meeskonnaga. Küsige, milliseid tööriistu vajatakse. Arvestage nende soovidega edasise protsesside optimeerimise käigus.

DevOpsi kriitika

Kuigi metoodika aidata aitab organisatsioonidel kiiremini teha arendusotsuseid, vähendab veade arvu tarkvaras ja innustab töötajaid uusi asju õppima, on tal ka kriitikud.

On arvamus, et programmere ei pea süvenema süsteemiadministraatorite töö üksikasjadesse. Nagu väidetakse, toob DevOps kaasa selle, et ettevõttes ilmuvad arendamise või haldamise spetsialistide asemel inimesed, kes tunnevad kõike, aga pinnapealselt.

Samuti peetakse, et DevOps ei toimi halva juhtimise korral. Kui arendus- ja haldustiimidel pole ühiseid eesmärke, on süüdistada juhte, kes ei korralda tiimide vahelist suhtlemist. Selle probleemi lahendamiseks ei vajata uut metoodikat, vaid juhtide hindamissüsteemi, mis põhineb alluvate tagasisidel. Siit saab lugeda, millised küsimused tuleks töötajate küsitluse vormidesse kaasata.

Mis on DevOpsi metodoloogia ja kellele see vaja on
Foto Ed Ivanushkin / Flickr / CC BY-SA

Kes on DevOps insener

DevOps insener tegeleb DevOps metoodika rakendamisega. Ta sünkroniseerib kõik tarkvaratoote loomise etapid: koodi kirjutamisest testimise ja rakenduse väljaandmiseni. Selline spetsialist kontrollib arendus- ja haldusosakondi ning automatiseerib nende ülesannete täitmist, rakendades erinevaid tarkvaratööriistu.

DevOps-inseneri ülesanne on kombineerida mitmeid ameteid: administraator, arendaja, testija ja juht.

Joe Sanchez, VMware'i DevOps-evangelist, mis on tarkvaraarendusettevõte virtualiseerimise valdkonnas, tõi esile mitmed oskused, millega DevOps-insener peab olema kursis. Lisaks ilmselgele DevOps-metoodika tundmisele peaks selle inimesel olema kogemus Windowsi ja Linuxi operatsioonisüsteemide haldamises ning kogemus automaatimisvahendite, nagu ChefPuppetAnsible, kasutamises. Samuti peab ta oskama kirjutada skripte ja koodi mitmes keeles ning olema kursis võrgutehnoloogiatega.

DevOps-insener vastutab kõigi automatiseerimisülesannete eest, mis on seotud rakenduste seadistamise ja juurutamisega. Tema vastutusele kuulub ka tarkvara jälgimine. Nende ülesannete täitmiseks kasutab ta erinevaid konfiguratsioonihaldussüsteeme, virtualiseerimislahendusi ja pilveteenuseid ressursside tasakaalustamiseks.

Kes palkab

DevOps-insenerid saavad kasu pakkuda igasugusele organisatsioonile, kelle tegevus on seotud rakenduste arendamisega või suure hulga serverite haldamisega. DevOps-insenere palkavad IT-hiiglased nagu Amazon, Adobe ja Facebook. Lisaks töötavad nad Netflixis, Walmartis ja Etsy-s.

Ei palkata DevOps-insenere ainult idufirmad. Nende ülesanne on välja anda minimaalne elujõuline toode, et testida uut ideed. Enamikul juhtudel saavad idufirmad hakkama ilma DevOpsita.

Kui palju maksavad

DevOps-insenerid teenivad tööstuses kõige rohkem. Nende keskmine sissetulek maailmas on 100 000 kuni 125 000 dollarit aastas.

USA-s saavad nad 90 000 dollarit aastas (500 000 rubla kuus). Kanadas maksavad neile 90 tuhat dollarit aastas (500 tuhat rubla kuus). Kanadas teenivad nad 122 000 dollarit aastas (670 000 rubla kuus), aga UK-s — 67 500 naela aastas (490 000 rubla kuus). 122 tuhat dollarit aastas (670 tuhat rubla kuus), aga Ühendkuningriigis — 67,5 tuhat naela aastas (490 tuhat rubla kuus).

Mis puutub Venemaasse, siis Moskva ettevõtted on valmis maksma DevOps-spetsialistidele 100 000 kuni 200 000 rubla kuus. Peterburis on tööandjad natuke heldemad — pakuvad 160–360 000 rubla kuus. Regioonides on palk 100–120 000 rubla kuus.

Kuidas saada DevOps-spetsialistiks

DevOps on suhteliselt uus suund IT-s, seega ei ole kindlat loetelu nõuetest DevOps-inseneridele. Töökuulutustes võib leida nõudmisi, mis ulatuvad Debian ja CentOS haldamise oskustest kuni ketaste RAID-massiivideni. RAID-massiivid.

Selle põhjal võib järeldada, et DevOps-inseneril peaks olema lai tehniline silmaring. Sellisele inimesele on oluline pidevalt uusi tööriistu ja tehnoloogiaid õppida.

DevOps-inseneriks on kõige lihtsam saada süsteemiadministraatoril või arendajal. Neil on juba hulk oskusi, mida tuleb lihtsalt arendada. Peamine ülesanne on jõuda minimaalse teadmiste koguseni DevOpsis, mõista, kuidas kasutada automatiseerimistööriistu, ning täiendada teadmisi haldamise, programmeerimise ja virtualiseerimise valdkonnas.

Et mõista, millistes valdkondades teadmised puuduvad, võib kasutada mini-vikipeediat GitHubis või mõttekaarti. Hacker News'i külastajad võivad samuti soovitavad lugeda raamatuid „Projekt „Fenix“» ja «DevOpsi juhend“ (millest me varem rääkisime) ja „DevOpsi filosoofia. IT juhtimise kunst“ O’Reilly Media väljaandena.

Lisaks võib tellida DevOps Weekly uudiskirja, lugeda temaatilisi artikleid. DZone portaali ja hakata suhtlema DevOps-inseneridega Slack-vestlusel. Samuti tasub tutvuda tasuta kursustega Udacity või edX.

Meie blogist:



Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster