Pse administratorët e sistemeve duhet të bëhen inxhinierë DevOps

Pse administratorët e sistemeve duhet të bëhen inxhinierë DevOps

Nuk ka kohë më të mirë për të mësuar në jetë sesa sot.


Jemi në vitin 2019, dhe tema e DevOps është më e rëndësishmja se kurrë. Thuhet se ditët e administratorëve të sistemeve janë kaluar, ashtu siç ka kaluar epoka e mainframe-ve. Por a është kështu në të vërtetë?
Siç ndodh shpesh në IT, situata ka ndryshuar. Ka lindur metodologjia DevOps, por ajo nuk mund të ekzistojë pa një person me aftësitë e administratorit të sistemeve, pra pa Ops.

Para se të merret forma moderne e qasjeve DevOps, unë e kam konsideruar veten në kategorinë Ops. Dhe e di mirë se çfarë ndien një administrator sistemi kur kupton se sa shumë ngel pa ditur dhe sa pak kohë ka për të mësuar.

Pse administratorët e sistemeve duhet të bëhen inxhinierë DevOps

Por a është me të vërtetë kaq e frikshme? Do të thosha se nuk duhet ta marrësh mungesën e njohurive si një problem të madh. Është më shumë një sfidë profesionale.

Produktet me shkallë Web bazohen në Linux ose në një software tjetër me burim të hapur, dhe në treg po gjejmë gjithnjë e më pak specialistë që mund t'i mbështesin ato. Kërkesa ka tejkaluar tashmë numrin e profesionistëve në këtë fushë. Një administrator sistemi tashmë nuk mund të vazhdojë të punojë pa përmirësuar nivelin e tij të kualifikimit. Ai duhet të ketë aftësi automatizimi për të menaxhuar shumë serverë/nyje, dhe të kuptojë mirë parimet e funksionimit të tyre për të zgjidhur problemet që dalin.

Para se të bëheni anëtar i ekipit DevOps, ju duhet të kaloni një rrugë të gjatë, por interesante, duke studiuar teknologji të reja dhe instrumente të ndryshme që do t'ju nevojiten për të mbajtur sistemin sipas standardeve DevOps.

Pra, si mund të kalojë një administrator sistemi nga qasja e njohur në punë në konceptin e ri DevOps? Si zakonisht: fillimisht është e nevojshme të ndryshoni mendimin. Nuk është aspak e lehtë të heqësh dorë nga qasja që ke ndjekur për dhjetë ose njëzet vjet dhe të fillosh të bësh gjithçka ndryshe, por kjo është e nevojshme.

Në radhë të parë, është e rëndësishme të kuptohet se DevOps nuk është një pozicion specifik në kompani, por një grup praktikash të caktuara. Këto praktika përfshijnë shpërndarjen e sistemeve të izoluara, reduktimin e dëmeve nga defektet dhe gabimet, përditësimin e shpeshtë dhe në kohë të softuerit, ndërveprimin e organizuar mes zhvilluesve (Dev) dhe administratorëve (Ops), si dhe testimin e vazhdueshëm jo vetëm të kodit, por edhe të gjithë strukturës brenda procesit. integrimit dhe shpërndarjes së vazhdueshme (CI/CD).

Përveç ndryshimit të mendësisë, është e nevojshme të mësohet mbështetja e infrastrukturës dhe të sigurohet funksionimi i saj i qëndrueshëm, besueshmëria dhe disponueshmëria për integrimin dhe shpërndarjen e vazhdueshme të aplikacioneve, shërbimeve dhe softuerit.

Çfarë mund t'ju mungojë si specialist i Ops, është aftësitë e programimit. Tani, shkrimi i skripteve, me të cilat administratorët e sistemit përdorin për instalimin automatizuar të patches në server, menaxhimin e skedarëve dhe llogarive, për zgjidhjen e problemet dhe për hartimin e dokumentacionit, tashmë konsiderohet i vjetruar. Në raste relativisht të thjeshta, skriptet ende përdoren, por koncepti i DevOps përfshin zgjidhjen e detyrave në shkallë të gjerë, qofshin ato implementim, testim, puna me ndërtimet ose shpërndarje.

Prandaj, nëse dëshironi të mësoni automatizimin, duhet të zotëroni pak të paktën programimin, edhe nëse nuk jeni zhvillues, pasi në këtë fazë të zhvillimit tuaj automatizimi i infrastrukturës në DevOps e kërkon këtë aftësi.

Çfarë duhet bërë? Për t'u mbajtur si një specialist i kërkuar, duhet të fitoni aftësi të përditësuara — të zotëroni të paktën një gjuhë programimi, si p.sh. Python. Një person që merret profesionalisht me administrimin mund t'i duket e vështirë, pasi ai është mësuar të mendojë se vetëm zhvilluesit programojnë. Nuk është e domosdoshme të bëheni ekspert, por njohuria e një nga gjuhëve të programimit (kjo mund të jetë Python, Bash ose madje Powershell), padyshim do të jetë një avantazh.

Për të mësuar programimin, nevojitet pak kohë. Jepni rëndësi dhe durim - kjo do t'ju ndihmojë të mbani një kuptim të situatës kur kontaktoni me zhvilluesit e ekipit DevOps dhe klientët. Gjysmë ore në ditë, një orë ose më shumë - mësimi i gjuhës së programimit duhet të jetë qëllimi juaj kryesor.

Administruesit e sistemeve dhe specialistët DevOps zgjidhin detyra të ngjashme, megjithatë, ka edhe dallime të rëndësishme. Kjo është e njohur, se administratori i sistemit nuk mund të bëjë gjithçka që mund të bëjë inxhinieri DevOps. Thonë se sysadmin-i është më shumë i përqendruar në konfigurimin, mbështetje dhe sigurinë e sistemeve serverike, ndërsa inxhinieri DevOps e mban tërë këtë barrë dhe një karrocë të vogël.

Por sa e saktë është kjo deklaratë?

Administrator sistemi: një i vetëm në fushë luftarak

Megjithëse dallimet dhe ngjashmëritë e përmendura në këtë artikull, unë ende besoj se nuk ka dallim të rëndësishëm mes administratës së sistemeve dhe DevOps. Administruesit e sistemeve gjithmonë kanë kryer funksionet e njëjta si specialistët DevOps, thjesht më parë askush nuk e quante këtë DevOps. Mendoj se nuk ka kuptim të kërkosh veçori të veçanta, veçanërisht nëse nuk lidhet me ndonjë detyrë. Nuk duhet harruar as që, ndryshe nga administratori i sistemit, DevOps nuk është një pozicion, por një koncepte.

Duhet thënë edhe një gjë tjetër e rëndësishme, pa të cilën diskutimi mbi administrimin dhe DevOps do të ishte i paplotë. Administrimi i sistemeve, në kuptimin e zakonshëm, supozon ekzistencën e një grupi të caktuar aftësish dhe orientimi ndaj shërbimit të llojeve të ndryshme të infrastrukturës. Jo në kuptimin se është një punonjës universal, por në kuptimin se ka një sërë detyrash që kryhen nga të gjithë administratorët.

Për shembull, ata ndonjëherë duhet të marrin përsipër rolin e një punonjësi teknik të përgjithshëm, pra të bëjnë çdo gjë. Dhe nëse një administrator i tillë është i vetmi në tërë organizatën, atëherë ai do të kryejë të gjithë punën teknike. Kjo mund të jetë gjithçka: nga mbështetje për printerë dhe makinat e kopjimit deri te kryerja e detyrave që lidhen me rrjetin, si konfigurimi dhe menaxhimi i routerave dhe switch-ëve ose konfigurimi i firewall-it.

Ai do të jetë përgjegjës për përditësimin e harduerit, kontrollin dhe analizën e regjistrave, auditimin e sigurisë, instalimin e patches në server, zgjidhjen e problemeve, analizën e shkakut të parë dhe automatizimin — zakonisht përmes skripteve PowerShell, Python ose Bash. Një nga shembujt e përdorimit skripteve është menaxhimi i llogarive të përdoruesve dhe grupeve. Krijimi i llogarive të përdoruesve dhe caktimi i lejeve është një detyrë jashtëzakonisht e lodhshme, pasi përdoruesit shfaqen dhe zhduken pothuajse çdo ditë. Automatizimi përmes skripteve lejon lirimin e kohës për të zgjidhur detyra më të rëndësishme infrastrukturore, si për shembull përditësimin e kalueseve dhe serverëve dhe për të realizuar projekte të tjera që ndikojnë në fitimprurshmërinë e kompanisë ku punon administratori (ndonëse besohet se departamenti IT nuk gjeneron të ardhura drejtpërdrejt).

Detyra e administratorit sistemor është të mos humbasë kohë dhe të kursejë paratë e kompanisë në çdo mënyrë të mundshme. Ndonjëherë administratorët sistemor punojnë si anëtarë të një ekipi të madh, që përfshin, për shembull, administratorë Linux, Windows, bazash të dhënash, magazinash dhe kështu me radhë. Orari i punës gjithashtu mund të jetë i ndryshëm. Për shembull, një turn në një zonë kohore në fund të ditës e kalon punën te turni tjetër në një zonë tjetër kohore, që proceset të mos ndalen (follow-the-sun); ose stafi ka një ditë të zakonshme pune nga ora 9 e mëngjesit deri në orën 5 pasdite; ose kjo është një punë në një qendër të dhënash 24/7.

Administratorët sistemor me kalimin e kohës kanë mësuar të mendojnë strategjikisht dhe të kombinojnë çështjet e rëndësishme me detyrat rutinore. Grupet dhe departamentet ku ata punojnë zakonisht kanë mungesë burimesh, por të gjithë përpiqen të realizojnë detyrat e përditshme në mënyrë të plotë.

DevOps: zhvillimi dhe administrimi i njëjtë

DevOps është një lloj filozofie e proceseve të zhvillimit dhe administrimit. Ky qasje në botën e IT është bërë vërtet novatore.

Nën kanavacën e DevOps, një ekip programerësh punon nga njëra anë, ndërsa nga ana tjetër është ekipi i specialistëve të mirëmbajtjes. Shpesh, ata bashkohen nga specialistët e menaxhimit të produktit, testuesit dhe projektuesit e ndërfaqeve të përdoruesit. Duke bashkuar forcat, këta specialistë optimizojnë operacionet e punës për të lançuar shpejt aplikacione të reja dhe për të përmirësuar kodin me qëllim ruajtjen dhe rritjen e efikasitetit të funksionimit të tërë kompanisë.

Thelbi i DevOps është mbikëqyrja e zhvillimit dhe funksionimit të softuerit gjatë gjithë ciklit të jetës. Specialistët e mirëmbajtjes duhet të mbështesin zhvilluesit, ndërsa zhvilluesit duhet të kuptojnë jo vetëm API-të që përdoren në sistemet. Ata duhet të dinë se çfarë ndodhet "në kapak" (dmth. si funksionon hardueri dhe sistemet operative) për të trajtuar më mirë defektet, zgjidhur problemet dhe bashkëpunuar me specialistët e mirëmbajtjes.

Administratoret e sistemeve mund të kalojnë në ekipin DevOps nëse dëshirojnë të mësojnë teknologjitë më të fundit dhe janë të hapur për ide dhe zgjidhje inovative. Siç e thashë, ata nuk është e nevojshme të bëhen programues të plotë, por të mësuarit e gjuhëve të programimit si Ruby, Python ose Go do t'i ndihmojë ata të bëhen anëtarë shumë të dobishëm të ekipit. Ndërsa administratorët e sistemeve tradicionalisht kryejnë të gjithë punën të vetmuar dhe shpesh perceptohen si individë të vetmuar, në DevOps i pret një përvojë krejtësisht e kundërt, ku të gjithë pjesëmarrësit e procesit ndërveprojnë me njëri-tjetrin.

Tema e automatizimit po bëhet gjithnjë e më relevante. Si administratorët e sistemeve ashtu edhe specialistët DevOps janë të interesuar për shkallëzimin e shpejtë, reduktimin e numrit të gabimeve, si dhe për identifikimin dhe zgjidhjen e shpejtë të gabimeve ekzistuese. Kështu, automatizimi është një koncept ku dy fusha përkojnë. Administratoret e sistemeve janë përgjegjës për shërbime cloud si AWS, Azure dhe Google Cloud Platform. Ata duhet të kuptojnë parimet e integrimit dhe dorëzimit të vazhdueshëm dhe se si të përdorin në punë mjete si Jenkins.

Për më tepër, administratorët e sistemeve duhet të përdorin mjete të tilla si konfigurimi dhe menaxhimi, si Ansible, të nevojshme për implementimin paralel të dhjetë ose njëzet serverëve.

Koncepci i përgjithshëm është infrastruktura si kod. Softueri është gjithçka. Në thelb, që profesioni i administratorit të sistemeve të mos humbasë relevancën, është e nevojshme vetëm të ndryshohet pak theksi. Administratorët e sistemeve merret me mirëmbajtjen dhe duhet të dinë si të bashkëpunojnë në mënyrë efektive me zhvilluesit, dhe e kundërta. Siç thotë një shprehje, një kokë është e mirë, por dy janë më të mira.

Dhe detaji i fundit në këtë mekanizëm është Git. Puna me Git është një nga detyrat tradicionale të përditshme të administratorit të sistemeve. Ky sistem menaxhimi versionesh përdoret gjerësisht nga zhvilluesit, specialistët DevOps, ekipet Agile dhe shumë të tjerë. Nëse puna juaj lidhet me ciklin e jetës së softuerit, atëherë është e sigurt që do të punoni me Git.

Git ofron shumë mundësi. Me siguri nuk do të mësoni kurrë të gjitha komandat e Git, por do të kuptoni pse ky mjet konsiderohet kryesor në komunikim dhe bashkëpunim mbi softuerin. Njohuri e thellë e Git-it është shumë e rëndësishme nëse punoni në një ekip DevOps.

Nëse jeni administrator sistemi, duhet të mësoni më mirë Git-in, të kuptoni si njihet menaxhimi i versioneve dhe të mbani mend komandat më të zakonshme: git status, git commit -m, git add, git pull, git push, git rebase, git branch, git diff dhe të tjera. Ekzistojnë shumë kurse online dhe libra që mund të ndihmojnë për të mësuar këtë temë nga zero dhe për t'u bërë profesionist me aftësi specifike. Ka gjithashtu fletëpalosje të shkëlqyera me komandat e Git-it , prandaj nuk është e nevojshme të mësoni të gjitha ato përmendësh, por sa më shumë të përdorni Git, aq më lehtë do t'ju jetë.Në fund të fundit, ju vetë vendosni nëse doni të bëheni specialist DevOps ose të qëndroni si administrator sistemi. Siç e shihni, kalimi kërkon trajnim, por sa më herët të filloni, aq më mirë. Zgjidhni një gjuhë programimi dhe studiojini njëkohësisht mjete të tilla si

Përfundim

(menaxhim versionesh), Git (CI/CD, integrim të vazhdueshëm) dhe Jenkins (konfigurim dhe automatizim). Çfarëdo që të zgjidhni, mos harroni se duhet të vazhdoni të mësoni dhe të përmirësoni aftësitë tuaja. Ansible Për.

Burimi: habr.com

Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster