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

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

Në jetë, nuk ka kohë më të mirë për të mësuar se sot.


Jemi në vitin 2019, dhe tema e DevOps është më aktuale se kurrë. Thuhet se ditët e administruesve të sistemeve kanë mbaruar, ashtu siç kaloi epoka e mainframe-ve. Por, a është vërtet kështu?
Siç ndodh shpesh në IT, situata ka ndryshuar. Metodologjia DevOps ka lindur, por ajo nuk mund të ekzistojë pa një njeri me aftësi administratori sistemi, dmth pa Ops.

Para se qasja DevOps të merrte formën e saj moderne, unë më konsideroja një Ops. Dhe e di mirë se çfarë ndjen një admin kur kupton se sa shumë gjëra nuk di dhe sa pak kohë ka për t'u mësuar.

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

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

Produktet e nivelit web-bazuar bazohen në Linux ose në ndonjë software me burim të hapur, dhe në treg ka gjithnjë e më pak specialistë të cilët mund t'i shërbejnë atyre. Kërkesa tashmë ka tejkaluar numrin e profesionistëve në këtë fushë. Një administrator sistemi nuk mund më thjesht të vazhdojë të punojë pa rritur nivelin e tij të kualifikimit. Ai duhet të ketë aftësi automatizimi për të menaxhuar shumë serverë/nodes dhe duhet të kuptojë mirë parimet e funksionimit të tyre për të zgjidhur problemet që lindin.

Para se të bëheni anëtar i ekipit DevOps, do t'ju duhet të kaloni një rrugë të gjatë, por interesante, duke studiuar teknologji dhe mjete të ndryshme të nevojshme për të mbështetur sistemin në përputhje me standardet DevOps.

Pra, si mund të kaloni nga qasja tradicionale si administrator në konceptin e ri të DevOps? Si gjithmonë: në fillim duhet të ndryshoni mendimin tuaj. Nuk është aspak e lehtë të hiqni dorë nga qasja që keni ndjekur për dhjetë apo njëzet vjet dhe të filloni të bëni gjithçka ndryshe, por është e nevojshme.

E para, është e rëndësishme të kuptoni se DevOps nuk është një pozita specifike në kompani, por një grup praktikash të caktuara. Këto praktika përfshijnë shpërndarjen e sistemeve të izoluara, zvogëlimin e dëmit nga gabimet dhe defektet, përditësimin e shpeshtë dhe të duhur të softuerit, një bashkëpunim të mirë midis 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 të integrimit dhe shpërndarjes së vazhdueshme (CI/CD).

Përveç ndryshimit të mënyrës së mendimit, duhet të mësoni të mbani infrastrukturën dhe të siguroheni për funksionimin e saj të qëndrueshëm, besueshmërinë dhe disponibilitetin për integrimin dhe shpërndarjen e vazhdueshme të aplikacioneve, shërbimeve dhe softuerit.

Ajo që mund t'ju mungojë si specialist Ops janë aftësitë e programimit. Tani, shkruajtja e skripteve që administruesit e sistemeve përdorin për instalimin automatizuar të patch-eve në server, menaxhimin e skedarëve dhe llogarive, për zgjidhjen e problemeve dhe për hartimin e dokumentacionit, tashmë konsiderohet e vjetër. Në raste relativisht të thjeshta, skriptet ende përdoren, por koncepti i DevOps parashikon zgjidhjen e detyrave në shkallë të gjerë, qoftë implementimi, testimi, puna me ndërtimet apo shpërndarja.

Pra, nëse dëshironi të mësoni automatizimin, duhet të filloni të mësoni pak nga programimi, edhe nëse nuk jeni zhvillues, sepse në këtë fazë të zhvillimit tuaj automatizimi i infrastrukturës në DevOps e kërkon këtë aftësi.

Çfarë duhet të bëni? Për të mbetur një specialist i kërkuar, duhet të fitoni aftësi të reja — të zotëroni të paktën një gjuhë programimi, si p.sh. Python. Një person që merret profesionalisht me administrimin mund ta konsiderojë këtë të vështirë, sepse është mësuar të mendojë se vetëm zhvilluesit programojnë. Nuk është e nevojshme të bëheni ekspert, megjithatë njohja e një prej gjuhëve të programimit (mund të jetë Python, Bash apo madje Powershell) patjetër që do të jetë një avantazh.

Për të mësuar të programoni, do t'ju duhet pak kohë. Bëhuni të kujdesshëm dhe të duruar — kjo do t'ju ndihmojë të ruani kuptimin e situatës gjatë bisedave me zhvilluesit e ekipit DevOps dhe klientët. Një gjysmë ore në ditë, një orë ose më shumë — të mësuarit e gjuhës së programimit duhet të bëhet qëllimi juaj kryesor.

Administratorët e sistemeve dhe specialistët DevOps trajtojnë probleme të ngjashme, megjithatë, ka dallime të rëndësishme. Mendohet se një administrator sistemi nuk mund të bëjë gjithçka që mund të bëjë një inxhinier DevOps. Sipas kësaj, administratorët janë më shumë të përqendruar në konfigurimin, mirëmbajtjen dhe garantimin e funksionimit të sistemeve serverike, ndërsa inxhinierët DevOps e menaxhojnë të gjithë këtë plus një karrocë të vogël.

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

Administrator sistemi: një luftëtar i vetëm në fushë

Pavarësisht dallimeve dhe ngjashmërive të përmendura në këtë artikull, unë shoh që në fakt nuk ka dallime të rëndësishme mes administratës së sistemeve dhe DevOps. Administratorët e sistemeve gjithmonë kanë kryer të njëjtat funksione si specialistët e DevOps, thjesht askush më parë nuk e quante këtë DevOps. Mendoj se s’ka kuptim të kërkohet veçanërisht për dallime, veçanërisht nëse kjo nuk është e lidhur me ndonjë detyrë. Po ashtu, nuk duhet harruar se, ndryshe nga administratorët e sistemeve, DevOps nuk është një pozita, por një koncept.

Duhet të theksojmë një tjetër gjë të rëndësishme, pa të cilën diskutimi mbi administratën dhe DevOps do të jetë i paplotë. Administrata e sistemeve, në kuptimin e saj tradicional, kërkon që specialisti të ketë një set specifik aftësish dhe të jetë orientuar drejt mirëmbajtjes së llojeve të ndryshme të infrastrukturave. Jo në kuptimin që ai është një punonjës universitar, por që ka një sërë detyrash që kryhen nga të gjithë administratorët.

Për shembull, atij i duhet herë pas here të veprojë si një ndihmës teknik, duke bërë thuajse gjithçka. Dhe nëse një administrator është i vetëm për të gjithë organizatën, atëherë ai do të kryejë të gjithë punën teknike. Kjo mund të jetë gjithçka: nga mirëmbajtja e printerëve dhe kopjuesve deri te përmbushja e detyrave të lidhura me rrjetin, siç është konfigurimi dhe menaxhimi i ruterëve dhe switch-eve apo konfigurimi i firewall-it.

Ai gjithashtu do të jetë përgjegjës për përditësimin e pajisjeve, kontrollin dhe analizimin e regjistrave, auditimin e sigurisë, instalimin e patches në server, zgjidhjen e problemeve, analiza e shkaqeve themelore dhe automatizimin — zakonisht nëpërmjet skriptave PowerShell, Python ose Bash. Një nga shembujt e përdorimit të skriptave ë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 skriptave lejon lirimin e kohës për zgjidhjen e detyrave më të rëndësishme në infrastrukturë, për shembull për përditësimin e switch-eve dhe serverëve dhe për kryerjen e projekteve të tjera që kanë ndikim në fitimin e kompanisë ku punon administratorin (edhe pse zakonisht besohet se departamenti IT nuk sjell të ardhura drejtpërdrejt).

Detyra e administratorit të sistemit është të mos harxhojë kohën kot dhe të kursejë paratë e kompanisë me çdo mundësi. Herë-herë, administratorët e sistemeve punojnë si anëtarë të një grupi të madh, duke bashkuar, për shembull, administratorët e Linux, Windows, baze të dhënash, ruajtjes dhe kështu me radhë. Grafiku i punës gjithashtu mund të jetë i ndryshëm. Për shembull, një turn në një zonë të kohës në fund të ditës mund të kalojë detyrat e turnit tjetër në një zonë tjetër të kohës, për të mos e ndërprerë procesin (follow-the-sun); ose mund të ketë një ditë normale pune nga ora 9 e mëngjesit deri në 5 të pasdites; ose mund të jetë punë në një qendër të të dhënave 24/7.

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

DevOps: zhvillimi dhe mirëmbajtja janë një tërësi

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

Nën mbikëqyrjen e DevOps në një anë punon një ekip zhvilluesish të softuerit, ndërsa në anën tjetër një ekip specialistësh të mirëmbajtjes. shpesh ata bashkëngjiten me specialistë të menaxhimit të produkteve, testues dhe dizajnerë të ndërfaqeve përdoruesit. Duke bashkuar përpjekjet e tyre, këta specialistë optimizojnë operacionet e punës për të lançuar me shpejtësi aplikacione të reja dhe për të përditësuar kodin me qëllim mbështetje dhe përmirësim efektiviteti të funksionimit të të gjithë kompanisë.

The essence of DevOps lies in monitoring the development and functioning of software throughout its entire life cycle. Maintenance specialists should support developers, while developers need to understand not only the APIs used in systems but also what lies beneath (i.e., how hardware and operating systems function) to better manage errors, troubleshoot issues, and interact with maintenance specialists.

System administrators can transition to a DevOps team if they are eager to learn new technologies and open to innovative ideas and solutions. As mentioned earlier, they do not have to become full-fledged programmers, but mastering programming languages like Ruby, Python, or Go can make them valuable team members. Although system administrators traditionally work independently and are often seen as loners, in DevOps they will experience a completely different environment where all participants interact with one another.

The topic of automation is becoming increasingly relevant. Both system administrators and DevOps specialists are interested in operational scaling, reducing errors, and quickly identifying and fixing existing issues. Therefore, automation is an area where both fields converge. System administrators are responsible for cloud services like AWS, Azure, and Google Cloud Platform. They must understand the principles of continuous integration and delivery and how to utilize tools of the kind Jenkins.

Moreover, system administrators should apply configuration and management tools such as Ansible, necessary for the parallel deployment of ten or twenty servers.

The main concept is infrastruktura si kod. Software is everywhere. Essentially, to keep the profession of system administrator relevant, it is just a matter of shifting the focus slightly. System administrators are responsible for maintenance and must effectively interact with developers, and vice versa. As they say, two heads are better than one.

And the final detail in this mechanism is Git. Working with Git is one of the traditional everyday responsibilities of a system administrator. This version control system is widely used by developers, DevOps specialists, agile teams, and many others. If your work involves the software life cycle, you will definitely be working with Git.

Git contains numerous capabilities. You will probably never learn all Git commands, but you will understand why this tool is considered essential for communication and collaboration in software development. A solid understanding of Git is very important if you work in a DevOps team.

If you are a system administrator, you need to study Git better, understand how version control works, and memorize common commands: git status, git commit -m, git add, git pull, git push, git rebase, git branch, git diff and others. There are many online courses and books that can help you learn this topic from scratch and become a professional with concrete skills. There are also great cheat sheets with Git commands, so memorizing them all isn’t necessary, but the more you use Git, the easier it will become for you.

Përfundimi

In the end, it’s up to you to decide whether to become a DevOps specialist or remain a system administrator. As you can see, transitioning requires training, but the sooner you start, the better. Choose a programming language and simultaneously learn tools like Git (version control), Jenkins (CI/CD, continuous integration), and Ansible (configuration and automation). No matter which path you choose, remember that continuous learning and skill improvement are essential.

Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster