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

Të shqyrtojmë thelbin e metodologjisë dhe kujt mund t'i sjellë dobi.

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

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

Çfarë është DevOps

DevOps është një metodologji zhvillimi software, me qëllim të forcojë bashkëpunimin mes programuesve dhe administratorëve të sistemit në kompani. Nëse specialistët IT nga departamente të ndryshme nuk kuptojnë thelbin e detyrave të njëri-tjetrit, lëshimi i aplikacioneve të reja dhe përditësimeve për to zgjat.

DevOps formon një cikël zhvillimi "pa shpërqendrime", duke ndihmuar kështu në përshpejtimin e lëshimit të produktit software. Përshpejtimi arrihet përmes implementimit të sistemeve të automatizimit. Përveç kësaj, programuesit fillojnë të marrin pjesë në konfigurimin e serverëve dhe gjetjen e defekteve, për shembull, ata mund të shkruajnë teste automatizimi.

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

Kur zhvilluesi kupton se çfarë përballen administratorët gjatë konfigurimit të serverit, ai do të përpiqet të zbusë mundësitë e "këndvijave" në kod. Kjo ul numrin e defekteve gjatë shpërndarjes së aplikacionit — sipas statistikave, ajo reduktikon afërsisht pesë herë.

Kush e ka dhe kush nuk e ka metodologjinë

Shumë Ekspertët e IT-së mendojnë, se DevOps do t'i sjellë dobi çdo organizate që merret me zhvillimin e softuerit. Kjo është e vërtetë edhe kur kompania është një konsumator i thjeshtë i shërbimeve IT dhe nuk zhvillon aplikacione të veta. Në këtë rast, implementimi i kulturës DevOps do të ndihmojë në fokusimin në inovacione.

Përjashtimi përbëjnë startupet, por edhe këtu gjithçka varet nga shkalla e projektit. Nëse qëllimi juaj është të lançoni një produkt minimalisht funksional (minimum viable product, MVP) për të testuar një ide të re, atëherë mund të kaloni edhe pa DevOps. Për shembull, themeluesi i Groupon në fillim të punës së tij me shërbimin vetë vendoste të gjitha ofertat në faqe dhe mbledhte porositë. Ai nuk përdori asnjë mjet automatizimi.

Implementing methodology and automation tools is meaningful only when the application starts gaining popularity. This will help streamline business processes and speed up the release of updates.

How to implement DevOps

Next — several recommendations for transitioning to the new methodology.

Identify problems in business processes. Before implementing the methodology, outline the goals and problems of the organization. These will determine the strategy for transitioning to DevOps. For this, create a list of questions, such as:

  • What takes the most time during software updates?
  • Can this process be automated?
  • Does the organizational structure influence this?

Details about identifying problems in the organization can be read in books «Project 'Phoenix'» dhe «Udhëzuesi i DevOpsby the authors of the methodology.

Change the culture in the company. It is important to persuade all employees to change their usual ways of working and expand their range of competencies. For example, in Facebook, all programmers are responsible for the entire application lifecycle: from coding to deployment. Also, in Facebook, there is no separate testing department — developers write the tests themselves.

Start small. Zgjidhni procesin që kërkon më shumë kohë dhe përpjekje gjatë lëshimit të përmirësimeve, dhe automatizoni atë. Kjo mund të jetë testimi ose procesi i shpërndarjes së aplikacioneve. Ekspertët këshillojnë që hapat e parë të jenë implementimi i mjeteve të kontrollit version të shpërndarë. Me to, është më e lehtë të menaxhosh burimet. Disa nga këto zgjidhje më të njohura janë Git, Mercurial, Subversion (SVN) dhe CVS.

Gjithashtu ka rëndësi të kushtoni vëmendje sistemeve të integrimit të vazhdueshëm, të cilat janë përgjegjëse për ndërtimin dhe testimin e produktit përfundimtar. Disa shembuj të tillë janë: Jenkins, TeamCity dhe Bamboo.

Vlerësoni përmirësimet. Zhvilloni metrika efektiviteti për zgjidhjet e implementuara dhe përgatitni një listë kontrolli. Metrikat mund të përfshijnë frekuencën e lëshimeve, kohën e kaluar në funksionet e softuerit, numrin e gabimeve në kod. Diskutoni rezultatet jo vetëm me menaxherët, por edhe me pjesën tjetër të ekipit të angazhuar në projekt. Pyesni se cilat mjete mungojnë. Merrni parasysh këto kërkesa gjatë optimizimit të mëtejshëm të proceseve.

Kritika ndaj DevOps

Megjithëse metodologjia ndihmon organizatat të marrin vendime më shpejt në lidhje me zhvillimin e aplikacioneve, reduktimi numri i gabimeve në software dhe inkurajon punonjësit të mësojnë diçka të re, ka edhe kritika.

