Hvordan bli DevOps-ingeniør om seks måneder eller enda raskere. Del 1. Introduksjon

Целевая аудитория

Er du en utvikler som ønsker å dreie karrieren mot en mer avansert DevOps-modell? Er du en klassisk Ops-ingeniør og vil gjerne få en ide om hva DevOps betyr? Eller har du ingen av dem, og etter å ha brukt litt tid innen IT, ønsker du å bytte karriere og har ingen anelse om hvor du skal begynne?
Hvis ja, les videre for å finne ut hvordan du kan bli en DevOps-ingeniør på mellomnivå om seks måneder! Til slutt, hvis du har vært involvert i DevOps i mange år, vil du fortsatt få mye ut av denne artikkelserien for å lære hvor integrasjons- og automasjonsindustrien er for tiden og hvor den er på vei.

Hvordan bli DevOps-ingeniør om seks måneder eller enda raskere. Del 1. Introduksjon

Hva er dette for noe?

For det første, hva er DevOps? Du kan Google definisjoner og gå gjennom alt ordspråket, men vet at de fleste av definisjonene bare er et virvar av ord pakket inn i en strømlinjeformet form. Derfor vil jeg gi deg en oppsummering av alle disse definisjonene: DevOps er en metode for å levere programvare der hodepinen og ansvaret deles mellom alle involverte. Det er alt.

Ok, men hva betyr denne forkortelsen? Det betyr at tradisjonelt har utviklere (personene som lager programvare) blitt motivert til å gjøre arbeidet sitt av insentiver som er vesentlig forskjellige fra Operations (personene som administrerer programvaren). Som utvikler ønsker jeg for eksempel å lage så mange nye funksjoner så raskt som mulig. Dette er tross alt jobben min og det er dette kundene etterspør! Men hvis jeg er en Ops-person, trenger jeg så få nye funksjoner som mulig, fordi hver ny funksjon er en endring, og enhver endring er full av problemer. Som et resultat av denne feiljusteringen av insentiver ble DevOps født.

DevOps forsøker å kombinere utvikling og drift (integrasjon og automatisering) til én gruppe. Tanken er at en gruppe nå skal dele både smerten og ansvaret (og sannsynlige belønninger) ved å bygge, distribuere og generere inntekter fra kundevendt programvare.

Purister vil fortelle deg at det ikke er noe slikt som en "DevOps-ingeniør." "DevOps er en kultur, ikke en rolle," vil de fortelle deg. Selvfølgelig, fra et teknisk synspunkt har de rett, men som det er ofte har begrepet gått ut av kontroll. Utover dens opprinnelige betydning er en DevOps-ingeniør noe sånt som en "systemingeniør 2.0." Med andre ord er han en person som forstår programvareutviklingens livssyklus og lager programvareutviklingsverktøy og -prosesser for å løse klassiske driftsproblemer.

Hvordan bli DevOps-ingeniør om seks måneder eller enda raskere. Del 1. Introduksjon

DevOps betyr til syvende og sist å lage digitale pipelines som tar kode fra en utviklers bærbare datamaskin og gjør den om til inntekter fra bruken av sluttproduktet, det er det det handler om. Legg merke til at å velge en DevOps-karriere er ganske høyt kompensert av økonomiske belønninger, med nesten alle selskaper som enten "gjør DevOps" eller hevder å være det. Uavhengig av hvor disse selskapene er lokalisert, er de generelle jobbmulighetene som DevOps ganske høye og tilbyr "morsom" og meningsfull sysselsetting i mange år fremover.

Vær imidlertid på vakt mot selskaper som ansetter et «DevOps-team» eller «DevOps-avdeling». Strengt tatt bør slike ting ikke eksistere, for til syvende og sist er DevOps fortsatt en kultur og en måte å levere programvare på, ikke bemanne et nytt team eller opprette avdeling med et fancy navn.

Ansvarsfraskrivelse

La oss nå legge glasset med Kool-Aid til side et øyeblikk og tenke på følgende. Har du hørt det gamle ordtaket "det er ingen junior DevOps-ingeniører?" Hvis ikke, så vit at dette er en populær trope på Reddit og StackOverflow. Men hva betyr det?

Enkelt sagt betyr denne setningen at det krever mange års erfaring kombinert med en solid forståelse av verktøyene for til slutt å bli en virkelig effektiv Senior DevOps-utøver. Og dessverre er det ingen snarvei til å nå målet. Så dette er ikke et forsøk på å spille systemet – jeg tror faktisk ikke det er mulig å utgi seg for å være en senior DevOps-ingeniør med noen måneders erfaring i bransjen. Å oppnå en solid forståelse av raskt skiftende verktøy og metoder krever mange års erfaring, og det er ingen vei utenom det. Det er imidlertid en nesten konsekvent (moteriktig, om du vil) meny med verktøy og konsepter som de fleste bedrifter bruker, og det er det vi skal snakke om.

Igjen, verktøy er forskjellige fra ferdigheter, så mens du lærer deg verktøyene, sørg for at du ikke forsømmer ferdighetene dine (undersøkelse, nettverk, skriftlig kommunikasjon, feilsøking osv.). Viktigst av alt, ikke mist av syne det vi ønsker å finne – en måte å lage en helautomatisert digital pipeline som tar ideer og gjør dem om til inntektsgenererende kodebiter. Dette er den viktigste konklusjonen fra hele denne artikkelen!

Nok prat, når kan jeg begynne?

Nedenfor er DevOps Fundamental Knowledge veikart. Etter å ha mestret alt som er avbildet der, kan du trygt og ærlig kalle deg selv en DevOps-ingeniør! Eller en skyingeniør hvis du ikke liker navnet "DevOps".

Hvordan bli DevOps-ingeniør om seks måneder eller enda raskere. Del 1. Introduksjon

Dette kartet representerer min (og sannsynligvis de fleste som jobber i dette rommet) ideen om hva en kompetent DevOps-ingeniør bør vite. Dette er imidlertid kun en mening, og det vil selvfølgelig være de som er uenige i den. Dette er greit! Vi streber ikke etter perfeksjon her, vi streber etter et solid fundament som vi faktisk kan bygge på.

Du må gå gjennom denne banen gradvis, lag for lag. La oss starte (og fortsette!) med det grunnleggende ved først å lære om elementene i blått—Linux, Python og AWS. Deretter, hvis tiden eller etterspørselen fra arbeidsmarkedet tillater det, gjør du de lilla tingene - Golang og Google Cloud.

Ærlig talt, det grunnleggende topplaget er noe du må studere for alltid. OS Linux er veldig komplekst og tar år å mestre. Python krever konstant øvelse for å holde seg oppdatert. AWS utvikler seg så raskt at det du vet i dag bare vil være en del av din samlede kunnskapsportefølje om ett år. Når du har lært det grunnleggende, gå videre til det faktiske ferdighetssettet. Vær oppmerksom på at det er totalt 6 blå kolonner (Konfigurasjon, Versjon, Pakking, Deployering, Lansering, Overvåking), én per måned av studien.

Hvordan bli DevOps-ingeniør om seks måneder eller enda raskere. Del 1. Introduksjon

Du la selvfølgelig merke til fraværet av et viktig stadium i vår seks måneder lange pipeline - testing. Jeg har bevisst ikke inkludert det i veikartet fordi det å skrive en modul, integrasjon og aksept tester ikke er lett og tradisjonelt faller på skuldrene til utviklerne. Og å hoppe over "testing"-stadiet forklares av det faktum at målet med dette veikartet er å mestre grunnleggende ferdigheter og verktøy så raskt som mulig. Mangel på testerfaring er ifølge forfatteren bare et mindre hinder for riktig bruk av DevOps.

Husk også at vi ikke lærer en hel haug med ikke-relatert teknisk babling her, men snarere en forståelse av verktøyene som kommer sammen for å skape en klar historie. Denne historien handler om ende-til-ende prosessautomatisering – et digitalt samlebånd som beveger biter som et samlebånd. Du vil ikke lære en haug med verktøy og fortsett å stoppe! DevOps-verktøy endres raskt, men konsepter endres mye sjeldnere. Derfor bør du bestrebe deg på å bruke verktøy som undervisningsfullmakter for konsepter på høyere nivå.

Ok, la oss grave litt dypere!

Grunnleggende kunnskap

Under det øverste trinnet som sier Foundation, kan du se ferdighetene som enhver DevOps-ingeniør bør mestre. Disse ferdighetene er trygg håndtering av de tre pilarene i bransjen, som er: operativsystemet, programmeringsspråket og den offentlige skyen. Disse tingene er ikke noe du raskt kan lære og gå videre. Disse ferdighetene må hele tiden forbedres og mestres for å være i forkant av bransjen og relevant for fagmiljøet rundt deg. La oss gå gjennom dem én etter én.

Linux er der alt fungerer. Kan du være en fantastisk DevOps-utøver mens du forblir helt innenfor Microsofts økosystem? Klart du kan! Det er ingen lov som tilsier at du kun bruker Linux. Men husk at til tross for at alle Linux-ting kan gjøres i Windows, skjer det der mye mer smertefullt og med mindre funksjonalitet. På dette tidspunktet er det trygt å anta at uten å kunne Linux, er det umulig å bli en ekte DevOps-profesjonell, så Linux er noe du bør studere og lære.

Ærlig talt, den beste måten å gjøre dette på er å installere Linux (Fedora eller Ubuntu) hjemme og bruke det så mye som mulig. Selvfølgelig vil du ødelegge mange ting, du vil bli sittende fast i arbeidsprosesser, du må fikse alt, men du vil lære Linux!

Hvordan bli DevOps-ingeniør om seks måneder eller enda raskere. Del 1. Introduksjon

Forresten, RedHat-varianter er mer vanlige i Nord-Amerika, så det er fornuftig å starte med Fedora eller CentOS. Hvis du lurer på om du bør kjøpe KDE eller Gnome-utgaven, velg KDE. Det er dette Linus Torvalds selv bruker.

Python er det dominerende backend-språket i disse dager. Det er enkelt å komme i gang med og er mye brukt. Python er veldig vanlig innen kunstig intelligens og maskinlæring, så hvis du noen gang ønsker å flytte inn i et annet varmt felt, vil du være fullt forberedt.

Hvordan bli DevOps-ingeniør om seks måneder eller enda raskere. Del 1. Introduksjon

Amazon Web Services: Igjen, det er umulig å bli en erfaren DevOps-profesjonell uten en solid forståelse av hvordan den offentlige skyen fungerer. Og hvis du vil lære mer om det, se på Amazon Web Services. Det er en ledende aktør innen dette tjenestefeltet og tilbyr det rikeste settet med arbeidsverktøy.

Er det mulig å starte med Google Cloud eller Azure i stedet? Selvfølgelig kan du! Men husker vi den siste finanskrisen, bør det bemerkes at AWS er ​​det sikreste alternativet, i hvert fall i 2018, da det lar deg registrere en konto gratis og begynne å utforske mulighetene til skytjenester. I tillegg gir AWS-konsollen brukeren en enkel og oversiktlig meny å velge mellom. Den gode nyheten er at du ikke trenger å kjenne alle Amazons teknologier for å gjøre dette.

Hvordan bli DevOps-ingeniør om seks måneder eller enda raskere. Del 1. Introduksjon

Start med følgende: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing under EC2-paraplyen) og Security Group. Disse tingene er nok til å komme i gang, og alle moderne, skybaserte virksomheter bruker disse verktøyene ganske aktivt. AWS sin egen treningsside er et godt sted å komme i gang.

Jeg anbefaler at du bruker 20-30 minutter hver dag på å lære og øve med Python-språket, Linux-operativsystemet og AWS-skytjenesten i tillegg til andre ting du må lære. Totalt sett tror jeg at det å bruke en time om dagen, fem ganger i uken er nok til å forstå DevOps-bransjen på 6 måneder eller mindre. Det er totalt 6 hovedkomponenter som hver tilsvarer en måneds trening. Det er alt du trenger for å få grunnleggende kunnskap.
I påfølgende artikler vil vi se på neste nivå av kompleksitet: hvordan fullautomatisere konfigurasjon, versjonering, pakking, distribusjon, kjøring og overvåking av programvare.

Fortsettelse snart...

Noen annonser 🙂

Takk for at du bor hos oss. Liker du artiklene våre? Vil du se mer interessant innhold? Støtt oss ved å legge inn en bestilling eller anbefale til venner, cloud VPS for utviklere fra $4.99, en unik analog av entry-level servere, som ble oppfunnet av oss for deg: Hele sannheten om VPS (KVM) E5-2697 v3 (6 kjerner) 10GB DDR4 480GB SSD 1Gbps fra $19 eller hvordan dele en server? (tilgjengelig med RAID1 og RAID10, opptil 24 kjerner og opptil 40 GB DDR4).

Dell R730xd 2x billigere i Equinix Tier IV datasenter i Amsterdam? Bare her 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV fra $199 i Nederland! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - fra $99! Lese om Hvordan bygge infrastruktur corp. klasse med bruk av Dell R730xd E5-2650 v4-servere verdt 9000 euro for en krone?

Kilde: www.habr.com

Legg til en kommentar