Hvorfor systemadministratorer bør blive DevOps-ingeniører

Hvorfor systemadministratorer bør blive DevOps-ingeniører

Der er ikke noget bedre tidspunkt at lære i livet end i dag.


Det er 2019, og DevOps er mere relevant end nogensinde. De siger, at systemadministratorernes dage er forbi, ligesom mainframens æra. Men er det virkelig sådan?
Som det ofte sker inden for IT, har situationen ændret sig. DevOps-metoden er dukket op, men den kan ikke eksistere uden en person med systemadministratorkompetencer, altså uden Ops.

Før DevOps-tilgangen fik sin moderne form, klassificerede jeg mig selv som en Ops. Og jeg ved godt, hvad en systemadministrator oplever, når han indser, hvor meget han ikke kan endnu, og hvor lidt tid han har til at lære det.

Hvorfor systemadministratorer bør blive DevOps-ingeniører

Men er det virkelig så skræmmende? Jeg vil sige, at manglende viden ikke skal opfattes som et eller andet stort problem. Det er mere en professionel udfordring.

Web-skala produkter er baseret på Linux eller anden open source software, og der er færre og færre mennesker på markedet, der er i stand til at vedligeholde dem. Efterspørgslen har allerede oversteget antallet af fagfolk på dette område. En systemadministrator vil ikke længere være i stand til blot at fortsætte med at arbejde uden at forbedre sit færdighedsniveau. Han skal have automatiseringsevner til at håndtere flere servere/noder og have en god forståelse for, hvordan de arbejder for at løse problemer, der opstår.

Før du bliver medlem af DevOps-teamet, skal du igennem en ganske lang, men interessant rejse, lære nye teknologier og forskellige værktøjer, der er nødvendige for at vedligeholde systemet i henhold til DevOps-standarder.

Så hvordan kan en systemadministrator flytte fra den sædvanlige tilgang til arbejdet til det nye koncept for DevOps? Alt er som det plejer: Først skal du ændre din tankegang. Det er ikke let at opgive den tilgang, du har fulgt de sidste ti eller tyve år, og begynde at gøre tingene anderledes, men det er nødvendigt.

Først og fremmest er det vigtigt at forstå, at DevOps ikke er en specifik stilling i en virksomhed, men et sæt specifik praksis. Denne praksis indebærer distribution af isolerede systemer, reducerer skaden fra fejl og fejl, hyppige og rettidige softwareopdateringer, veletableret interaktion mellem udviklere (Dev) og administratorer (Ops), samt konstant test af ikke kun koden, men også hele strukturen i processen kontinuerlig integration og levering (CI/CD).

Sammen med at ændre måden at tænke på, skal du lære at vedligeholde infrastrukturen og sikre dens stabile drift, pålidelighed og tilgængelighed til kontinuerlig integration og levering af applikationer, tjenester og software.

Det, du måske mangler som Ops-professionel, er programmeringsevner. At skrive scripts (scripts), som systemadministratorer bruger til automatisk at installere patches på en server, administrere filer og konti, fejlfinde problemer og kompilere dokumentation, anses allerede for at være forældet. Scripting gælder stadig i relativt simple tilfælde, men DevOps handler om at løse store problemer, hvad enten det er implementering, test, builds eller implementeringer.

Så hvis du vil lære automatisering, skal du i det mindste beherske lidt programmering, selvom du ikke er udvikler, for på dette stadium af din udvikling infrastruktur automatisering i DevOps kræver denne færdighed.

Hvad skal man gøre? For at forblive efterspurgt som specialist skal du tilegne dig relevante færdigheder - mestre mindst ét ​​programmeringssprog, for eksempel Python. Dette kan synes svært for en person, der er professionelt involveret i administration, da han er vant til at tro, at kun udviklere programmerer. Det er ikke nødvendigt at blive ekspert, men kendskab til et af programmeringssprogene (det kunne være Python, Bash eller endda PowerShell), vil helt sikkert være en fordel.

At lære at programmere tager noget tid. At være opmærksom og tålmodig vil hjælpe dig med at holde styr på tingene, når du kommunikerer med DevOps-teammedlemmer og kunder. En halv time om dagen, en time eller mere bør lære et programmeringssprog være dit hovedmål.

Systemadministratorer og DevOps-specialister løser lignende problemer, men der er betydelige forskelle. Det menes, at en systemadministrator ikke kan gøre alt, hvad en DevOps-ingeniør kan. De siger, at systemadministratoren er mere fokuseret på at konfigurere, vedligeholde og sikre serversystemernes ydeevne, men DevOps-ingeniøren trækker hele denne vogn og en anden lille vogn.

Men hvor sandt er dette udsagn?

Systemadministrator: en kriger i felten

På trods af de forskelle og ligheder, der er noteret i denne artikel, mener jeg stadig, at der ikke er nogen væsentlig forskel mellem systemadministration og DevOps. Systemadministratorer har altid udført de samme funktioner som DevOps-specialister, det er bare, at ingen kaldte det DevOps før. Jeg mener, at det ikke nytter noget specifikt at lede efter forskelle, især hvis det ikke er relateret til nogen opgave. Glem ikke, at i modsætning til en systemadministrator er DevOps ikke en stilling, men et koncept.

En mere vigtig ting skal bemærkes, uden hvilken en samtale om både administration og DevOps vil være ufuldstændig. Systemadministration i sædvanlig forstand forudsætter, at en specialist har et specifikt sæt af kompetencer og er fokuseret på at servicere forskellige typer af infrastrukturer. Ikke i den forstand, at der er tale om en universel medarbejder, men i den forstand, at der er en række opgaver udført af alle administratorer.

For eksempel skal de fra tid til anden fungere som en slags teknisk handyman, det vil sige gøre bogstaveligt talt alt. Og hvis der kun er én sådan administrator for hele organisationen, vil han generelt udføre alt det tekniske arbejde. Dette kan være alt fra vedligeholdelse af printere og kopimaskiner til at udføre netværksrelaterede opgaver såsom opsætning og styring af routere og switches eller konfiguration af en firewall.

Han vil også være ansvarlig for hardwareopgraderinger, loginspektion og -analyse, sikkerhedsrevisioner, serverpatching, fejlfinding, rodårsagsanalyse og automatisering - typisk gennem PowerShell-, Python- eller Bash-scripts. Et eksempel på brug scenarier er administration af bruger- og gruppekonti. At oprette brugerkonti og tildele tilladelser er en ekstremt kedelig opgave, da brugere dukker op og forsvinder næsten hver dag. Automatisering gennem scripts frigør tid til vigtigere infrastrukturopgaver, såsom opgradering af switche og servere og andre projekter, der påvirker lønsomheden i den virksomhed, hvor administratoren arbejder (selvom det er almindeligt accepteret, at IT-afdelingen ikke direkte genererer indtægter).

Systemadministratorens opgave er ikke at spilde tid og spare virksomheden penge på nogen mulig måde. Nogle gange arbejder systemadministratorer som medlemmer af et stort team, der f.eks. kombinerer administratorer af Linux, Windows, databaser, storage og så videre. Arbejdsplanerne varierer også. For eksempel overfører et skift i en tidszone sidst på dagen sager til det næste skift i en anden tidszone, så processer ikke stopper (følg-solen); eller ansatte har en normal arbejdsdag fra kl. 9 til kl. 5; eller det fungerer i et XNUMX/XNUMX datacenter.

Systemadministratorer har gennem tiden lært at tænke strategisk og kombinere vigtige sager med rutineopgaver. De teams og afdelinger, de arbejder i, er som regel mangelfulde på ressourcer, men samtidig forsøger alle at løse de daglige opgaver fuldt ud.

DevOps: udvikling og vedligeholdelse som én

DevOps er en slags filosofi for udviklings- og vedligeholdelsesprocesser. Denne tilgang i IT-verdenen er blevet virkelig innovativ.

Under paraplyen af ​​DevOps er der et softwareudviklingsteam på den ene side og et vedligeholdelsesteam på den anden. De får ofte selskab af produktstyringsspecialister, testere og brugergrænsefladedesignere. Sammen strømliner disse eksperter driften for hurtigt at udrulle nye applikationer og kodeopdateringer for at understøtte og forbedre effektiviteten af ​​hele virksomheden.

DevOps er baseret på kontrol over udvikling og drift af software gennem hele dets livscyklus. Vedligeholdelsesfolk skal støtte udviklere, og udviklere har til opgave at forstå mere end blot de API'er, der bruges i systemer. De skal forstå, hvad der er under motorhjelmen (det vil sige hvordan hardware og operativsystemer fungerer), så de bedre kan håndtere fejl, løse problemer og interagere med serviceteknikere.

Systemadministratorer kan flytte ind i et DevOps-team, hvis de vil lære de nyeste teknologier og er åbne for innovative ideer og løsninger. Som jeg sagde før, behøver de ikke at blive fuldgyldige programmører, men at mestre et programmeringssprog som Ruby, Python eller Go vil hjælpe dem med at blive meget nyttige medlemmer af teamet. Selvom systemadministratorer traditionelt gør alt arbejdet selv og ofte opfattes som enspændere, har de i DevOps en helt modsat oplevelse, hvor alle i processen interagerer med hinanden.

Emnet automatisering bliver mere og mere relevant. Både systemadministratorer og DevOps-specialister er interesserede i at skalere hurtigt, reducere fejl og hurtigt finde og rette eksisterende fejl. Automatisering er således et koncept, hvor to områder mødes. Systemadministratorer er ansvarlige for cloud-tjenester såsom AWS, Azure og Google Cloud Platform. De skal forstå principperne for kontinuerlig integration og levering og hvordan man bruger værktøjer som f.eks Jenkins.

Derudover skal systemadministratorer bruge konfigurations- og administrationsværktøjer som f.eks Ansible, nødvendig for parallel installation af ti eller tyve servere.

Hovedkonceptet er infrastruktur som kode. Software er alt. Faktisk, for at professionen som systemadministrator ikke skal miste relevans, skal du blot ændre vægten lidt. Systemadministratorer er i servicebranchen og skal være i stand til at kommunikere effektivt med udviklere og omvendt. Som de siger, et hoved er godt, men to er bedre.

Og den sidste detalje i denne mekanisme er Git. At arbejde med Git er et af de traditionelle daglige ansvar for en systemadministrator. Dette versionskontrolsystem er meget brugt af udviklere, DevOps-specialister, agile teams og mange andre. Hvis dit arbejde er relateret til softwarens livscyklus, så vil du helt sikkert arbejde med Git.

Git har en masse funktioner. Du vil sandsynligvis aldrig lære alle Git-kommandoer, men du vil forstå præcis, hvorfor det er en fast bestanddel i softwarekommunikation og -samarbejde. Et grundigt kendskab til Git er meget vigtigt, hvis du arbejder i et DevOps-team.

Hvis du er systemadministrator, så skal du bedre studere Git, forstå hvordan versionskontrol er bygget og huske de almindelige kommandoer: git status, git commit -m, git add, git pull, git push, git rebase, git branch, git diff og andre. Der er mange onlinekurser og bøger, der kan hjælpe dig med at lære dette emne fra bunden og blive en professionel med specifikke færdigheder. Der er også vidunderlige snydeark med Git-kommandoer, så du behøver ikke at proppe dem alle sammen, men jo mere du bruger Git, jo nemmere bliver det.

Konklusion

I sidste ende bestemmer du, om du skal blive DevOps-specialist, eller om det er bedre at forblive systemadministrator. Som du kan se, er der en indlæringskurve for at gøre overgangen, men jo før du starter, jo bedre. Vælg et programmeringssprog og lær samtidig værktøjer som f.eks Git (versionskontrol), Jenkins (CI/CD, kontinuerlig integration) og Ansible (konfiguration og automatisering). Uanset hvilken mulighed du vælger, så glem ikke, at du konstant skal lære og forbedre dine færdigheder.

Kilde: www.habr.com

Tilføj en kommentar