Çfarë është metodologjia DevOps dhe kush ka nevojë për të

Le të kuptojmë se cili është thelbi i metodologjisë dhe kush mund të përfitojë nga ajo.

Do të flasim gjithashtu për specialistët e DevOps: detyrat, pagat dhe aftësitë e tyre.

Çfarë është metodologjia DevOps dhe kush ka nevojë për të
Photo Shoot Matt Moore /Flickr/CC BY-SA

Çfarë është DevOps

DevOps është një metodologji e zhvillimit të softuerit, detyra e së cilës është të krijojë ndërveprim midis programuesve dhe administratorëve të sistemit në një kompani. Nëse specialistët e IT nga departamente të ndryshme nuk i kuptojnë detyrat e njëri-tjetrit, lëshimi i aplikacioneve të reja dhe përditësimet për ta vonohet.

DevOps krijon një cikël zhvillimi "të qetë", duke ndihmuar kështu në përshpejtimin e lëshimit të një produkti softuer. Përshpejtimi arrihet përmes futjes së sistemeve të automatizimit. Plus, programuesit fillojnë të marrin pjesë në vendosjen e serverëve dhe gjetjen e gabimeve, për shembull, ata mund të shkruajnë teste të automatizuara.

Kjo përmirëson ndërveprimin midis departamenteve. Punonjësit fillojnë të kuptojnë më mirë se në cilat faza kalon një produkt softuer para se të hyjë në duart e përdoruesit.

Kur një zhvillues kupton se me çfarë përballet një administrator kur konfiguron një server, ai do të përpiqet të zbusë "qoshet e mprehta" të mundshme në kod. Kjo zvogëlon numrin e gabimeve gjatë vendosjes së një aplikacioni - sipas statistikave, ai zvogëlohet rreth pesë herë.

Kush ka nevojë dhe nuk ka nevojë për metodologjinë

Shumë Ekspertët e IT-së besojnëse DevOps do të përfitojë çdo organizatë që zhvillon softuer. Kjo është e vërtetë edhe nëse kompania është një konsumator i thjeshtë i shërbimeve IT dhe nuk zhvillon aplikacionet e veta. Në këtë rast, zbatimi i një kulture DevOps do t'ju ndihmojë të përqendroheni në inovacion.

Përjashtim përbëjnë startups, por këtu gjithçka varet nga shkalla e projektit. Nëse qëllimi juaj është të lëshoni një produkt minimal të zbatueshëm (MVP) për të testuar një ide të re, atëherë mund të bëni pa DevOps. Për shembull, themeluesi i Groupon filloi të punojë në shërbim me dorë postuar të gjitha ofertat në faqen e internetit dhe porositë e mbledhura. Ai nuk përdori asnjë mjet automatizimi.

Zbatimi i metodologjisë dhe mjeteve të automatizimit ka kuptim vetëm kur aplikacioni fillon të fitojë popullaritet. Kjo do të ndihmojë në përmirësimin e proceseve të biznesit dhe përshpejtimin e lëshimit të përditësimeve.

Si të implementoni DevOps

Më poshtë janë disa rekomandime për kalimin në një metodologji të re.

Identifikoni problemet në proceset e biznesit. Para se të zbatoni metodologjinë, theksoni qëllimet dhe problemet e organizatës. Strategjia për kalimin në DevOps do të varet prej tyre. Për ta bërë këtë, bëni një listë pyetjesh, për shembull:

  • Çfarë merr më shumë kohë kur përditësoni softuerin?
  • A është e mundur të automatizohet ky proces?
  • A ndikon struktura e organizatës në këtë?

Mësoni më shumë rreth identifikimit të problemeve në një organizatë mund të lexohet në libra «Projekti "Phoenix""Dhe"Udhëzues DevOps» nga autorët e metodologjisë.

Ndryshoni kulturën në kompani. Është e rëndësishme të binden të gjithë punonjësit që të ndryshojnë mënyrat e tyre të zakonshme të punës dhe të zgjerojnë gamën e kompetencave të tyre. Për shembull, në Facebook të gjithë programuesit përgjigje për të gjithë ciklin jetësor të aplikacionit: nga kodimi në zbatim. Gjithashtu, Facebook nuk ka një departament të veçantë testimi - testet janë shkruar nga vetë zhvilluesit.

Filloni të vogël. Zgjidhni procesin që kërkon më shumë kohë dhe përpjekje kur lëshoni përditësime dhe automatizoni atë. Kjo ndoshta testimi ose procesi i vendosjes së aplikacionit. Ekspertët këshillë Hapi i parë është zbatimi i mjeteve të kontrollit të versionit të shpërndarë. Ato e bëjnë më të lehtë menaxhimin e burimeve. Ndër zgjidhje të tilla, më të famshmet janë Git, Mercurial, Subversion (SVN) dhe CVS.

Vlen gjithashtu t'i kushtohet vëmendje sistemeve të integrimit të vazhdueshëm përgjegjës për montimin dhe testimin e produktit përfundimtar. Shembuj të mjeteve të tilla: Jenkins, TeamCity dhe Bamboo.

Vlerësoni përmirësimet. Zhvilloni matjet e performancës për zgjidhjet e zbatuara dhe krijoni një listë kontrolli. Metrikat mund të përfshijnë frekuencën e lëshimit, kohën e kaluar duke punuar në veçoritë e softuerit dhe numrin e gabimeve në kod. Diskutoni rezultatet jo vetëm me menaxherët, por edhe me pjesën tjetër të ekipit të përfshirë në projekt. Pyesni se çfarë mjetesh mungojnë. Merrni parasysh këto kërkesa kur optimizoni më tej proceset tuaja.

Kritika ndaj DevOps

Edhe pse metodologjia ajo i ndihmon organizatat mund të marrin vendime më të shpejta në lidhje me zhvillimin e aplikacioneve, shkurtimet numri i gabimeve në softuer dhe inkurajon punonjësit të mësojnë gjëra të reja, ai gjithashtu ka kritikë.

Ka pikëpamjeqë programuesit nuk duhet të kuptojnë detajet e punës së administratorëve të sistemit. Me sa duket, DevOps çon në faktin se në vend të specialistëve të zhvillimit ose administrimit, kompania ka njerëz që kuptojnë gjithçka, por sipërfaqësisht.

Besohet gjithashtu se DevOps nuk punon me menaxhim të dobët. Nëse ekipet e zhvillimit dhe të administratorit nuk kanë qëllime të përbashkëta, janë menaxherët ata që janë fajtorë për mosorganizimin e komunikimit midis ekipeve. Për të zgjidhur këtë problem, ajo që nevojitet nuk është një metodologji e re, por një sistem për vlerësimin e menaxherëve bazuar në reagimet nga vartësit. Mund ta lexoni këtu, cilat pyetje duhet të përfshihen në formularët e anketimit të punonjësve.

Çfarë është metodologjia DevOps dhe kush ka nevojë për të
Photo Shoot Ed Ivanushkin /Flickr/CC BY-SA

Kush është një inxhinier DevOps

Një inxhinier DevOps zbaton metodologjinë DevOps. Ai sinkronizon të gjitha fazat e krijimit të një produkti softuer: nga shkrimi i kodit deri te testimi dhe lëshimi i aplikacionit. Një specialist i tillë kontrollon departamentet e zhvillimit dhe administrimit, plus automatizon ekzekutimin e detyrave të tyre duke zbatuar mjete të ndryshme softuerike.

Truku i një inxhinieri DevOps është se ai ndërthur shumë profesione: administrator, zhvillues, testues dhe menaxher.

Joe Sanchez, ungjilltar i DevOps në VMware, një kompani softuerësh virtualizimi, veçoi një sërë aftësish që duhet të ketë një inxhinier DevOps. Përveç njohurive të dukshme të metodologjisë DevOps, ky person duhet të ketë përvojë në administrimin e sistemeve operative Windows dhe Linux dhe përvojë pune me mjete automatizimi si p.sh. ShefkukullAnsible. Ai gjithashtu duhet të jetë në gjendje të shkruajë skripta dhe kode në disa gjuhë dhe të kuptojë teknologjitë e rrjetit.

Një inxhinier DevOps është përgjegjës për çdo automatizim të detyrave që lidhen me konfigurimin dhe vendosjen e aplikacioneve. Monitorimi i softuerit gjithashtu bie mbi supet e tij. Për të zgjidhur këto probleme, ai përdor sisteme të ndryshme të menaxhimit të konfigurimit, zgjidhje virtualizimi dhe mjete cloud për balancimin e burimeve.

Kush punëson

Inxhinierët DevOps mund të përfitojnë çdo organizatë që zhvillon aplikacione ose menaxhon një numër të madh serverësh. Inxhinierët DevOps janë duke punësuar Gjigantët e IT si Amazon, Adobe dhe Facebook. Ata gjithashtu punojnë në Netflix, Walmart dhe Etsy.

Jo punësimi Inxhinierët DevOps janë vetëm startup. Detyra e tyre është të lëshojnë një produkt minimal të zbatueshëm për të testuar një ide të re. Në shumicën e rasteve, startup-et mund të bëjnë pa DevOps.

Sa pagë

Inxhinierët DevOps fitojnë më shumë se kushdo në industri. Fitimet mesatare të specialistëve të tillë në mbarë botën variojnë nga 100 deri në 125 mijë dollarë në vit.

Në SHBA ata get 90 mijë dollarë në vit (500 mijë rubla në muaj). Në Kanada ata paguhen 122 mijë dollarë në vit (670 mijë rubla në muaj), dhe në MB - 67,5 mijë sterlina në vit (490 mijë rubla në muaj).

Sa për Rusinë, kompanitë e Moskës gati paguani specialistët e DevOps nga 100 deri në 200 mijë rubla në muaj. Në Shën Petersburg, punëdhënësit janë pak më bujarë - ata ofrojnë 160-360 mijë rubla në muaj. Në rajone, pagat kuotohen në 100-120 mijë rubla në muaj.

Si të bëheni një specialist DevOps

DevOps është një drejtim relativisht i ri në IT, kështu që nuk ka një listë të përcaktuar të kërkesave për inxhinierët DevOps. Në vendet e lira të punës, ndër kërkesat për këtë pozicion mund të gjeni aftësitë e administrimit të Debian dhe CentOS dhe aftësinë për të punuar me disqe. Vargjet RAID.

Bazuar në këtë, mund të konkludojmë se, para së gjithash, një inxhinier DevOps duhet të ketë një pamje të mirë teknike. Është e rëndësishme që një person i tillë të mësojë vazhdimisht mjete dhe teknologji të reja.

Mënyra më e lehtë për t'u bërë një inxhinier DevOps do të ishte një administrator ose zhvillues sistemi. Ata tashmë kanë një sërë aftësish që thjesht duhen zhvilluar. Detyra kryesore është të përmirësoni grupin minimal të njohurive në DevOps, të kuptoni se si të punoni me mjetet e automatizimit dhe të mbushni boshllëqet në aftësitë e administrimit, programimit dhe virtualizimit.

Për të kuptuar se ku mungon ende njohuria, mund të përdorni mini-Wikipedia në GitHub ose harta mendore. Banorët e Hacker News gjithashtu rekomandoj lexojnë libra "Projekti "Phoenix""Dhe"Udhëzues DevOps" (që e përmendëm më lart) dhe "Filozofia e DevOps. Arti i Menaxhimit të IT» nën vulën e O'Reilly Media.

Ju gjithashtu mund të abonoheni në Buletini javor i Devops, lexoni artikuj aktualë portali DZone dhe filloni të komunikoni me inxhinierët DevOps në Bisedë e zbehtë. Gjithashtu ia vlen të shikoni kurset falas Udacity ose EDX.

Postime nga blogu ynë:



Burimi: www.habr.com

Shto një koment