Ka opinion, që programuesit nuk duhet të merret me detajet e punës së administratorëve të sistemeve. Sipas të dhënave, DevOps çon në këtë mënyrë që në kompani të keni njerëz që kuptojnë gjithçka, por sipërfaqësisht, në vend të specialistëve në zhvillim ose administrim.

Gjithashtu besohet se DevOps nuk funksionon në menaxhim të keq. Nëse ekipet e zhvilluesve dhe administratorëve nuk kanë qëllime të përbashkëta, kjo është faji i menaxherëve që nuk organizojnë bashkëpunimin midis 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ënshkruesit. Këtu mund të lexoni cilat pyetje duhet të përfshihen në format e anketave për punonjësit.

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

Kush është inxhinieri DevOps

Inxhinieri DevOps merret me zbatimin e metodologjisë DevOps. Ai sinkronizon të gjitha fazat e krijimit të produktit programor: nga shkruajtja e kodit deri te testimi dhe lëshimi i aplikacionit. Ky specialist kontrollon departamentet e zhvillimit dhe administratës dhe automatizon kryerjen e detyrave të tyre duke implementuar mjete të ndryshme softuerike.

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

Joe Sanchez, evangelist DevOps nga VMware, një kompani zhvillimi softuerësh për virtualizim, theksoi një sërë aftësish që duhet të ketë inxhinieri DevOps. Përveç njohurive të dukshme në metodologjinë DevOps, ky person duhet të ketë përvojë në administrimin e sistemeve operative Windows dhe Linux dhe përvojë në përdorimin e mjeteve të automatizimit si ChefPuppetAnsible. Ai gjithashtu duhet të dijë të shkruajë skripta dhe kod në disa gjuhë dhe të kuptojë teknologjitë e rrjetit.

Inxhinieri DevOps është përgjegjës për automatizimin e çdo detyre që lidhet me konfigurimin dhe implementimin e aplikacioneve. Ai gjithashtu merret me monitorimin e softuerit. Për të zgjidhur këto detyra, ai përdor sisteme të ndryshme menaxhimi të konfiguratave, zgjidhje virtualizimi dhe mjete të reja cloud për balancimin e resurseve.

Kush punëson

Inxhinierët DevOps mund të sjellin përfitime për çdo organizatë që është e lidhur 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 Inxhinierët DevOps vetëm nga startup-et. Detyra e tyre është të lëshojnë një produkt minimalisht jetësor për të provuar një ide të re. Në shumicën e rasteve, startup-et mund të kalojnë pa DevOps.

Sa paguajnë

Inxhinierët DevOps paguajnë më shumë se të gjithë të tjerët në industrinë. Pagesa mesatare për këta profesionistë në botë ë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 paguajnë 122 mijë dollarë në vit (670 mijë rubla në muaj), ndërsa në Mbretërinë e Bashkuar - 67.5 mijë paund sterling në vit (490 mijë rubla në muaj).

Sa për këtë, kompanitë në Moskë janë të gatshme të paguajnë specialistët DevOps nga 100 deri në 200 mijë rubla në muaj. Në Sankt Petersburg, punëdhënësit janë pak më bujare - ofrojnë 160-360 mijë rubla në muaj. Në rajone, pagat janë 100-120 mijë rubla në muaj.

Si të bëheni specialist DevOps

DevOps është një fushë relativisht e re në IT, prandaj nuk ka një listë të konsoliduar kërkesash për inxhinierët DevOps. Në shpalljet e punës, midis kërkesave për këtë pozita mund të takoni si aftësi në administrimin e Debian dhe CentOS, ashtu edhe aftësinë për të punuar me RAID arrays.

Nga kjo mund të nxirret përfundimi se, para së gjithash, inxhinieri DevOps duhet të ketë një horizont të mirë teknik. Një person i tillë është e rëndësishme të studiojë vazhdimisht mjete dhe teknologji të reja.

Më e lehtë do të jetë të bëhesh inxhinier DevOps për një administrator sistemesh ose zhvillues. Ata tashmë kanë një sërë aftësish që duhet thjesht të zhvillohen. Detyra kryesore është të forcojnë grupin minimal të njohurive në DevOps, të kuptojnë se si të punojnë me mjetet e automatizimit dhe të plotësojnë boshllëqet në aftësitë e administratës, programimit dhe virtualizimit.

Për të kuptuar se ku mungojnë njohuri, mund të përdorni mini-vikipedinë në GitHub ose hartën mendore. Rezidentët e Hacker News gjithashtu këshillojnë mund të lexojnë librat “Project 'Phoenix'» dhe «Udhëzuesi i DevOps“ (të cilat i përmendëm më sipër) dhe “Filozofia DevOps. Arti i menaxhimit të IT“ nën imprint-in e O’Reilly Media.

Kështu mund të abonoheni 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.

Postimet nga blogu ynë:



Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster