Selgitame välja metodoloogia olemuse ja kellele see kasulik võib olla.
Räägime ka DevOps spetsialistidest: nende ülesannetest, palkadest ja oskustest.
Foto / 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 umbes viis korda.
Kellele on vajalik ja kellele mitte metoodika
Paljud , 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 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 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 «» ja «autorite 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 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 testimine või rakenduste juurutamise protsess. Asjatundjad 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 aitab organisatsioonidel kiiremini teha arendusotsuseid, veade arvu tarkvaras ja innustab töötajaid uusi asju õppima, on tal ka kriitikud.
On , 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 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, .

Foto / 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, 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 , , , 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 IT-hiiglased nagu Amazon, Adobe ja Facebook. Lisaks töötavad nad Netflixis, Walmartis ja Etsy-s.
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 tööstuses kõige rohkem. Nende keskmine sissetulek maailmas on 100 000 kuni 125 000 dollarit aastas.
USA-s saavad nad 90 tuhat dollarit aastas (500 tuhat rubla kuus). Kanadas teenivad nad 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 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. .
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 või . Hacker News'i külastajad võivad samuti lugeda raamatuid „» ja «“ (millest me varem rääkisime) ja „“ O’Reilly Media väljaandena.
Lisaks võib tellida , lugeda temaatilisi artikleid. ja hakata suhtlema DevOps-inseneridega . Samuti tasub tutvuda tasuta kursustega või .
Meie blogist:
Allikas: habr.com
