Zer da DevOps metodologia eta nork behar duen

Azter dezagun zein den metodologiaren funtsa eta nori onura dezakeen.

DevOps espezialistei buruz ere hitz egingo dugu: haien zereginak, soldatak eta gaitasunak.

Zer da DevOps metodologia eta nork behar duen
Photo Shoot Matt Moore /Flickr/CC BY-SA

Zer da DevOps

DevOps softwarea garatzeko metodologia bat da, eta bere zeregina enpresa bateko programatzaileen eta sistema administratzaileen arteko elkarrekintza ezartzea da. Sail ezberdinetako informatika-espezialistek elkarren zereginak ulertzen ez badituzte, aplikazio eta eguneratze berriak kaleratzea atzeratu egiten da.

DevOps-ek garapen-ziklo bat sortzen du, eta, horrela, software-produktu baten kaleratzea azkartzen laguntzen du. Azelerazioa automatizazio sistemak sartuz lortzen da. Gainera, programatzaileak zerbitzariak konfiguratzen eta akatsak aurkitzen parte hartzen hasten dira, adibidez, proba automatizatuak idatzi ditzakete.

Horrek sailen arteko interakzioa hobetzen du. Langileak hobeto ulertzen hasten dira software-produktu batek zer fase igarotzen dituen erabiltzailearen eskuetara iritsi aurretik.

Garatzaile batek zerbitzari bat konfiguratzean administratzaileak zer aurrean duen ulertzen duenean, kodean izan daitezkeen "ertz zorrotzak" leuntzen saiatuko da. Horrek akatsen kopurua murrizten du aplikazio bat zabaltzean - estatistiken arabera txikitzen bost bat aldiz.

Metodologia behar duena eta behar ez duena

Asko IT adituek uste duteDevOps softwarea garatzen duen edozein erakunderi mesede egingo diola. Hori egia da, nahiz eta enpresa IT zerbitzuen kontsumitzaile soila izan eta aplikazio propioak garatzen ez dituen. Kasu honetan, DevOps kultura ezartzeak berrikuntzan zentratzen lagunduko dizu.

salbuespen makillajea startup-ak, baina hemen dena proiektuaren tamainaren araberakoa da. Zure helburua ideia berri bat probatzeko gutxieneko produktu bideragarri bat (MVP) abiaraztea bada, DevOps gabe egin dezakezu. Adibidez, Groupon-en sortzailea eskuz zerbitzuan lanean hasi zen argitaratua webguneko eskaintza guztiak eta bildutako eskaerak. Ez zuen automatizazio tresnarik erabili.

Aplikazioa ospea lortzen hasten denean soilik du zentzua automatizazio metodologia eta tresnak ezartzea. Horrek negozio-prozesuak arintzen lagunduko du eta eguneraketak bizkortzen lagunduko du.

Nola inplementatu DevOps

Jarraian, metodologia berri batera aldatzeko gomendio batzuk daude.

Negozio-prozesuetako arazoak identifikatzea. Metodologia ezarri aurretik, nabarmendu erakundearen helburuak eta arazoak. DevOps-era trantsitzeko estrategia horien araberakoa izango da. Horretarako, egin galdera zerrenda bat, adibidez:

  • Zer behar da denbora gehien softwarea eguneratzean?
  • Posible al da prozesu hau automatizatzea?
  • Erakundearen egiturak eragiten al du horretan?

Lortu informazio gehiago erakunde bateko arazoak identifikatzeari buruz liburuetan irakur daiteke Β«"Phoenix" proiektua"Eta"DevOps gidaΒ» metodologiaren egileen eskutik.

Enpresan kultura aldatu. Garrantzitsua da langile guztiak konbentzitzea ohiko lan egiteko moduak alda ditzaten eta konpetentzia sorta zabaltzeko. Adibidez, Facebooken programatzaile guztiak erantzun aplikazioaren bizi-ziklo osorako: kodetzetik inplementaziora arte. Gainera, Facebook-ek ez du proba-sail bereizirik - garatzaileek beraiek idatzi dituzte probak.

Hasi txiki. Aukeratu eguneraketak askatzeko denbora eta ahalegin gehien hartzen duen prozesua eta automatizatu. Hau agian probak edo aplikazioak zabaltzeko prozesua. Adituak aholkatu Lehen urratsa bertsio banatuak kontrolatzeko tresnak ezartzea da. Iturburuak kudeatzea errazten dute. Horrelako irtenbideen artean, ezagunenak Git, Mercurial, Subversion (SVN) eta CVS dira.

Gainera, azken produktua muntatzeaz eta probatzeaz arduratzen diren etengabeko integrazio sistemei arreta jartzea merezi du. Tresna horien adibideak: Jenkins, TeamCity eta Bamboo.

Hobekuntzak ebaluatzea. Garatu inplementatutako soluzioetarako errendimendu-neurriak eta sortu kontrol-zerrenda. Neurriek kaleratze-maiztasuna, softwarearen eginbideetan lanean emandako denbora eta kodean akatsen kopurua izan ditzakete. Emaitzak kudeatzaileekin ez ezik, proiektuan parte hartzen duten gainerako taldeekin ere eztabaidatu. Galdetu zer tresna falta diren. Kontuan hartu eskaera hauek zure prozesuak gehiago optimizatzean.

DevOps-i kritika

Nahiz eta metodologia It laguntzen erakundeek aplikazioen garapenari buruzko erabaki azkarragoak har ditzakete, mozketak softwarean akatsen kopurua eta langileak gauza berriak ikastera bultzatzen ditu, kritikak ere baditu.

Ez dago ikuspegiprogramatzaileek sistema-administratzaileen lanaren xehetasunak ez dituztela ulertu behar. Ustez, DevOps-ek garapen edo administrazioko espezialisten ordez konpainiak dena ulertzen duen jendea izatea dakar, baina azaletik.

DevOps dela ere uste da ez funtzionatzen kudeaketa txarrarekin. Garapen eta administrazio taldeek helburu komunik ez badute, kudeatzaileak dira taldeen arteko komunikazioa ez antolatzearen errudunak. Arazo hori konpontzeko, behar dena ez da metodologia berri bat, menpekoen iritzietan oinarritutako kudeatzaileak ebaluatzeko sistema bat baizik. Hemen irakur dezakezu, zein galdera sartu behar diren langileen inkesta inprimakietan.

Zer da DevOps metodologia eta nork behar duen
Photo Shoot Ed Ivanushkin /Flickr/CC BY-SA

Nor da DevOps ingeniaria

DevOps ingeniari batek DevOps metodologia inplementatzen du. Software produktu bat sortzeko fase guztiak sinkronizatzen ditu: kodea idaztetik aplikazioa probatu eta kaleratu arte. Espezialista horrek garapen eta administrazio sailak kontrolatzen ditu, eta haien zereginen exekuzioa automatizatzen du hainbat software tresna sartuz.

DevOps ingeniari baten trikimailua lanbide asko uztartzen dituela da: administratzailea, garatzailea, probatzailea eta kudeatzailea.

Joe Sanchez, DevOps ebanjelaria VMware-n, birtualizazio software-enpresa batean, nabarmendu DevOps ingeniari batek izan behar dituen hainbat gaitasun. DevOps metodologiaren ezagutza agerikoa izateaz gain, pertsona honek Windows eta Linux sistema eragileak administratzen esperientzia izan beharko luke eta automatizazio tresnekin lan egiteko esperientzia izan behar du. ChefTxotxongiloAnsible. Gainera, gidoiak eta kodea pare bat hizkuntzatan idazteko eta sareko teknologiak ulertzeko gai izan behar du.

DevOps ingeniari bat da aplikazioak konfiguratzearekin eta zabaltzearekin lotutako zereginen automatizazioaz arduratzen dena. Softwarearen monitorizazioa ere sorbalda gainean erortzen zaio. Arazo horiek konpontzeko, hainbat konfigurazio kudeatzeko sistema, birtualizazio irtenbide eta baliabideak orekatzeko hodeiko tresnak erabiltzen ditu.

Nor ari den kontratatzen

DevOps ingeniariek aplikazioak garatzen dituzten edo zerbitzari ugari kudeatzen dituen edozein erakunderen onura izan dezakete. DevOps ingeniariak kontratatzen ari dira Amazon, Adobe eta Facebook bezalako IT erraldoiak. Netflix, Walmart eta Etsy-n ere lan egiten dute.

Ez kontratatzea DevOps ingeniariak startup-ak baino ez dira. Haien lana ideia berri bat probatzeko gutxieneko produktu bideragarri bat kaleratzea da. Kasu gehienetan, startupek DevOps gabe egin dezakete.

Zenbat ordaindu

DevOps ingeniariak irabazi industrian inor baino gehiago. Mundu osoko espezialisten batez besteko irabaziak 100 eta 125 mila dolar bitartekoak dira urtean.

AEBetan haiek lortu 90 mila dolar urtean (500 mila errublo hilean). Kanadan haiek ordaindu 122 mila dolar urtean (670 mila errublo hilean), eta Erresuma Batuan - 67,5 mila libra esterlina urtean (490 mila errublo hilean).

Errusiari dagokionez, Moskuko konpainiek prest ordaindu DevOps espezialistei hilero 100 eta 200 mila errublo. San Petersburgon, enpresariak apur bat eskuzabalagoak dira - hilero 160-360 mila errublo eskaintzen dituzte. Eskualdeetan, soldatak hilean 100-120 mila errublo zenbatzen dira.

Nola bihurtu DevOps espezialista

DevOps norabide nahiko berria da informatikan, beraz, ez dago DevOps ingeniarientzako eskakizunen zerrenda finkaturik. Lanpostuetan, postu honetarako eskakizunen artean Debian eta CentOS administrazio-gaitasunak eta disko-unitateekin lan egiteko gaitasuna aurki ditzakezu. RAID arrayak.

Horretan oinarrituta, ondorioztatu dezakegu, lehenik eta behin, DevOps ingeniari batek ikuspegi tekniko ona izan behar duela. Garrantzitsua da horrelako pertsona batek tresna eta teknologia berriak etengabe ikastea.

DevOps ingeniari izateko modurik errazena sistemaren administratzaile edo garatzaile bat izango litzateke. Dagoeneko garatu beharreko gaitasun batzuk dituzte. Zeregin nagusia DevOps-en gutxieneko ezagutza-multzoa hobetzea da, automatizazio-tresnekin nola lan egin ulertzea eta administrazio, programazio eta birtualizazio gaitasunen hutsuneak betetzea.

Ezagutza oraindik falta den ulertzeko, erabil dezakezu mini-Wikipedia GitHub-en edo mapa mentala. Hacker News-eko bizilagunak ere gomendatu liburuak irakurri ""Phoenix" proiektua"Eta"DevOps gida" (goian aipatu duguna) eta "DevOps filosofia. IT Kudeaketa ArteaΒ» O'Reilly Media-ren zigilupean.

Harpidetza ere egin dezakezu Devops Weekly buletina, irakurri gaurkotasuneko artikuluak DZone ataria eta hasi DevOps ingeniariekin komunikatzen Slack txata. Merezi du doako ikastaroak ikustea ere Udacity edo EDX.

Gure blogeko mezuak:



Iturria: www.habr.com

Gehitu iruzkin berria