Kven er DevOps og nÄr er det ikkje naudsynt

Kven er DevOps og nÄr er det ikkje naudsynt

DevOps-tema har blitt svÊrt populÊr de siste Ärene. Mange drÞmmer om Ä bli en del av den, men som praksisen viser, er det ofte bare pÄ grunn av lÞnnsnivÄene.

Noen oppgir DevOps i CV-en sin, selv om de ikke alltid vet og forstÄr essensen av termen. Noen mener at ved Ä lÊre Ansible, GitLab, Jenkins, Terraform og lignende (listen kan fortsette etter ens egen smak), vil de umiddelbart bli en «devops». Dette er selvfÞlgelig ikke riktig.

De siste Ärene har jeg stort sett jobbet med Ä implementere DevOps i ulike selskaper. FÞr dette jobbet jeg over 20 Är i stillinger fra systemadministrator til IT-direktÞr. NÄ er jeg DevOps Lead Engineer i Playgendary.

Hvem er DevOps

Ideen om Ä skrive en artikkel oppstod etter et nytt spÞrsmÄl: «hvem er DevOps?». Det finnes fortsatt ingen etablert definisjon av hva eller hvem dette er. Noe av svaret finnes allerede i denne video. FÞrst vil jeg trekke frem de viktigste punktene fra den, og deretter dele mine observasjoner og tanker.

DevOps er ikke en spesialist som du kan ansette, ikke et verktĂžysett, og ikke en avdeling med utviklere og ingeniĂžrer.

DevOps er en filosofi og metodikk.

Med andre ord, det er et sett med praksiser som hjelper til med Ă„ aktivt samhandle mellom utviklere og systemadministratorer. Det vil si Ă„ knytte og integrere arbeidsprosessene med hverandre.

Med fremveksten av DevOps har strukturen og rollene til spesialister forblitt de samme (det er utviklere, det er ingeniĂžrer), men reglene for samhandling har endret seg. Grensene mellom avdelingene har blitt uklare.

MÄlene for DevOps kan beskrives i tre punkter:

  • Programvaren mĂ„ oppdateres regelmessig.
  • Programvaren mĂ„ utvikles raskt.
  • Programvaren mĂ„ distribueres enkelt og pĂ„ kort tid.

DevOps har ikke ett enkelt verktĂžy. Å konfigurere, installere og lĂŠre seg flere produkter betyr ikke at selskapet har fĂ„tt DevOps. Det finnes mange verktĂžy som brukes pĂ„ ulike stadier, men de tjener ett felles mĂ„l.

Kven er DevOps og nÄr er det ikkje naudsynt
Og dette er bare en del av DevOps-verktĂžyene

I over to Är har jeg intervjuet folk til stillingen som DevOps-ingeniÞr, og jeg har innsett hvor viktig det er Ä forstÄ essensen av termen klart. Jeg har opparbeidet meg spesifikk erfaring, observasjoner og tanker som jeg Þnsker Ä dele.

Fra min erfaring med intervjuer ser jeg et slikt bilde: spesialister som anser DevOps som en stilling, har vanligvis misforstÄelser med kollegene..

Det var et klart eksempel. En ung mann kom til intervjuet med en haug av smarte ord i CV-en. PĂ„ de tre siste arbeidsplassene hadde han erfaring pĂ„ 5-6 mĂ„neder. Han forlot to oppstartsselskaper fordi de «ikke lyktes». NĂ„r det gjaldt det tredje selskapet, sa han at ingen forstod ham: utviklerne skriver kode for Windows, mens direktĂžren tvinger ham til Ă„ «pakkere» denne koden i vanlig Docker og integrere den i CI/CD-pipelinen. Gutten delte mye negativt om sin nĂ„vĂŠrende arbeidsplass og kollegene sine — man skulle nesten Ăžnske Ă„ svare: «SĂ„ du kan ikke selge elefanten».

Deretter stilte jeg ham et spÞrsmÄl, som er en av de fÞrste i min liste for hver kandidat.

— Hva betyr DevOps for deg personlig?
— Generelt eller hvordan oppfatter jeg det?

