Niyə Sistem Administratorları DevOps Mühəndisləri Olmalıdırlar

Niyə Sistem Administratorları DevOps Mühəndisləri Olmalıdırlar

Həyatda öyrənmək üçün bu gündən daha yaxşı vaxt yoxdur.


2019-cu ildir və DevOps həmişəkindən daha aktualdır. Deyirlər ki, meynfreym dövrü kimi sistem administratorlarının günləri də geridə qalıb. Amma bu həqiqətən belədirmi?
İT-də tez-tez baş verdiyi kimi, vəziyyət dəyişdi. DevOps metodologiyası ortaya çıxdı, lakin sistem administratoru bacarıqları olan bir şəxs olmadan, yəni Ops olmadan mövcud ola bilməz.

DevOps yanaşması müasir formasını almadan əvvəl mən özümü əməliyyatçı kimi təsnif edirdim. Mən çox yaxşı bilirəm ki, sistem administratoru hələ nə qədər bacara bilməyəcəyini və bunu öyrənmək üçün nə qədər az vaxt lazım olduğunu anlayanda nələr yaşayır.

Niyə Sistem Administratorları DevOps Mühəndisləri Olmalıdırlar

Amma həqiqətənmi bu qədər qorxulu? Mən deyərdim ki, bilik çatışmazlığı bir növ böyük problem kimi qəbul edilməməlidir. Bu, daha çox peşəkar çağırışdır.

Veb miqyaslı məhsullar Linux və ya digər açıq mənbə proqram təminatına əsaslanır və bazarda onları saxlamağa qadir olan insanlar getdikcə daha azdır. Artıq tələbat bu sahədə peşəkarların sayını üstələyib. Sistem inzibatçısı artıq öz bacarıq səviyyəsini təkmilləşdirmədən sadəcə işləməyə davam edə bilməyəcək. O, çoxsaylı serverləri/qovşaqları idarə etmək üçün avtomatlaşdırma bacarıqlarına malik olmalı və yaranan problemləri həll etmək üçün onların necə işlədiyini yaxşı başa düşməlidir.

DevOps komandasının üzvü olmamışdan əvvəl siz kifayət qədər uzun, lakin maraqlı bir səyahət etməli, sistemi DevOps standartlarına uyğun saxlamaq üçün lazım olan yeni texnologiyalar və müxtəlif alətləri öyrənməlisiniz.

Beləliklə, bir sistem administratoru işə adi yanaşmadan yeni DevOps konsepsiyasına necə keçə bilər? Hər şey həmişəki kimidir: əvvəlcə düşüncənizi dəyişmək lazımdır. Son on və ya iyirmi ildə təqib etdiyiniz yanaşmadan əl çəkib fərqli işlər görməyə başlamaq asan deyil, lakin bu lazımdır.

Hər şeydən əvvəl, DevOps-un şirkətdə xüsusi bir mövqe olmadığını, konkret təcrübələr toplusunu başa düşmək vacibdir. Bu təcrübələr təcrid olunmuş sistemlərin paylanmasını, səhvlərdən və səhvlərdən zərərin azaldılmasını, proqram təminatının tez-tez və vaxtında yenilənməsini, tərtibatçılar (Dev) və administratorlar (Ops) arasında yaxşı qurulmuş qarşılıqlı əlaqəni, eləcə də təkcə kodun deyil, həm də davamlı testlərin aparılmasını nəzərdə tutur. həm də proses daxilindəki bütün struktur davamlı inteqrasiya və çatdırılma (CI/CD).

Düşüncə tərzini dəyişdirməklə yanaşı, siz infrastrukturun saxlanmasını və onun sabit işləməsini, etibarlılığını və davamlı inteqrasiyası və tətbiqlərin, xidmətlərin və proqram təminatının çatdırılması üçün əlçatanlığını təmin etməyi öyrənməlisiniz.

Bir əməliyyat mütəxəssisi kimi çatışmayan şey proqramlaşdırma bacarıqlarıdır. İndi sistem administratorlarının serverə yamaqları avtomatik quraşdırmaq, faylları və hesabları idarə etmək, problemləri həll etmək və sənədləri tərtib etmək üçün istifadə etdiyi skriptlərin (skriptlərin) yazılması artıq köhnəlmiş hesab olunur. Skript hələ də nisbətən sadə hallarda tətbiq edilir, lakin DevOps tətbiqetmə, sınaq, quraşdırma və ya yerləşdirmələrdən asılı olmayaraq genişmiqyaslı problemlərin həllinə aiddir.

Beləliklə, avtomatlaşdırmanı öyrənmək istəyirsinizsə, inkişaf etdirici olmasanız belə, ən azı bir az proqramlaşdırmaya yiyələnmək lazımdır, çünki inkişafınızın bu mərhələsində infrastrukturun avtomatlaşdırılması DevOps-da bu bacarıq tələb olunur.

Nə etməli? Mütəxəssis kimi tələbatda qalmaq üçün müvafiq bacarıqları əldə etməlisiniz - ən azı bir proqramlaşdırma dilini, məsələn, Python-u mənimsəməlisiniz. Peşəkar şəkildə idarəetmə ilə məşğul olan şəxs üçün bu çətin görünə bilər, çünki o, yalnız tərtibatçıların proqramlaşdırdığını düşünməyə öyrəşmişdir. Mütəxəssis olmaq lazım deyil, proqramlaşdırma dillərindən birini bilmək (bu Python, Bash və ya hətta ola bilər) Powershell), mütləq üstünlük olacaq.

Proqramlaşdırmağı öyrənmək bir az vaxt tələb edir. Diqqətli və səbirli olmaq, DevOps komanda üzvləri və müştəriləri ilə ünsiyyət qurarkən hər şeydən xəbərdar olmağa kömək edəcək. Gündə yarım saat, bir saat və ya daha çox proqramlaşdırma dilini öyrənmək əsas məqsədiniz olmalıdır.

Sistem administratorları və DevOps mütəxəssisləri oxşar problemləri həll edirlər, lakin əhəmiyyətli fərqlər var. Bir sistem administratorunun bir DevOps mühəndisinin edə biləcəyi hər şeyi edə bilməyəcəyinə inanılır. Onlar deyirlər ki, sistem inzibatçısı daha çox server sistemlərinin konfiqurasiyasına, saxlanmasına və işini təmin etməyə diqqət yetirir, lakin DevOps mühəndisi bütün bu arabanı və başqa bir kiçik arabanı çəkir.

Bəs bu ifadə nə dərəcədə doğrudur?

Sistem administratoru: sahədə bir döyüşçü

Bu məqalədə qeyd olunan fərqlərə və oxşarlıqlara baxmayaraq, sistem administrasiyası ilə DevOps arasında ciddi fərq olmadığına inanıram. Sistem administratorları həmişə DevOps mütəxəssisləri ilə eyni funksiyaları yerinə yetirmişlər, sadəcə olaraq, əvvəllər heç kim onu ​​DevOps adlandırmırdı. Mən hesab edirəm ki, xüsusi olaraq fərqlər axtarmağın mənası yoxdur, xüsusən də hər hansı bir vəzifə ilə əlaqəli deyilsə. Unutmayın ki, sistem administratorundan fərqli olaraq, DevOps bir mövqe deyil, bir konsepsiyadır.

Daha bir vacib şeyi qeyd etmək lazımdır, onsuz həm administrasiya, həm də DevOps haqqında söhbət natamam olacaqdır. Adi mənada sistem idarəçiliyi mütəxəssisin müəyyən bacarıqlar toplusuna malik olmasını və müxtəlif növ infrastrukturlara xidmət göstərməyə yönəldiyini nəzərdə tutur. Bunun universal işçi olması mənasında yox, bütün idarəçilərin yerinə yetirdiyi bir sıra tapşırıqların olması mənasında.

Məsələn, vaxtaşırı onlar bir növ texniki usta kimi çıxış etməli, yəni sözün əsl mənasında hər şeyi etməlidirlər. Bütün təşkilat üçün yalnız bir belə idarəçi varsa, o, ümumiyyətlə bütün texniki işləri yerinə yetirəcəkdir. Bu, printerlərin və surətçıxarıcıların saxlanmasından tutmuş marşrutlaşdırıcıların və açarların qurulması və idarə edilməsi və ya firewallun konfiqurasiyası kimi şəbəkə ilə əlaqəli tapşırıqların yerinə yetirilməsinə qədər hər şey ola bilər.

O, həmçinin, adətən PowerShell, Python və ya Bash skriptləri vasitəsilə aparat yeniləmələri, jurnalların yoxlanılması və təhlili, təhlükəsizlik auditləri, server yamaqları, problemlərin aradan qaldırılması, kök səbəblərin təhlili və avtomatlaşdırmaya cavabdeh olacaq. İstifadəyə bir nümunə ssenarilər istifadəçi və qrup hesablarının idarə edilməsidir. İstifadəçi hesablarının yaradılması və icazələrin təyin edilməsi son dərəcə yorucu bir işdir, çünki istifadəçilər demək olar ki, hər gün görünür və yox olur. Skriptlər vasitəsilə avtomatlaşdırma daha vacib infrastruktur tapşırıqları, məsələn, kommutatorların və serverlərin təkmilləşdirilməsi və administratorun işlədiyi şirkətin gəlirliliyinə təsir edən digər layihələr üçün vaxt azad edir (İT departamentinin birbaşa gəlir əldə etməməsi ümumiyyətlə qəbul edilir).

Sistem administratorunun vəzifəsi vaxt itirməmək və hər hansı bir şəkildə şirkətin puluna qənaət etməkdir. Bəzən sistem administratorları, məsələn, Linux, Windows, verilənlər bazası, yaddaş və s. administratorlarını birləşdirən böyük bir komandanın üzvləri kimi işləyirlər. İş qrafikləri də müxtəlifdir. Məsələn, günün sonunda bir saat qurşağında yerdəyişmə proseslərin dayanmaması üçün (günəşin ardınca) işləri başqa vaxt qurşağındakı növbəti növbəyə köçürür; və ya işçilərin səhər saat 9-dan axşam 5-dək normal iş günü olması; və ya XNUMX/XNUMX məlumat mərkəzində işləyir.

Zaman keçdikcə sistem administratorları strateji düşünməyi və vacib məsələləri gündəlik işlərlə birləşdirməyi öyrəndilər. İşlədikləri komandalar və şöbələr adətən resurslara çatışmır, lakin eyni zamanda hər kəs gündəlik tapşırıqları maksimum dərəcədə yerinə yetirməyə çalışır.

DevOps: təkmilləşdirmə və texniki xidmət

DevOps inkişaf və baxım prosesləri üçün bir növ fəlsəfədir. İT dünyasında bu yanaşma həqiqətən yenilikçi olmuşdur.

DevOps çətiri altında bir tərəfdə proqram təminatı inkişaf qrupu, digər tərəfdə isə texniki xidmət qrupu var. Onlara tez-tez məhsul idarəetmə mütəxəssisləri, testçilər və istifadəçi interfeysi dizaynerləri qoşulur. Bu mütəxəssislər birlikdə bütün şirkətin səmərəliliyini dəstəkləmək və artırmaq üçün yeni proqramlar və kod yeniləmələrini tez bir zamanda yaymaq üçün əməliyyatları sadələşdirirlər.

DevOps bütün həyat dövrü ərzində proqram təminatının inkişafı və istismarına nəzarətə əsaslanır. Baxım işçiləri tərtibatçıları dəstəkləməlidirlər və tərtibatçılara sistemlərdə istifadə olunan API-lərdən daha çoxunu başa düşmək tapşırılır. Başlıq altında nə olduğunu (yəni, aparat və əməliyyat sistemlərinin necə işlədiyini) başa düşməlidirlər ki, səhvləri daha yaxşı idarə edə, problemləri həll edə və xidmət texnikləri ilə qarşılıqlı əlaqə qura bilsinlər.

Sistem administratorları ən son texnologiyaları öyrənmək və innovativ ideyalara və həllərə açıq olduqları təqdirdə DevOps komandasına keçə bilərlər. Daha əvvəl dediyim kimi, onlar tam hüquqlu proqramçı olmaq məcburiyyətində deyillər, lakin Ruby, Python və ya Go kimi proqramlaşdırma dilini mənimsəmək onlara komandanın çox faydalı üzvü olmağa kömək edəcək. Sistem administratorları ənənəvi olaraq bütün işləri özləri görsələr də və çox vaxt tək adamlar kimi qəbul edilsələr də, DevOps-da onlar prosesdəki hər kəsin bir-biri ilə qarşılıqlı əlaqədə olduğu tamamilə əks təcrübəyə malikdirlər.

Avtomatlaşdırma mövzusu getdikcə aktuallaşır. Həm sistem administratorları, həm də DevOps mütəxəssisləri miqyasını tez bir zamanda genişləndirmək, səhvləri azaltmaq və mövcud səhvləri tez tapmaq və düzəltməkdə maraqlıdırlar. Beləliklə, avtomatlaşdırma iki sahənin birləşdiyi bir anlayışdır. Sistem administratorları AWS, Azure və Google Cloud Platform kimi bulud xidmətlərinə cavabdehdirlər. Onlar davamlı inteqrasiya və çatdırılma prinsiplərini və kimi alətlərdən necə istifadə etməyi başa düşməlidirlər Jenkins.

Bundan əlavə, sistem administratorları kimi konfiqurasiya və idarəetmə vasitələrindən istifadə etməlidirlər Yoxdur, on və ya iyirmi serverin paralel yerləşdirilməsi üçün lazımdır.

Əsas anlayışdır kod kimi infrastruktur. Proqram təminatı hər şeydir. Əslində, sistem inzibatçısı peşəsinin aktuallığını itirməməsi üçün sadəcə vurğunu bir az dəyişdirmək lazımdır. Sistem administratorları xidmət biznesindədirlər və tərtibatçılarla effektiv ünsiyyət qurmağı bacarmalıdırlar və əksinə. Necə deyərlər, bir baş yaxşıdır, iki baş yaxşıdır.

Və bu mexanizmdəki son detal get. Git ilə işləmək sistem administratorunun ənənəvi gündəlik vəzifələrindən biridir. Bu versiyaya nəzarət sistemi tərtibatçılar, DevOps mütəxəssisləri, Agile komandaları və bir çox başqaları tərəfindən geniş istifadə olunur. Əgər işiniz proqram təminatının həyat dövrü ilə bağlıdırsa, o zaman siz mütləq Git ilə işləyəcəksiniz.

Git bir çox xüsusiyyətlərə malikdir. Çox güman ki, siz Git əmrlərinin hamısını heç vaxt öyrənməyəcəksiniz, lakin bunun proqram təminatının rabitəsi və əməkdaşlığının əsas elementi olduğunu dəqiq başa düşəcəksiniz. Bir DevOps komandasında işləyirsinizsə, Git haqqında hərtərəfli bilik çox vacibdir.

Əgər siz sistem inzibatçısısınızsa, onda Git-i daha yaxşı öyrənməli, versiya nəzarətinin necə qurulduğunu başa düşməlisiniz və ümumi əmrləri yadda saxlamalısınız: git statusu, git commit -m, git add, git pull, git push, git rebase, git branch, git diff və qeyriləri. Bu mövzunu sıfırdan öyrənməyə və xüsusi bacarıqlara malik peşəkar olmağa kömək edəcək bir çox onlayn kurslar və kitablar var. Gözəlləri də var Git əmrləri ilə fırıldaqçı vərəqlər, buna görə də hamısını sıxmaq lazım deyil, lakin Git-dən nə qədər çox istifadə etsəniz, bir o qədər asan olacaq.

Nəticə

Nəhayət, siz DevOps mütəxəssisi olmağınız və ya sistem administratoru olaraq qalmağın daha yaxşı olub olmadığına qərar verirsiniz. Gördüyünüz kimi, keçid etmək üçün bir öyrənmə əyrisi var, lakin nə qədər tez başlasanız, bir o qədər yaxşıdır. Proqramlaşdırma dilini seçin və eyni zamanda kimi alətləri öyrənin get (versiya nəzarəti), Jenkins (CI/CD, davamlı inteqrasiya) və Yoxdur (konfiqurasiya və avtomatlaşdırma). Seçdiyiniz variantdan asılı olmayaraq, daim öyrənməli və bacarıqlarınızı təkmilləşdirməli olduğunuzu unutmayın.

Mənbə: www.habr.com

Добавить комментарий