Kio estas DevOps-metodaro kaj kiu bezonas ĝin

Ni eltrovu, kio estas la esenco de la metodaro kaj al kiu ĝi povas profiti.

Ni ankaŭ parolos pri DevOps-specialistoj: iliaj taskoj, salajroj kaj kapabloj.

Kio estas DevOps-metodaro kaj kiu bezonas ĝin
Foto Matt Moore /Flickr/CC BY-SA

Kio estas DevOps

DevOps estas metodologio pri programaro, kies tasko estas establi interagadon inter programistoj kaj sistemaj administrantoj en kompanio. Se IT-specialistoj de diversaj fakoj ne komprenas reciproke la taskojn, la liberigo de novaj aplikaĵoj kaj ĝisdatigoj por ili estas prokrastita.

DevOps kreas "senjuntan" disvolvan ciklon, tiel helpante akceli la liberigon de programaro. Akcelo estas atingita per la enkonduko de aŭtomatigaj sistemoj. Plie, programistoj komencas partopreni starigi servilojn kaj trovi cimojn, ekzemple, ili povas skribi aŭtomatigitajn testojn.

Ĉi tio plibonigas interagadon inter fakoj. Dungitoj komencas pli bone kompreni, kiajn stadiojn trairas programaro antaŭ ol ĝi venas en la manojn de la uzanto.

Kiam programisto komprenas, kion alfrontas administranto kiam starigas servilon, li provos glatigi eblajn "akrajn angulojn" en la kodo. Ĉi tio reduktas la nombron da eraroj dum deplojado de aplikaĵo - laŭ statistiko, ĝi malpliiĝas ĉirkaŭ kvin fojojn.

Kiu bezonas kaj ne bezonas la metodikon

Multaj IT-fakuloj kredaske DevOps profitos ajnan organizon kiu disvolvas programaron. Ĉi tio validas eĉ se la kompanio estas simpla konsumanto de IT-servoj kaj ne disvolvas siajn proprajn aplikojn. En ĉi tiu kazo, efektivigi DevOps-kulturon helpos vin koncentriĝi pri novigado.

Escepto respondu noventreprenoj, sed ĉi tie ĉio dependas de la skalo de la projekto. Se via celo estas lanĉi minimuman realigeblan produkton (MVP) por testi novan ideon, tiam vi povas malhavi DevOps. Ekzemple, la fondinto de Groupon komencis labori pri la servo permane afiŝita ĉiuj ofertoj en la retejo kaj kolektitaj mendoj. Li ne uzis iujn ajn aŭtomatigajn ilojn.

Ĝi nur havas sencon efektivigi aŭtomatigan metodaron kaj ilojn kiam la aplikaĵo komencas akiri popularecon. Ĉi tio helpos plifaciligi komercajn procezojn kaj akceli la liberigon de ĝisdatigoj.

Kiel efektivigi DevOps

Malsupre estas kelkaj rekomendoj por ŝanĝi al nova metodaro.

Identigu problemojn en komercaj procezoj. Antaŭ ol efektivigi la metodaron, reliefigu la celojn kaj problemojn de la organizo. La strategio por transiro al DevOps dependos de ili. Por fari tion, faru liston de demandoj, ekzemple:

  • Kio prenas la plej grandan tempon dum ĝisdatigo de programaro?
  • Ĉu eblas aŭtomatigi ĉi tiun procezon?
  • Ĉu la strukturo de la organizo influas ĉi tion?

Lernu pli pri identigado de problemoj en organizo legeblas en libroj «Projekto "Fenikso""Kaj"DevOps Gvidilo» de la aŭtoroj de la metodiko.

Ŝanĝu la kulturon en la kompanio. Gravas konvinki ĉiujn dungitojn ŝanĝi siajn kutimajn labormanierojn kaj vastigi sian gamon de kompetentecoj. Ekzemple, ĉe Facebook ĉiuj programistoj respondo por la tuta aplika vivociklo: de kodigo ĝis efektivigo. Ankaŭ, Facebook ne havas apartan testan fakon - la testoj estas verkitaj de la programistoj mem.

Komencu malgranda. Elektu la procezon, kiu bezonas plej multe da tempo kaj peno dum publikigado de ĝisdatigoj kaj aŭtomatigu ĝin. Ĉi tio eble testado aŭ aplikaĵa deplojo procezo. Fakuloj konsili La unua paŝo estas efektivigi distribuitajn version-kontrolajn ilojn. Ili faciligas administri fontojn. Inter tiaj solvoj, la plej famaj estas Git, Mercurial, Subversion (SVN) kaj CVS.

Indas ankaŭ atenti al kontinuaj integrigaj sistemoj respondecaj pri muntado kaj testado de la fina produkto. Ekzemploj de tiaj iloj: Jenkins, TeamCity kaj Bambuo.

Taksi plibonigojn. Disvolvu rendimentajn metrikojn por efektivigitaj solvoj kaj kreu kontrolon. Metriko povas inkluzivi eldonfrekvencon, tempon pasigitan labori pri programaraj funkcioj kaj la nombro da cimoj en la kodo. Diskutu la rezultojn ne nur kun administrantoj, sed ankaŭ kun la resto de la teamo implikita en la projekto. Demandu, kiaj iloj mankas. Konsideru ĉi tiujn petojn kiam plie optimumigas viajn procezojn.

Kritiko de DevOps

Kvankam la metodiko helpas organizoj povas fari pli rapidajn decidojn pri aplika evoluo, tranĉoj la nombro da eraroj en la programaro kaj instigas dungitojn lerni novajn aferojn, ĝi ankaŭ havas kritikojn.

Ekzistas opinioke programistoj ne komprenu la detalojn de la laboro de sistemaj administrantoj. Supozeble, DevOps kondukas al tio, ke anstataŭ specialistoj pri disvolviĝo aŭ administrado, la kompanio havas homojn, kiuj komprenas ĉion, sed supraĵe.

Oni ankaŭ kredas, ke DevOps ne funkcias kun malbona administrado. Se la evoluigaj kaj administraj teamoj ne havas komunajn celojn, estas la administrantoj, kiuj kulpas pro tio, ke ili ne organizas komunikadon inter la teamoj. Por solvi ĉi tiun problemon, necesas ne nova metodaro, sed sistemo por taksi administrantojn bazitan sur reagoj de subuloj. Vi povas legi ĝin ĉi tie, kiaj demandoj estu inkluzivitaj en enketformularoj de dungitoj.

Kio estas DevOps-metodaro kaj kiu bezonas ĝin
Foto Ed Ivanuŝkin /Flickr/CC BY-SA

Kiu estas DevOps-Inĝeniero

DevOps-inĝeniero efektivigas la DevOps-metodaron. Ĝi sinkronigas ĉiujn stadiojn de kreado de programaro: de skribado de kodo ĝis testado kaj liberigo de la aplikaĵo. Tia specialisto kontrolas la evoluajn kaj administrajn fakojn, krome aŭtomatigas la plenumon de iliaj taskoj per enkonduko de diversaj programaj iloj.

La lertaĵo de DevOps-inĝeniero estas, ke li kombinas multajn profesiojn: administranto, programisto, testisto kaj administranto.

Joe Sanchez, DevOps evangeliisto ĉe VMware, virtualiga softvarfirmao, elstarigita kelkajn kapablojn, kiujn DevOps-inĝeniero devas havi. Krom la evidenta scio pri DevOps-metodaro, ĉi tiu persono devus havi sperton pri administrado de Vindozo kaj Linukso operaciumoj kaj sperto laboranta kun aŭtomatigaj iloj kiel kaponMarionetoRespondema. Li ankaŭ devus povi skribi skriptojn kaj kodon en kelkaj lingvoj kaj kompreni retajn teknologiojn.

DevOps-inĝeniero respondecas pri ajna aŭtomatigo de taskoj rilataj al agordo kaj deplojado de aplikaĵoj. Programaro monitorado ankaŭ falas sur liaj ŝultroj. Por solvi ĉi tiujn problemojn, li uzas diversajn agordajn mastrumajn sistemojn, virtualigajn solvojn kaj nubajn ilojn por ekvilibrigi rimedojn.

Kiu dungas

DevOps-inĝenieroj povas profitigi ajnan organizon, kiu disvolvas aplikojn aŭ administras multajn servilojn. DevOps-inĝenieroj dungas IT-gigantoj kiel Amazon, Adobe kaj Facebook. Ili ankaŭ laboras en Netflix, Walmart kaj Etsy.

Ne dungado DevOps-inĝenieroj estas nur noventreprenoj. Ilia tasko estas liberigi minimuman realigeblan produkton por testi novan ideon. Plejofte, noventreprenoj povas malhavi DevOps.

Kiom da salajro

DevOps-inĝenieroj gajni pli ol iu ajn en la industrio. La mezaj enspezoj de tiaj specialistoj tra la mondo varias de 100 ĝis 125 mil dolaroj jare.

En Usono ili akiri 90 mil dolaroj jare (500 mil rubloj monate). En Kanado ili pagi 122 mil dolaroj jare (670 mil rubloj monate), kaj en Britio - 67,5 mil funtoj sterlingoj jare (490 mil rubloj monate).

Koncerne Rusion, Moskvaj kompanioj preta pagu DevOps-specialistojn de 100 ĝis 200 mil rubloj monate. En Sankt-Peterburgo, dungantoj estas iom pli malavaraj - ili ofertas 160-360 mil rublojn monate. En la regionoj, salajroj estas kotizitaj je 100–120 mil rubloj monate.

Kiel fariĝi specialisto pri DevOps

DevOps estas relative nova direkto en IT, do ne ekzistas establita listo de postuloj por DevOps-inĝenieroj. En la vakantaĵoj, inter la postuloj por ĉi tiu posteno vi povas trovi kaj administrajn kapablojn de Debian kaj CentOS kaj la kapablon labori kun disko-diskoj. RAID-aroj.

Surbaze de ĉi tio, ni povas konkludi, ke antaŭ ĉio, DevOps-inĝeniero devas havi bonan teknikan perspektivon. Gravas por tia homo konstante lerni novajn ilojn kaj teknologiojn.

La plej facila maniero fariĝi DevOps-inĝeniero estus sistemadministranto aŭ programisto. Ili jam havas kelkajn kapablojn, kiuj nur bezonas disvolviĝi. La ĉefa tasko estas plibonigi la minimuman aron de scio en DevOps, kompreni kiel labori kun aŭtomatigaj iloj kaj plenigi mankojn en administrado, programado kaj virtualigo.

Por kompreni, kie scio ankoraŭ mankas, vi povas uzi mini-Vikipedio sur GitHub aŭ mensa mapo. Loĝantoj de Hacker News ankaŭ rekomendi legi librojn "Projekto "Fenikso""Kaj"DevOps Gvidilo" (kiun ni menciis supre) kaj "DevOps-filozofio. La Arto de IT-Administrado» sub la stampo de O'Reilly Media.

Vi ankaŭ povas aboni Informilo Devops Weekly, legu aktualajn artikolojn portalo DZone kaj komencu komuniki kun DevOps-inĝenieroj en Slack babilejo. Ankaŭ indas kontroli la senpagajn kursojn Udaceco aŭ edX.

Afiŝoj de nia blogo:



fonto: www.habr.com

Aldoni komenton