
Der er ikke noget bedre tidspunkt at lære i livet end i dag.
Det er 2019, og emnet DevOps er mere relevant end nogensinde. Man siger, at dage med systemadministratorer er forbi, ligesom æraen med mainframes. Men er det virkelig tilfældet?
Som det ofte er tilfældet i IT, er situationen ændret. DevOps-metodologien er opstået, men den kan ikke eksistere uden en person med systemadministratorfærdigheder, det vil sige uden Ops.
Før DevOps-tilgangen fik sin moderne form, betragtede jeg mig selv som en del af Ops-kategorien. Jeg ved godt, hvad en sysadmin føler, når de indser, hvor meget de endnu ikke kan, og hvor lidt tid de har til at lære det.

Men er det virkelig så skræmmende? Jeg vil sige, at man ikke skal betragte manglen på viden som et stort problem. Det er snarere en professionel udfordring.
Web-scale produkter er baseret på Linux eller anden software med åbent kildekode, og der er færre og færre specialister på markedet, der kan vedligeholde dem. Efterspørgslen har allerede oversteget antallet af fagfolk på dette område. En systemadministrator kan ikke længere bare fortsætte med at arbejde uden at hæve sin kvalifikationsniveau. De skal have automatiseringsfærdigheder for at kunne håndtere mange servere/noder og forstå principperne for deres drift for at kunne løse opståede problemer.
Før du bliver medlem af DevOps-teamet, skal du tage en ret lang, men interessant rejse, hvor du lærer nye teknologier og forskellige værktøjer, der er nødvendige for at vedligeholde systemet ifølge DevOps-standarder.
Så hvordan kan en systemadministrator skifte fra den sædvanlige arbejdsmetode til den nye DevOps-koncept? Det er ligesom altid: først skal du ændre din tankegang. Det er slet ikke let at give slip på den tilgang, du har fulgt de sidste ti eller tyve år og begynde at gøre tingene anderledes, men det er nødvendigt.
For starters, it is important to understand that DevOps is not a specific position within a company, but rather a set of defined practices. These practices involve the distribution of isolated systems, minimizing the damage caused by bugs and errors, frequent and timely software updates, effective communication between developers (Dev) and administrators (Ops), and continuous testing not only of the code but of the entire structure within the process. .
Along with a change in mindset, one must learn to maintain infrastructure and ensure its stable operation, reliability, and availability for continuous integration and delivery of applications, services, and software.
What you may lack as an Ops specialist are programming skills. Nowadays, writing scripts that system administrators use for automated patch installation on servers, file and account management, troubleshooting, and documentation is considered outdated. In relatively simple cases, scripts are still used, but the DevOps concept implies solving large-scale tasks, whether it’s deployment, testing, working with builds, or deployment.
Thus, if you want to learn automation, you need to grasp at least a bit of programming, even if you are not a developer, as this is necessary at this stage of your development. in DevOps requires this skill.
What to do? To remain a sought-after specialist, you need to acquire relevant skills — learn at least one programming language, for example, Python. For someone who is professionally engaged in administration, this may seem challenging, as they are used to thinking that only developers do programming. It is not necessary to become an expert, but knowledge of one of the programming languages (which could be Python, Bash, or even ), will undoubtedly be an advantage.
For at lære at programmere kræver det tid. Vær opmærksom og tålmodig – det vil hjælpe dig med at bevare forståelsen, når du kommunikerer med udviklerne fra DevOps-teamet og kunderne. Halv time om dagen, en time eller mere – at lære et programmeringssprog bør være dit primære mål.
Systemadministratorer og DevOps-specialister løser lignende opgaver, men der er også væsentlige forskelle. Man mener, at en systemadministrator ikke kan gøre alt det, som en DevOps-ingeniør kan. Systemadministratoren er mere fokuseret på konfiguration, vedligeholdelse og sikring af drift af serversystemer, mens DevOps-ingeniøren trækker hele læsset og lidt til.
Men hvor korrekt er denne påstand?
Systemadministrator: en kriger på marken
På trods af de forskelle og ligheder, der er nævnt i denne artikel, mener jeg stadig, at der ikke er væsentlig forskel mellem systemadministration og DevOps. Systemadministratorer har altid udført de samme funktioner som DevOps-specialister, det var bare ingen, der kaldte det DevOps før. Jeg mener, der er ingen grund til at lede efter forskelle, især hvis det ikke relaterer til en bestemt opgave. Vi må heller ikke glemme, at i modsætning til systemadministratoren er DevOps ikke en stilling, men et koncept.
Det er vigtigt at nævne en anden væsentlig ting, uden hvilken snakken om både administration og DevOps ville være ufuldstændig. Traditionel systemadministration indebærer, at specialisten har et konkret sæt færdigheder og er fokuseret på at vedligeholde forskellige typer infrastrukturer. Ikke at forstå det som en universalmedarbejder, men at der er en række opgaver, som alle administratorer udfører.
For eksempel er de fra tid til anden nødt til at fungere som en slags teknisk multihåndterr, hvilket betyder at gøre bogstaveligt talt alt muligt. Og hvis sådan en administrator er alene i hele organisationen, så vil han udføre alt det tekniske arbejde. Det kan være alt fra vedligeholdelse af printere og kopimaskiner til opgaver relateret til netværk, såsom opsætning og administration af routere og switche eller opsætning af firewalls.
Han vil også være ansvarlig for opdatering af hardware, kontrol og analyse af logs, sikkerhedsrevision, installation af patches på serveren, fejlfinding, analyse af grundårsager og automatisering - typisk gennem PowerShell, Python eller Bash-scripts. Et eksempel på anvendelsen er administrationen af brugerkonti og grupper. Oprettelse af brugerkonti og tildeling af tilladelser er en yderst tidskrævende opgave, da brugere optræder og forsvinder næsten hver dag. Automatisering gennem scripts frigør tid til at fokusere på mere vigtige infrastrukturelle opgaver, såsom opdatering af switches og servere og udførelse af andre projekter, der påvirker selskabets rentabilitet, hvor administratoren arbejder (selvom det ofte antages, at IT-afdelingen ikke genererer indtægter direkte).
Systemadministratorens opgave er ikke at spilde tid og at spare penge for virksomheden på enhver mulig måde. Nogle gange arbejder systemadministratorer som medlemmer af et stort team, der forener eksempelvis Linux, Windows, database-, lagringsadministratorer osv. Arbejdstiden kan også variere. For eksempel overfører et skift i én tidszone sin opgaver til det næste skift i en anden tidszone for at sikre, at processerne ikke stopper (follow-the-sun); eller medarbejderne har en almindelig arbejdsdag fra 9 til 17; eller det kan være arbejde i et 24/7 datacenter.
Over tid har systemadministratorer lært at tænke strategisk og kombinere vigtige opgaver med rutineopgaver. Teams og afdelinger, som de arbejder i, har ofte ikke de nødvendige ressourcer, men alle stræber efter at fuldføre de daglige opgaver fuldt ud.
DevOps: udvikling og vedligeholdelse er en slags filosofi for udviklings- og vedligeholdelsesprocesser. Denne tilgang i IT-verdenen er blevet virkelig innovativ.
— это своего рода философия процессов разработки и обслуживания. Такой подход в мире IT стал поистине новаторским.
Under the auspices of DevOps, on one side works a team of software developers, and on the other side — a team of maintenance specialists. Frequently, they are joined by product managers, testers, and user interface designers. By combining their efforts, these specialists optimize operational processes to quickly roll out new applications and update code to support and improve the overall efficiency of the entire company.
At the core of DevOps is the management of software development and operation throughout the entire lifecycle. Maintenance specialists must support developers, while developers need to understand not only the APIs used in the systems. They must comprehend what lies 'under the hood' (i.e., how the hardware and operating systems function) to better handle errors, resolve issues, and collaborate with maintenance specialists.
System administrators can transition to the DevOps team if they wish to learn the latest technologies and are open to innovative ideas and solutions. As I mentioned, they do not necessarily have to become full-fledged programmers, but mastering programming languages such as Ruby, Python, or Go will make them very valuable team members. Although system administrators traditionally handle all tasks independently and are often seen as loners, in DevOps, they will experience a completely opposite scenario where all participants in the process interact with one another.
The topic of automation is becoming increasingly relevant. Both system administrators and DevOps specialists are interested in operational scalability, reducing the number of errors, as well as the quick identification and resolution of existing issues. Thus, automation is a concept where the two fields converge. System administrators are responsible for such cloud services as AWS, Azure, and Google Cloud Platform. They need to understand the principles of continuous integration and delivery and how to utilize tools like .
Moreover, system administrators must apply configuration and management tools such as , der er nødvendige for parallelt at deployere ti eller tyve servere.
Det grundlæggende begreb — . Software er overalt. Faktisk, for at professionen som systemadministrator ikke skal miste relevans, skal fokus blot skiftes en smule. Systemadministratorer beskæftiger sig med vedligeholdelse og skal kunne samarbejde effektivt med udviklere, og omvendt. Som man siger, én hoved er god, men to er bedre.
Og den sidste detalje i denne mekanisme — er . Arbejde med Git er en af de traditionelle hverdagopgaver for systemadministratorer. Dette versionstyringssystem er bredt brugt af udviklere, DevOps-specialister, Agile-teams og mange andre. Hvis dit arbejde er relateret til softwarelivscyklussen, vil du helt sikkert arbejde med Git.
Git indeholder en masse muligheder. Du vil sandsynligvis aldrig lære alle Git-kommandoer, men du vil helt sikkert forstå, hvorfor dette værktøj betragtes som essentielt i kommunikation og samarbejde om software. En grundlæggende forståelse af Git er meget vigtig, hvis du arbejder i et DevOps-team.
Hvis du er systemadministrator, skal du lære Git bedre at kende, forstå, hvordan versionsstyring er opbygget, 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 findes mange onlinekurser og bøger, der kan hjælpe med at lære dette emne fra bunden og blive en professionel med specifikke færdigheder. Der er også gode , så det er ikke nødvendigt at kunne dem alle udenad, men jo mere du bruger Git, desto lettere bliver det for dig.
Konklusion
I sidste ende er det op til dig at beslutte, om du vil blive DevOps-specialist eller foretrækker at forblive systemadministrator. Som du kan se, kræver overgangen uddannelse, men jo tidligere du starter, jo bedre. Vælg et programmeringssprog og lær samtidig værktøjer som (versionskontrol), (CI/CD, kontinuerlig integration) og (konfiguration og automatisering). Uanset hvilken mulighed du vælger, skal du huske, at du altid skal lære og forbedre dine færdigheder.
Kilde: habr.com