Jeg var interessert i hans personlige mening. Han visste teorien og opprinnelsen til begrepet, men var kategorisk uenig med dem. Han mente at DevOps er en stilling. Her ligger roten til problemene hans. Som hos andre spesialister med samme mening.

Arbeidsgivere, etter Ä ha hÞrt om «magien til DevOps», Þnsker Ä finne en person som kan komme og skape denne «magien». Og sÞkere med holdningen «DevOps er en stilling» forstÄr ikke at med en slik tilnÊrming vil de ikke kunne innfri forventningene. Generelt sett skrev de DevOps i sin CV fordi det er en trend og fordi man fÄr godt betalt for det.

Metodologi og filosofi for DevOps

Metodologien kan vÊre teoretisk eller praktisk. I vÄrt tilfelle er det det andre. Som jeg nevnte tidligere, er DevOps en samling av praksiser og strategier brukt for Ä oppnÄ de angitte mÄlene. Og i hvert tilfelle, avhengig av forretningsprosessene i selskapet, kan den variere betydelig. Dette gjÞr den ikke bedre eller dÄrligere.

DevOps-metodologi er bare et verktÞy for Ä oppnÄ de satte mÄlene.

NÄ om hva DevOps-filosofien er. Og dette er kanskje det vanskeligste spÞrsmÄlet.

Å formulere et kort og presist svar er ganske vanskelig, fordi det ikke er blitt formalisert ennĂ„. Og siden tilhengerne av DevOps-filosofien ofte er opptatt med praktisk arbeid — er det rett og slett ikke tid for filosofiske diskusjoner. Likevel er dette en veldig viktig prosess. Dessuten er det direkte relatert til ingeniĂžrvirksomhet. Det finnes til og med et spesialisert kunnskapsfelt — filosofi for teknologi.

I did not have such a subject in my university, so I had to study everything independently based on the materials I could find in the 90s. The topic is not mandatory for engineering education, hence the lack of a formalized answer. However, those who have seriously immersed themselves in DevOps begin to sense a certain 'spirit' or 'unconscious comprehensiveness' of all company processes.

From my experience, I have tried to formalize some 'postulates' of this philosophy. The result is as follows:

  • DevOps is not something independent that can be singled out as a separate field of knowledge or activity.
  • All company employees should be guided by DevOps methodology when planning their activities.
  • DevOps touches upon all processes within the company.
  • DevOps exists to reduce time costs on any processes within the company to ensure the development of its services and maximum client comfort.
  • DevOps, in modern terms, is a proactive stance of each company employee aimed at reducing time expenses and improving the quality of the IT products around us.

I believe that my 'postulates' are a separate topic for discussion. But now there is something to build upon.

What DevOps Does

The key word here is communication. There is a lot of communication, initiated by the very DevOps engineer. Why is that? Because it is a philosophy and methodology, and only then does it involve engineering knowledge.

I can't speak about the Western labor market with 100% certainty. But I know quite a bit about the DevOps market in Russia. In addition to hundreds of interviews, over the past year and a half, I have participated in a hundred technical presales for the 'DevOps Implementation' service for large Russian companies and banks.

I Russland er DevOps fortsatt et meget ungt, men allerede trendy tema. SÄ langt jeg vet, var det mer enn 1000 spesialister i slik mangel bare i Moskva i 2019. Ordet Kubernetes er for arbeidsgivere nesten som et rÞdt klut for en okse. Tilhengerne av dette verktÞyet er klare til Ä bruke det selv der det ikke er nÞdvendig og ikke Þkonomisk gunstig. Arbeidsgivere forstÄr ikke alltid i hvilke tilfeller det er mer hensiktsmessig Ä bruke hva, og med riktig distribusjon kan innholdet i Kubernetes-klyngen koste 2-3 ganger mer enn distribusjonen av en applikasjon etter et vanlig klyngeskjema. Bruk det der det faktisk er nÞdvendig.

Kven er DevOps og nÄr er det ikkje naudsynt

Implementering av DevOps, sett fra et Þkonomisk perspektiv, er dyrt. Det er bare berettiget der det gir Þkonomisk gevinst i andre omrÄder, ikke bare i seg selv.

DevOps-ingeniÞrer er faktisk pionerer - det er de som fÞrst mÄ implementere denne metodikken i selskapet og bygge prosessene. For at dette skal vÊre vellykket, mÄ spesialisten hele tiden samhandle med ansatte og kolleger pÄ alle nivÄer. Som jeg pleier Ä si, mÄ alle ansatte i selskapet involveres i prosessen med Ä implementere DevOps: fra rengjÞringspersonen til CEO. Og dette er en nÞdvendig betingelse. Hvis det yngste medlemmet av teamet ikke vet og forstÄr hva DevOps er og hvorfor ulike organisatoriske handlinger utfÞres, vil det ikke bli noen vellykket implementering.

I tillegg mÄ DevOps-ingeniÞren av og til bruke administrativt ressurser. For eksempel for Ä overvinne "motstand fra miljÞet" - nÄr teamet ikke er klart til Ä ta imot verktÞyene og metodikken til DevOps.

Utvikleren skal bare skrive kode og tester. For dette trenger han ikke en superkraftig bÊrbar datamaskin hvor han skal distribuere og stÞtte hele prosjektets infrastruktur lokalt. For eksempel har frontend-utvikleren alle appens elementer pÄ sin bÊrbare datamaskin, inkludert databasen, S3-emulator (minio) og mer. Med andre ord bruker han mye tid pÄ Ä opprettholde denne lokale infrastrukturen og kjemper alene med alle problemene som fÞlger med denne lÞsningen, i stedet for Ä utvikle kode for fronten. Slike personer kan vÊre sterkt motvillige til enhver endring.

Men er det lag som omvendt er glade for Ă„ implementere nye verktĂžy og metoder, og som aktivt deltar i denne prosessen. Selv i slike tilfeller er kommunikasjonen mellom DevOps-ingeniĂžren og gruppen fortsatt viktig.

NÄr DevOps ikke er nÞdvendig

Det finnes situasjoner der DevOps ikke er nÞdvendig. Dette er et faktum som mÄ forstÄs og aksepteres.

FÞrst og fremst gjelder dette enhver bedrift (spesielt smÄbedrifter) der inntjeningen ikke er direkte avhengig av tilstedevÊrelse eller fravÊr av IT-produkter som tilbyr informasjonstjenester til kundene. Dette handler ikke om selskapets nettsted, enten det er en statisk «visittkort» eller har dynamiske nyhetsblokker osv.

DevOps er nÞdvendig nÄr tilfredsheten til kunden din og hans vilje til Ä komme tilbake til deg igjen er avhengig av kvaliteten, relevante tjenester og mÄten informasjonstjenester interagerer med kunden.

Et tydelig eksempel er en kjent bank. Selskapet har ingen tradisjonelle kundekontorer, dokumentbehandlingen skjer via post eller budfirma, og mange ansatte jobber hjemmefra. Selskapet har sluttet Ă„ vĂŠre bare en bank og har, etter min mening, blitt et IT-selskap med utviklede DevOps-teknologier.

Det finnes mange andre eksempler og forelesninger tilgjengelig fra tematiske meetups og konferanser. Flere av dem besĂžkte jeg personlig — det er en veldig nyttig erfaring for de som Ăžnsker Ă„ utvikle seg innen dette feltet. Her er linker til YouTube-kanaler med gode forelesninger og materiale om DevOps:

Se nÄ pÄ bedriften din og tenk pÄ dette: hvor mye er selskapet ditt og inntjeningen avhengig av IT-produkter som muliggjÞr interaksjon med kunden?

Hvis selskapet ditt selger fisk i en liten butikk og det eneste IT-produktet er to konfigurasjoner av 1ĐĄ: Enterprise (Regnskap og UNF), er det neppe noe poeng i Ă„ snakke om DevOps.

Men hvis du jobber i en stor handels- og produksjonsbedrift (for eksempel produserer jaktgevÊr), sÄ bÞr du vurdere det. Du kan ta initiativet og formidle til ledelsen mulighetene for implementering av DevOps. Og samtidig lede denne prosessen. En proaktiv holdning er en av de viktigste postulater i DevOps-filosofien.

StÞrrelse og volumen av Ärlig finansiell omsetning er ikke det viktigste kriteriet for Ä avgjÞre om virksomheten din trenger DevOps.

La oss forestille oss en stor industriell bedrift som ikke interagerer direkte med kundene. For eksempel, noen bilprodusenter og bilfabrikker. NÄ er jeg ikke sikker, men fra min tidligere erfaring har alt interaksjon med kunder blitt utfÞrt via e-post og telefon i mange Är.

Kundene deres er en begrenset liste av bilforhandlere. Og hver av dem har en spesialist fra produsenten tilknyttet. All intern dokumentflyt skjer gjennom ERP SAP. Interne ansatte er i prinsippet kunder av informasjonssystemet. Men styringen av dette systemet skjer med klassiske metoder for styring av klyngesystemer. Dette utelukker muligheten for Ă„ bruke DevOps-praksiser.

Derfor konkluderer vi med at for slike virksomheter er implementering av DevOps ikke kritisk viktig, hvis vi husker mÄlene til metodologien fra begynnelsen av artikkelen. Men jeg utelukker ikke at noen DevOps-verktÞy blir brukt av dem i dag.

PÄ den annen side finnes det mange smÄ selskaper som utvikler programvare ved Ä bruke metodologi, filosofi, praksiser og verktÞy fra DevOps. De mener at kostnadene ved Ä implementere DevOps er utgifter som gjÞr dem i stand til Ä konkurrere effektivt pÄ programvaremarkedet. Eksempler pÄ slike selskaper kan sees. her.

Hovedkriteriet for Ä forstÄ om man trenger DevOps: hvilken betydning har IT-produktene deres for selskapet og kundene.

Hvis det primĂŠre produktet til selskapet, som genererer inntekt, er programvare — trenger du DevOps. Og det er ikke sĂ„ viktig om du tjener ekte penger gjennom andre varer. Dette inkluderer ogsĂ„ nettbutikker eller mobile applikasjoner med spill.

Alle spill eksisterer gjennom finansiering: direkte eller indirekte fra spillerne. I Playgendary utvikler vi gratis mobilspill, som involverer mer enn 200 personer i den direkte utviklingen. Hvordan bruker vi DevOps?

Akkurat pÄ samme mÄte som beskrevet ovenfor. Jeg kommuniserer hele tiden med utviklere og testere, og holder interne opplÊringer for ansatte om metodologi og verktÞy fra DevOps.

NÄ har vi aktivt tatt i bruk Jenkins som verktÞy for CI/CD-pipelines for Ä utfÞre alle byggingskonveyor med Unity og pÄfÞlgende distribusjon til App Store og Play Market. I tillegg til det klassiske settet av verktÞy:

  • Asana – for prosjektledelse. Integrasjonen med Jenkins er konfigurert.
  • Google Meet – for videomĂžter.
  • Slack – for kommunikasjon og ulike varsler, inkludert notifikasjoner fra Jenkins.
  • Atlassian Confluence – for dokumentasjon og gruppearbeid.

I nĂŠrmeste framtid planlegger vi Ă„ implementere statisk kodeanalyse med SonarQube og gjennomfĂžre automatisert UI-testing ved hjelp av Selenium i lĂžpet av Continuous Integration.

In conclusion

Jeg vil avslutte med denne tanken: for Ă„ bli en hĂžyt kvalifisert DevOps-ingeniĂžr, er det livsviktig Ă„ lĂŠre seg Ă„ kommunisere med mennesker.

DevOps-ingeniÞren er en lagspiller. Og pÄ ingen annen mÄte. Initiativet i kommunikasjonen med kolleger mÄ komme fra ham selv, og ikke vÊre pÄtvunget av omstendigheter. En DevOps-spesialist mÄ vÊre i stand til Ä se og foreslÄ den beste lÞsningen for teamet.

Og ja, implementering av enhver lĂžsning vil kreve mange diskusjoner, og til slutt kan det endre seg helt. Gjennom Ă„ utvikle seg selv, tilby og gjennomfĂžre sine ideer – slik en person blir stadig mer verdifull bĂ„de for teamet og for arbeidsgiveren. Dette reflekteres til slutt ogsĂ„ i stĂžrrelsen pĂ„ hans mĂ„nedlige belĂžnning eller i form av ekstra bonuser.

Kilde: habr.com

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster