Çfarë është metodologjia DevOps dhe kujt i nevojitet ajo

Lehtësojmë thelbin e metodologjisë dhe kë të ndihmojë ajo.

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

Çfarë është metodologjia DevOps dhe kujt i nevojitet ajo
Foto Matt Moor / Flickr / CC BY-SA

Çfarë është DevOps

DevOps është një metodologji për zhvillimin e softuerit, e cila ka për qëllim të organizojë bashkëpunimin mes programuesve dhe administratorëve të sistemeve brenda kompanisë. Nëse specialistët IT nga departamente të ndryshme nuk kuptojnë thelbin e detyrave të njëri-tjetrit, dalja e aplikacioneve dhe përditësimeve për ta shtyhet.

DevOps formon një cikël "pa shqetësime" të zhvillimit, duke ndihmuar kështu në përshpejtimin e daljes së produktit softuerik. Përshpejtimi arrihet përmes implementimit të sistemeve të automatizimit. Po ashtu, programuesit fillojnë të marrin pjesë në konfigurimin e serverëve dhe gjetjen e gabimeve, për shembull, ata mund të shkruajnë teste të automatizuara.

Kështu, arrihet një bashkëpunim më i mirë mes departamenteve. Punonjësit fillojnë të kuptojnë më mirë cilat faza kalon produkti softuerik para se të arrijë në duar të përdoruesit.

Kur një zhvillues kupton se me çfarë përballet administrator gjatë konfigurimit të serverit, ai do përpiqet të zbusë "këndet e forta" në kod. Kjo redukton numrin e gabimeve gjatë implementimit të aplikacionit - sipas statistikave, ai reduktuar pothuajse pesë herë.

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

Shumë ekspertë IT besojnë, se DevOps do të sjellë dobi për çdo organizatë që merret me zhvillimin e softuerit. Kjo është e vërtetë, madje edhe në rastin kur kompania është thjesht një konsumator i shërbimeve IT dhe nuk zhvillon aplikacione të saja. Në këtë rast, implementimi i kulturës DevOps do të ndihmojë që të përqendrohemi në inovacione.

Përjashtim përbëjnë startup-et, por edhe këtu gjithçka varet nga shkalla e projektit. Nëse qëllimi juaj është të lançoni një produkt minimalisht të jetueshëm (minimum viable product, MVP) për të testuar një ide të re, atëherë mund të kaloni pa DevOps. Për shembull, themeluesi i Groupon në fillim të punës mbi shërbimin vetë postonte të gjitha ofertat në faqe dhe mbledhte porosi. Ai nuk përdorte asnjë mjet automatizimi.

Implementimi i metodologjisë dhe mjeteve të automatizimit ka kuptim vetëm kur aplikacioni fillon të fitojë popullaritet. Kjo do të ndihmojë në organizimin e proceseve të biznesit dhe përshpejtimin e daljes së përditësimeve.

Si të implementoni DevOps

Më poshtë janë disa rekomandime për kalimin në metodologjinë e re.

Identifikoni problemet në proceset e biznesit. Para se të implementoni metodologjinë, përcaktoni qëllimet dhe problemet e organizatës. Këto do të përcaktojnë strategjinë tuaj për kalimin në DevOps. Për këtë, përgatitni një listë pyetjesh, për shembull:

  • Ku shpenzohet më shumë kohë gjatë përditësimit të softuerit?
  • A mund të automatizohet ky proces?
  • A ndikon struktura e organizatës në këtë?

Detaje rreth identifikimit të problemeve në organizatë mund të lexoni në libra «Projekti „Feniks“» dhe "Udhëzuesi për DevOps» nga autorët e metodologjisë.

Ndryshoni kulturën në kompani. Është e rëndësishme të bindni të gjithë punonjësit të ndryshojnë mënyrat e zakonshme të punës dhe të zgjasin spektrin e kompetencave të tyre. Për shembull, në Facebook, të gjithë programuesit janë përgjegjës për ciklin e jetës së aplikacionit tërësisht: nga shkrimi i kodit deri te implementimi. Po ashtu, në Facebook nuk ka një departament të veçantë për testim — testet i shkruajnë vetë zhvilluesit.

Filloni me pak. Zgjidhni procesin që merr më shumë kohë dhe energji gjatë lëshimit të përditësimeve, dhe automatizoni atë. Kjo mund të jetë testimi ose procesi i shpërndarjes së aplikacioneve. Ekspertët këshillojnë së pari rekomandojnë implementimin e mjeteve të kontrollit të versioneve të shpërndara. Me to, është më e lehtë të menaxhoni burimorët. Midis këtyre zgjidhjeve, më të njohurat janë Git, Mercurial, Subversion (SVN) dhe CVS.

Po ashtu, vlen të kushtohet vëmendje ndaj sistemeve të integrimit të vazhdueshëm, përgjegjëse për ndërtimin dhe testimin e produktit përfundimtar. Shembuj të tillë mjetesh janë: Jenkins, TeamCity dhe Bamboo.

Vlerësoni përmirësimet. Përgatitni metrikat e performancës së zgjidhjeve të implementuara dhe krijoni një listë kontrolli. Metrikat mund të përfshijnë frekuencën e lëshimeve, kohën e kaluar në funksionet e softuerit, numrin e defekteve në kod. Diskutoni rezultatet jo vetëm me menaxherët, por edhe me ekipin tjetër që punon në projekt. Pyetni se cilat mjete u mungojnë. Merrni parasysh këto kërkesa gjatë optimizimit të mëtejshëm të proceseve.

Kritika ndaj DevOps

Megjithëse metodologjia ndihmon u mundëson organizatave ta marrin vendimin më shpejt në lidhje me zhvillimin e aplikacioneve, paqës numrin e gabimeve në softuer dhe inkurajon punonjësit të mësojnë gjëra të reja, ajo ka edhe kritikët.

Ka mënyrë, që programerët nuk duhet të kuptojnë detajet e punës së administratorëve të sistemeve. Supozohen se DevOps çon në atë që në kompani, në vend të specialistëve të zhvillimit ose administratës, shfaqen njerëz që kuptojnë gjithçka, por në një mënyrë sipërfaqësore.

Një tjetër supozim është se DevOps nuk funksionon në menaxhim të dobët. Nëse ekipet e zhvilluesve dhe administratorëve nuk kanë qëllime të përbashkëta, kjo është faji i menaxherëve, të cilët nuk organizojnë ndërveprimin mes ekipeve. Për të zgjidhur këtë problem, nuk nevojitet një metodologji e re, por një sistem vlerësimi për menaxherët bazuar në komente nga nënshtruarit. Këtu mund të lexoni se çfarë pyetje duhet të përfshihen në format e pyetjeve për punonjësit.

Çfarë është metodologjia DevOps dhe kujt i nevojitet ajo
Foto Ed Ivanushkin / Flickr / CC BY-SA

Kush është inxhinieri DevOps

Inxhinieri DevOps merret me implementimin e metodologjisë DevOps. Ai sinkronizon të gjitha fazat e krijimit të produktit softuerik: nga shkruarja e kodit deri te testimi dhe lansimi i aplikacionit. Ky specialist mbikëqyr departamentet e zhvillimit dhe administratës, si dhe automatizon realizimin e detyrave të tyre duke implementuar mjete të ndryshme programore.

Karakteristika e inxhinierit DevOps është se ai kombinon shumë profesione: administrator, zhvillues, testues dhe menaxher.

Joe Sanchez, evangelist i DevOps nga VMware, kompania zhvilluese e softuerit për virtualizim, theksoi një sërë aftësish, të cilat një inxhinier DevOps duhet t'i ketë. Përveç njohurisë së dukshme të metodologjisë DevOps, ky person duhet të ketë eksperiencë në administrimin e sistemeve operative Windows dhe Linux dhe eksperiencë në punën me mjete automatizimi si Chef, Puppet, Ansible. Ai gjithashtu duhet të dijë të shkruajë skenare dhe kod në disa gjuhë dhe të kuptojë teknologjitë e rrjetit.

Inxhinieri DevOps është përgjegjës për çdo automatizim detyrash që lidhen me konfigurimin dhe vendosjen e aplikacioneve. Në supet e tij bie edhe monitorimi i softuerit. Për të zgjidhur këto detyra, ai përdor sisteme të ndryshme të menaxhimit të konfigurimeve, zgjidhje virtualizimi dhe mjete të reja për balancimin e burimeve.

Kush punëson

Inxhinierët DevOps mund të sjellin dobi për çdo organizatë, veçanërisht ato që lidhen me zhvillimin e aplikacioneve ose menaxhimin e një numri të madh serverësh. Inxhinierët DevOps punësohen nga gjigantët IT si Amazon, Adobe dhe Facebook. Ata gjithashtu punojnë për Netflix, Walmart dhe Etsy.

Nuk punësohen Startupet punojnë me inxhinierët DevOps. Detyra e tyre është të lëshojnë një produkt minimalisht funksional për të verifikuar një ide të re. Në shumicën e rasteve, startupet mund të vazhdojnë pa inxhinierë DevOps.

Sa paguhet

Inxhinierët DevOps kannon më shumë se të gjithë në industri. Paga mesatare e këtyre specialistëve në mbarë botën është nga 100 deri në 125 mijë dollarë në vit.

Në SHBA, ata marrin 90 mijë dollarë në vit (500 mijë rubla në muaj). Në Kanada, ata paguhen 122 mijë dollarë në vit (670 mijë rubla në muaj), ndërsa në Mbretërinë e Bashkuar — 67,5 mijë paund sterlina në vit (490 mijë rubla në muaj).

Sa i përket Rusisë, kompanitë në Moskë janë gati të paguajnë inxhinierët DevOps nga 100 deri në 200 mijë rubla në muaj. Në Shën Petersburg, punëdhënësit janë pak më bujarë — ofrojnë 160–360 mijë rubla në muaj. Në rajone, pagat variojnë nga 100–120 mijë rubla në muaj.

Si të bëheni specialist i DevOps

DevOps është një drejtim relativisht i ri në IT, prandaj nuk ka një listë të konsoliduar kërkesash për inxhinierët DevOps. Në ofertat e punës, përveç kërkesave për njohuritë e administratës së Debian dhe CentOS, mund të hasni gjithashtu aftësi për të punuar me RAID-masivat.

Nga kjo mund të përfundojmë se përveç kësaj, inxhinieri DevOps duhet të ketë një horizont të gjerë teknik. Një person i tillë është e rëndësishme të studiojë vazhdimisht mjete dhe teknologji të reja.

Shumë më lehtë do të jetë për një administrator sistemi ose një zhvillues të bëhet inxhinier DevOps. Ata tashmë kanë një sërë aftësish që duhet vetëm të zhvillohen. Detyra kryesore është të rrisin njohuritë minimale në DevOps, të kuptojnë se si të punojnë me mjetet e automatizimit dhe të mbushin boshllëqet në njohuritë e administratës, programimit dhe virtualizimit.

Për të kuptuar se ku janë ende boshllëqe në njohuri, mund të përdorni mini-vikipedinë në GitHub ose hartën mendore. Anëtarët e Hacker News gjithashtu rekomandojnë mund të lexojnë librat "Projekti „Feniks“» dhe "Udhëzuesi për DevOps" (të cilat i përmendëm më lart) dhe "Filozofia DevOps. Arti i menaxhimit të IT" sipas O’Reilly Media.

Mund të abonoheni gjithashtu në newsletter-in Devops Weekly, të lexoni artikujt e portalit tematik DZone dhe të filloni të komunikoni me inxhinierët DevOps në Slack-chat.Gjithashtu, ia vlen të studioni kurset falas në Udacity ose edX.

Postime nga blogu ynë:



Burimi: habr.com

Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster