STEP IT Academy! 1999-cu ildən bəri öyrənirik. Süni intellektlə əvəz edilməsi mümkün olmayan proqramçı, dizayner və sistem mühəndisləri hazırlayırıq. Bunun üçün profil üzrə dərin biliklərdən əlavə, məsələləri baş düşməyi, hazır layihələr formasında düşünməyi və komandada işləməyi öyrədirik.

Your browser is out of date!

You are using an outdated browser Internet Explorer. This version of the browser does not support many modern technologies, that's why many pages of the website are not displayed correctly, and may not work some of functions . We recommend viewing the website using the latest versions of the browsers Google Chrome, Safari, Mozilla Firefox, Opera, Microsoft Edge

ШАГ логотип

DevOps kimdir: peşənin təhlili

IT Step

Soft Skills

Proqramlaşdırma

05.05.2023

25 blog_count_views_5_9_11_14

Bu məqalədə biz DevOps engineer-in işinin mahiyyətindən bəhs etməyə çalışmışıq. Material proqramlaşdırmağa yeni başlayanlar və bu peşə ilə maraqlananlar üçün yazılmışdır.

İnternetdə bu barədə ən müxtəlif fikirlər var. Mövzunu müxtəlif baxış bucaqlarından nəzərdən keçirək.

DevOps kimdir: fikirlər müxtəlifdir

Proqramçılar dünyasında DevOps-un nə və ya kim olduğuna dair 2 fikir var. Hər bir fikrin öz tərəfdarları və tənqidçiləri var.

DevOps bir fəlsəfədir. 10-15 il əvvəl tərtibatçılar proqramın işlək olmasına, administratorlar isə həmin proqramın server vasitəsilə istifadəçiyə çatmasına cavabdeh idilər.

Əvvəllər səhv düzəltmək üçün çox vaxt lazım olurdu. Sistem administratoru mesajı proqramçıya ötürürdü və ona problemi izah edirdi. Proqramçı isə yeniləmə buraxmaq və koda düzəliş vermək üçün vaxt itirirdi.

Hal-hazırda vəziyyət bir qədər fərqlidir. Şirkətlər hər gün 10-dan çox proqram üzərində işləyir. Yeniləmələr buraxmaq, səhvləri aşkarlamaq lazımdır. Smartfonunuza baxın və bu gün nə qədər tətbiqin yeniləndiyini görün. Onların sayı nə bir, nə də ikidir.

Hal-hazırda rəqabət aparmaq üçün digər şirkətlərdən daha sürətli və daha yaxşı işləmək lazımdır. Proqramçılar yalnız kod yazır, sistem administratorları isə yalnız proqramları serverə quraşdırıb onların işini izləyirsə, bunu necə etmək olar? Necə daha sürətli ünsiyyət qurmaq olar?

Bunun üçün İT şirkətləri DevOps prinsipini düşünüblər:

Build tərtibatçının (Dev), test və release isə sisadminin, optimizatorun (Ops) məsuliyyət dairəsindədir.

Bu, tərtibatçının və administratorun (məhsul optimizatoru) birgə iş qaydasıdır. Sisadminə hər hansı bir proqram yeniləməsi lazım olarsa, o, tərtibatçıya komanda çatında sorğu verir. Server üçün skripti isə sisadminin özü yaza bilər.

DevOps-dan Amazon, Microsoft, Etsy, Ebay kimi şirkətlər istifadə edir. İstehlakçının diqqətini cəlb etmək və rəqiblərini geridə qoymaq üçün onlar kodda bütün səhvləri düzəltməli və mümkün qədər çox yeniləmə buraxmalıdır.

Sadə dillə desək, DevOps bir şirkətdə tərtibatçı ilə administrator arasında yeni ünsiyyət qaydası və ya ünsiyyət üsuludur.

DevOps bir peşədir. Sistem administratorları dünyasında aysberqin təpəsi məhz belə adlanır. DevOps sisadminlərin və tərtibatçıların məhsul üzərində daha sürətli işləməsini təmin edir. Sadələşdirilmiş misallara baxaq:

DevOps həmkarlarına: "Microsoft Teams proqramında ünsiyyət qururuq. Tapşırıqları və icra prosesini orada qeydiyyatdan keçirin. Sualınız yaranarsa, mənə yazın". Tərtibatçı kodu və zəruri faylları sisadminə göndərir. Sisadmin kodu serverə köçürür. Quraşdırma mərhələsində administrator səhv aşkarlaya bilər. O, tərtibatçılara bununla bağlı heç nə yazmır, bir DevOps kimi problemi özü həll edir.

DevOps-da bütün alətlərdən istifadə edə bilmək zəruri deyil. Məsələn, bir şirkət Slack proqramı, digəri isə Microsoft Teams ilə işləyir.

DevOps tərtibatçılar qrupu ilə sisadminlər qrupu arasındakı əlaqədir. O, koddakı toqquşmaları (конфликт) təhlil edir, sistem administratorları üçün yeniləmələr təşkil edir, tapşırıqları şöbələr arasında bölür. Onun bunları necə etməsi onun istifadə etdiyi vasitələrdən asılıdır.

DevOps-a proqramlaşdırma lazımdırmı?

İki msala baxaq. Birincisində sisadmin proqramlaşdırmanı bilmir, ikincisində isə bilir.

Bir sisadmin kodu tərtibatçıdan alır. Onun vəzifəsi kodu hazır serverə köçürməkdir. Onun işi bununla bitir. Əlavə proqramlar və ya yeniləmələr almaq üçün o, tərtibatçıya müraciət edir. Tərtibatçının skript yazması, sisadminin isə sonradan onları serverə quraşdırması xeyli vaxt aparır.

Başqa bir sisadmin isə skript olmadan proqrama heç bir yeniləmə quraşdıra bilməyəcəyini görür. Tərtibatçıya məktub yazmaq əvəzinə o, skripti özü yazır: sisadmin proqramlaşdırmanın əsaslarını bilir, Python proqramlaşdlırma dilində işləməyi bacarır və işin öhdəsindən gəlir. Tərtibatçı proqramın təkmilləşdirilməsi üzərində işləyir, sisadmin isə ona mane olmur. Bu, daha sürətli olur.

Şirkətlərdə DevOps proqramlaşdırma bacarığı olmadan işləyə bilməz. Bu, onun gördüyü işlərin natamam və sadələşdirilmiş siyahısıdır: serverləri sıfırdan quraşdırmaq, proqramlar üçün əməliyyat sistemi hazırlamaq, daxili şəbəkələrə qoşmaq, monitorinq aparmaq və ehtiyat nüsxə çıxarmaq.

Bütün bunları proqramlaşdırma bacarığı olmadan etmək mümkün deyil. Proqramlaşdırmanın əsaslarını bilən DevOps isə tərtibatçının nə ilə və necə işlədiyini anlayır.

Junior DevOps-un alətləri.

Proqramlaşdırmanı bilməyən DevOps sadəcə sistem administratorudur. O, tərtibatçının yazdığı kodu oxuya bilmir və server üçün skript yazmağı bacarmır.

DevOps Python-dan necə yararlanır?

IT STEP Kompüter Akademiyasının «DevOps» təlim kursunda biz tələbələri DevOps üçün proqramlaşdırmanın əsasları ilə tanış edirik. Python proqramlaşdırma dilinin üstünlükləri, sistem administratorunun bilməli və bacarmalı olduğu şeylər və avtomatlaşdırma məsələlərinin 99%-nin bir proqramlaşdırma dili ilə necə idarə edilməli olduğundan bəhs edirik.

Gəlin DevOps mühəndisinin Python-dan istifadə etdiyi hallara baxaq.

"Boş resursların" təhlili vasitəsi. Mobil proqram tətbiqləri tərtib edən şirkətlər, mobil operatorlar buludlu anbarlardan istifadə edirlər. Buludlu anbarı dəstəkləmək üçün şirkət ildə milyonlarla dollar xərcləyir. Python-da buludda istifadə olunmamış yerləri tapan və onları söndürən bir bot yazmaq mümkündür. Orta hesabla, bir bot vasitəsilə işləməyən mənbələrin 40-50%-ni söndümək və həmin məbləğdə vəsaitə qənaət etmək olar.

Proqramda səhv axtaran skript. Server iri həcmli məlumat deməkdir. Bu qədər məlumatı əl ilə işləmək mümkün deyil. Bir skript yazmaqla səhvlərin monitorinq proqramını və tapşırıq sistemini birləşdirmək olar (Slack və ya Trello kimi). Proqram işə düşür, kodda bir səhv tapır, onu işləyir və avtomatik olaraq tapşırıq yaradır. Sisadmin səhv deyil, hazır tapşırıq görür: serverdəki problemi düzəltmək üçün nə etmək lazım olduğunu bilir.

Ansible və Kubernetes üçün Python lint testləri. Proqramı insanların görməsi üçün onu sınaqdan keçirmək və serverə quraşdırmaq tələb olunur. Kodu ya əllə və gözlə (proqrama daxil edərək, səhvləri aşkar edərək), ya da proqramla sınamaq olar. İkinci variantda Python-da avtomatik test proqramı yazılır. Bu, sisadminlərin gündə 10 Proqram və 100 yeniləmə buraxdığı zaman faydalıdır. Hər şeyi əl ilə yoxlamaq mümkün deyil.

Daha sadə vəziyyətlərə də rast gəlinir. Məsələn, onlayn bankçılıq üçün xüsusi bir skript yazırlar. Serveri yükləməmək üçün onlayn tətbiq hissələrə ayırır və yüzlərlə serverə quraşdırılır. Servisdə xəta yaranarsa, sisadminlər onu müəyyən bir serverdə tapacaqlar. Qeyd etdiyimiz kimi, həmin serverdə kodun yalnız bir hissəsi olur. Bu, bir serverin bazasındakı 10 000 kod sətrinin içərisində bir kod sətrini axtarmaqdan daha sürətlidir.

DevOps-un proqramlaşdırma ilə bağlı işləri çox olur. Bu, müxtəlif DevOps-ların maaşı arasındakı fərqin yaranmasının əsas səbəbidir. Sisadminlər isə proqramlaşdırma ilə məşğul olmur, onlar daha az iş görürlər.

İstinad tezisləri

DevOps-un iki vəzifəsi var: tərtibatçı və sistem administratoru arasında ünsiyyət sazlamaq və şöbələr arasında fasiləsiz iş qurmaq. Məsələn: məhsul-server-yeniləmə-server-yeniləmə…

Tərtibatçıya mane olmamaq üçün DevOps proqramlaşdırmanı bilməlidir. Bu halda o, məhsulu özü sınayır, server üçün proqram yazır.

Sistem administratorunun işinin 99 faizini Python-la görmək olar.



author_about_title:

IT Step

STEP IT Academy

Birlikdə bərabərliyə doğru: STEP IT Academy və Femmes Digitales qızlarıın İT sahəsinə cəlb edilməsi üçün birləşir

İT sahəsində gender asimmetriyası çoxdan nəzərə çarpır: belə ki, kişilərin sayı qadınlardan daha çoxdur. Səbəblərdən biri cəmiyyətdə və ailədə stereotiplərin olmasıdır: valideynlər çox vaxt qızları üçün ənənəvi olaraq “qadın” sənəti sayılan istiqamətləri seçirlər. Beləliklə, qızlar erkən uşaqlıq vaxtlarından nadir hallarda İT və texnologiya dünyası ilə tanış olmaq imkanı əldə edirlər. Uşaq yaşı maraqların, ambisiyaların və bacarıqların formalaşmasında çox vacib rol oynayır. Qızlara bu yaşda İT sahəsində təhsil almaq imkanı verilməsə, onlar bu sahəyə maraqlarını heç vaxt aşkarlaya bilməzlər. Bu problem təkcə imkanların bərabər olmasıyla deyil, həm də iqtisadiyyatımızın, bütövlükdə isə cəmiyyətimizin səmərəliliyi baxımından mühüm əhəmiyyət kəsb edir. Əhalinin yarısını belə

ШАГ логотип

Şəbəkələr Və Kibertəhlükəsizlik

Sualtı kabellərin həyatı

1. Niyə telekommunikasiya şirkətləri kabellər yerinə peyklərdən istifadə etmirlər? 2. Yaxşı, bəs mənim smartfonum? Axı o simsiz məlumat mübadiləsi istifadə edir. 3. Neçə sualtı kabel var? 4. Onlar necə işləyir? 5. Onlar qalındırmı? 6. Kabellər həqiqətən düz okeanın dibində dayanır? 7. Köpəkbalığı (akula) onları yeyirmi? 8. Bütün kabellərin ümumi uzunluğu nə qədərdir? 9. Kabellər kimə məxsusdur? 10. Bu kabelləri kim istifadə edir? 11. Onlar hansı həcmdə olan informasiyanı ötürə bilərlər? 12. Facebook və Google öz peyklərini və dronlarını sınaqdan keçirir və buraxır. Kabellərin hələ də gələcəyi varmı?

1956-ci il sentyabrın 25-də ilk transatlantik telefon kabeli istismara verilmişdir. Sizin qarşınızda niyə internet indiyədək göydə deyil su altında yaşayır mövzusunda kiçik FAQ (Tez-tez soruşulan sual) var. Niyə telekommunikasiya şirkətləri kabellər yerinə peyklərdən istifadə etmirlər? Peyklər bir çox məqsədlər üçün çox münasibdir: onları fiber optik kabellərin hələ mövcud olmadığı məkan üçün istifadə etmək olar, üstəlik onlar məlumatları bir nöqtədən bir neçə nöqtəyə ötürə bilərlər. Ancaq məlumatların mərhələli şəkildə ötürülməsində fiber optikdən yaxşısı yoxdur.Bu cür kabellər az Bu məsrəflərlə daha böyük həcmli məlumatları ötürə bilər. Peyk vasitəsilə keçən beynəlxalq trafikin həcmini dəqiq öyrənmək çətindir, lakin bu həcmin oldu

ШАГ логотип

Şəbəkələr Və Kibertəhlükəsizlik

Sıfırdan şəbəkə mühəndisi olmaq üçün nə etməli?

0.1. Müstəqil şəkildə öyrənmək olarmı? 0.2. Karyeranı uğurla başlanması üçün nə lazımdır? 0.3. Yaş məhdudiyyəti varmı?

Şirkətdə "şəbəkə mühəndisi" vəzifəsində işləyən şəxs nə etməlidir? Çoxları ona bütün elektron cihazların nəzarətçisi və mütəmadi olaraq printerin kartricini yeniləyən şəxs kimi baxırlar. İndi isə biz şəbəkə mühəndisliyinin sıfırdan öyrənilməsi haqqında söhbət açacağıq. Şəbəkə mühəndisi əslində tamamilə fərqli bilik və bacarıqlara malik olmalıdır. Onlar aşağıdakılardır: Linux və Windows daxil olmaqla müxtəlif əməliyyat sistemlərinin iş prinsiplərinə bələd olmaq və onları bir-biri ilə əlaqələndirmək; MS Office ofis proqram paketindəki bütün proqramları bilmək; İşlədiyi şirkətdə istifadə edilən mühasibat, qrafik və digər proqramlar haqqında təsəvvürə malik olmaq (belə ki, istifadə olunan proqramlar bütün şəbəkənin işinə birbaşa təsir göstərir); kompüterin komponentl�

ШАГ логотип

Proqramlaşdırma

Java-nı nə üçün indi öyrənmək lazımdır?

Java-nı nə üçün indi öyrənmək lazımdır?

Artıq bilirik ki, Java – Sun Microsistems şirkətinin tərəfindən işlənib hazırlanmış obyektyönümlü proqramlaşdırma dilidir. Zamanımızda 3 milyard mobil telefon və 125 milyon televizor Java-dan istifadə edir. Bu proqramlaşdırma dili ən yaxşı proqramlaşdırma dilləri sırasında hər zaman öndədir. Bundan əlavə, Java-nın «Write once, run anywhere» (bir dəfə yaz, hər yerdə işə sal) prinsipi ilə yaşayan çoxlu pərəstişi var. Java çox populyar proqramlaşdırma dilidir. 1995-ci ildə işıq üzü görməsindən bu günədək onun 9 əsas versiyası buraxılmışdır. Java texniki fenomen olması əsasən onun hərtərəfli olması ilə bağlıdır: Java əlavələri istənilən əməliyyat sistemində və istənilən qurğuda işə düşə bilir. Qurğunun quruluşundan asılılığın olmamas və proqramların sadə, lakin etibarlı icra edilməsi onun əsas xüsusiyyətlərindəndir. B&uu

ШАГ логотип

Bu sayt Cookies istifadə edir

Məxfilik Siyasəti və Qanuni Məlumat