OpenShift-in İT təşkilatlarının strukturunu necə dəyişdirdiyi. PaaS-a keçid zamanı təşkilati modellərin evrilməsi

PaaS (Platform as a Service) solutions alone cannot change the ways of individual and team interaction, but they often act as a catalyst for organizational changes in response to increasing flexibility of IT technologies.

OpenShift-in İT təşkilatlarının strukturunu necə dəyişdirdiyi. PaaS-a keçid zamanı təşkilati modellərin evrilməsi

In practice, the maximum return on investment in PaaS is often only achievable through changes in organizational roles, areas of responsibility (tasks), and relationship schemes. Fortunately, PaaS solutions like OpenShift Container Platform have enough flexibility for each IT organization to independently determine the pace and scale of changes regarding the people involved and the processes taking place.

In the initial phase of enterprise containerization, the main priority is to implement a container platform as a new application deployment system. At this moment, organizations tie familiar tasks to familiar roles to respond to standard requests from development teams regarding storage systems, deployment environments, and so on. In subsequent phases of containerization, the focus shifts to automation or providing developers with self-service capabilities to lighten the load on system administrators and elevate the autonomy and efficiency of developers. This is how organizations begin to move towards DevOps. In the final stage of enterprise containerization, organizations arrive at a cleaner, canonical DevOps model, where many of the previous tasks and responsibilities are transferred to cross-functional teams, grouped not by platform or technology, but by ensuring the operation of applications or application services.

In this post, we will present a guide on the necessary organizational changes and discuss how traditional IT roles evolve with the implementation of container technologies in enterprises.

Linking new tasks to old roles

PaaS-ın əsas, ilkin formasında təşkilati model, tətbiqlərə IT resurslarını daha çevik və operativ şəkildə ayırmaq üçün formalaşır. Və baxmayaraq ki, bu, sistem adminlərinə müəyyən üstünlüklər verir, burada inkişaf etdiricilər adətən heç bir əhəmiyyətli fayda və yeni imkanlar əldə etmir, çünki bu mərhələdə müəssisə avtomatizasiya etmədən, özünə xidmət təqdim etmədən və ya yerləşdirmə borularını köklü şəkildə yaxşılaşdırmadan kifayət qədər irəliləyə bilər. PaaS bu mərhələdə inkişaf proseslərinə minimal təsir edərək, buna baxmayaraq, IT sisteminin dinamikasını artırır, bu da adminlərin inkişaf etdiricilərin tələblərini daha yaxşı yerinə yetirməsinə imkan verir. Məsələn, daha əvvəl bir neçə virtual maşınlar və saxlama tutumu olan inkişaf mühitinin yaradılması günlər, hətta həftələr çəkə bilərdi və bir neçə fərqli administratorun iştirakı tələb olunurdu, lakin PaaS-da hər şey çox daha sürətlə yalnız bir administratorun gücü ilə həyata keçirilir. Başqa sözlə, inkişaf komandaları müraciət göndərir, amma bu müraciətlərin icrası artıq yeni sxem üzrə icra edilir.

DevOps təşkilatına doğru yol

PaaS-ı işə salaraq və onu IT sistemlərinin istismar mütəxəssislərinə və tətbiq inkişaf etdiricilərinə köçürərək, təşkilat DevOps metodologiyasının tətbiqinə davam edə bilər ki, bu da aşağıdakı əsas prinsipləri nəzərə alır:

  • İşləri kiçik mərhələlərə bölmək, ilkin mərhələlərdə geribildirim almaq, riskləri azaltmaq və "analitik ifrat"-dan qaçmaq üçün;
  • Əməliyyatları kifayət qədər avtomatlaşdırmaq, tətbiqin yerləşdirilməsi prosesində maneələr və ya daralmalar yaratmamaq üçün;
  • Bilik mübadiləsi – etimadın yaradılmasında açar;
  • Texniki borcları müntəzəm olaraq ödəmək, hər iş dövründə sistemli təkmilləşdirmələr üçün müəyyən vaxt ayırmaq.

İkinci mərhələdə konteyner texnologiyalarının tətbiqində proqram inkişafı komandaları, təbii ki, təkmilləşdirmə imkanlarını görməyə başlayır və müəssisə daha kanonik bir DevOps modelosuna meyl edir. Ənənəvi xidmət tələblərinin verilməsi və yerinə yetirilməsi mexanizmi artıq dar bir yer olaraq qəbul edilir, buna görə də təşkilat təkrarlanan fəaliyyətləri avtomatlaşdırmağa və inkişaf etdiricilərə öz-özünə xidmət imkanları təqdim etməyə çalışır. Həmçinin, bu inkişaf etdiricilərin, məhz bir xidmət tələbi çərçivəsində, platforma əməliyyat mütəxəssisləri və tətbiq çatdırılması ilə məsul olanlar tərəfindən müəyyən edilmiş imkanlar təklif olunur. Başqa sözlə, inkişaf etdiricilərin tələbləri üzrə əməliyyatları yerinə yetirən sistem administratorlarına yerini yuxarıda qeyd olunan iki işçi kateqoriyası alır, bu kateqoriyalar, inkişaf etdiricilərin nələr etməyə izn veriləcəyini tənzimləyən siyasətlərin təsvirinə və tətbiqinə cavabdehdir. Avtomatlaşdırılmış prosedurlar bu tələblərə riayət edilməsi üçün kömək edir və dəqiqlik tədbirləri həyata keçirildiyi hallarda fəaliyyətlərin sinxronlaşdırılmasına imkan yaradır.

İT mühiti və əməliyyat modeli zamanla iterativ dəyişikliklərə məruz qaldığı iterativ cədvələ keçid, müəssisədə yetkin bir DevOps sisteminin formalaşması üzrə kritik bir mərhələdir. DevOps metodologiyasının qəbuluna dərəcə, hər bir təşkilatın dəyişikliklərə qarşı dözümlülüyündən və hansı dəyişikliklərin daha çox fayda gətirdiyindən asılıdır. Məsələn, əgər yeni mühitlərin və ya tətbiqlərin yaradılmasına olan ehtiyac nadir hallarda yaransa, onda müvafiq fəaliyyətlərin optimallaşdırılması, tətbiq inkişaf etdiricilərinin tətbiq dövrü üzərində daha çox nəzarət etməsindən daha az əhəmiyyətli olacaq.

OpenShift-ə keçiddə İT təşkilatlarında yaranan yeni məsələlər

Bu bölmədə OpenShift-ə keçən təşkilatların avtomatlaşdırmanı sürətləndirmək və PaaS texnologiyalarından istifadə edərək öz-özünə xidmət imkanlarını artırmaq üçün adətən tətbiq etdiyi rolları və vəzifələri müzakirə edəcəyik.

Aşağıdakı cədvəldə OpenShift tətbiq edən hər hansı bir təşkilatda mövcud olan əsas yüksək səviyyəli vəzifələr, onlarla bağlı işlər və bacarıqlar ilə birlikdə göstərilir. Bu vəzifələr siyahısı işlərin bölüşdürülməsi sxemi ilə və ya komanda təşkilat quruluşu ilə qarışdırılmamalıdır; bu, IT mühitinin dəstəyi üçün məsul şəxslər tərəfindən yerinə yetirilməsi lazım olan vəzifələrdən ibarət bir siyahıdır ki, bunun sayəsində konteyner platformasının uğurla tətbiqini təmin etmək mümkündür. Əslində, daha sonra göstərəcəyik ki, konteyner texnologiyalarının tətbiqi müəssisədə daha yetkin bir DevOps strategiyasının formalaşması üçün şərait yaradır ki, bu da komandaların kross-funksionallıq dərəcəsini artırır və həm fərdi işçilər, həm də komandalar səviyyəsində dar ixtisaslaşma risklərini azaldır.

Cədvəl 1. OpenShift vəzifələrinin tərifi

Vəzifələr
Tələb olunan bacarıqlar

IT infrastrukturlarının avtomatlaşdırılması və hazırlaşması

İşlər:

  • Avadanlıq həllərinin layihələndirilməsi və qurulması
  • Avtomatlaşdırma başlatma konfiqurasiyasının təşkili və dəstəklənməsi
  • VM və hostların hazırlanmasının layihələndirilməsi və avtomatlaşdırılması

  • Veri mərkəzlərinin layihələndirilməsi və tətbiqi
  • Linux sisteminin idarə edilməsi
  • Avtomatlaşdırma ssenariləri
  • Saxlama sistemləri haqqında bilik
  • Şəbəkələrin layihələndirilməsi və tətbiqi sahəsində bilik
  • Təhlükəsizlik

OpenShift platformasının quraşdırılması və idarə edilməsi

İşlər:

  • Klasterin quraşdırılması
  • İnfrastruktur xidmətlərinin idarə edilməsi
  • Platformanın miqyaslandırılmasının idarə edilməsi
  • Platforma səviyyəsində doğrulama və icazə

  • Linux sisteminin idarə edilməsi
  • Şəbəkə texnologiyaları haqqında bilik
  • Avtomatlaşdırma ssenariləri (Ansible)
  • Saxlama sistemləri haqqında bilik
  • Konteyner texnologiyaları və arxitekturaları haqqında bilik
  • Kubernetes və OpenShift arxitekturaları barədə məlumat
  • Platformaların təhlükəsizliyi
  • İzləmə inteqrasiyası

Müştəri mühitlərinin (tenant provisioning) hazırlanması və IT resurslarının izolyasiyası

İşlər:

  • Platforma daxilində istifadəçilərin və komandaların yaradılması
  • Kotların layihələndirilməsi və idarə edilməsi
  • RBAC-nın layihələndirilməsi və tətbiqi

  • Kubernetes və OpenShift arxitekturaları barədə məlumat
  • Konteyner texnologiyaları və arxitekturaları haqqında bilik
  • Avtomatlaşdırma ssenariləri
  • Layihələr, kotlar, rol bağlamaları və planlaşdırıcılarla iş sahəsində yaxşı biliklər

Başlanğıc obrazlarının yığılması və idarə edilməsi

İşlər:

  • Obrazların dəyişdirilməsi iş axınının hazırlanması
  • Standartlara əsaslanan obrazların hazırlanması

  • Linux sisteminin idarə edilməsi
  • Avtomatlaşdırma ssenariləri
  • Tətbiq və middleware runtime komponentlərinin konfiqurasiyası
  • Konteyner arxitekturaları haqqında bilik
  • Tətbiq yığmanın çərçivələri
  • Obrazlar, imagestreams və şablonlar sahəsində yaxşı biliklər

Yeridilmə kanallarının layihələndirilməsi və idarə edilməsi

İşlər:

  • Kanalların standartlarının layihələndirilməsi və sənədləşdirilməsi
  • Qısa rəhbərliklərin və şablonların hazırlanması
  • İnkişaf etdiricilərə təlim

  • Mənbə kodunun idarə edilməsi
  • Tətbiq layihələndirilməsi və tətbiqi
  • Avtomatlaşdırma ssenariləri
  • Avtomatlaşdırılmış test
  • Kod keyfiyyəti testi
  • Konteyner arxitekturaları haqqında bilik
  • Immutable infrastruktur haqqında bilik
  • Təhlükəsizlik – kanalda mərhələlərə girişin rəhbərliyi, iş axınlarının təsdiqi və s.
  • OpenShift şablonlarının, buildconfigs, deploymentconfigs, xidmətlərin, yolların, configmaps komponentlərinin yaxşı bilikləri

Tətbiqlərin və testlərin inkişafı

İşlər:

  • Tətbiqlərin kodlaşdırılması
  • Avtomatlaşdırılmış testlərin inkişafı
  • Daşınma konveyerinin gedişində test uğursuzluqlarına reaksiya
  • Tətbiq uğursuzluqlarına reaksiya
  • İstifadəçi qəbul testləri

  • Tətbiq layihələndirilməsi və tətbiqi
  • Avtomatlaşdırılmış test
  • Mənbə kodunun idarə edilməsi
  • Tətbiqlərin monitorinqi
  • Bulud (cloud native) tətbiqlərin arxitekturası barədə bilik

Tətbiqlərin operativ monitorinqi və idarə olunması

İşlər:

  • Tətbiqləri performans kontekstində dizayn etmək
  • Tətbiqlərin icra mərhələsində monitorinqi
  • Tətbiqlərin miqyaslandırılması (və ya avtomatik miqyaslandırma)
  • Tətbiqlərin əlçatanlığını idarə etmək
  • Sorğular üçün kvotalar və resursların idarəedilməsinə limitlər
  • Performans testi və İT gücləri

  • Tətbiqlərin performansını dizayn etmək və həyata keçirmək
  • Tətbiqlərin performansını monitorinqi
  • Performans testi və yük testi

İstifadəçi qəbul testləri

İşlər:

  • UI testi (dizayn və istifadəçi ilə mülakişələr)
  • Avtomatlaşdırılmış testlərin inkişafı

  • İstifadəçi interfeyslərinin dizaynı və yoxlanılması
  • Avtomatlaşdırılmış test şablonları
  • Test çərçivələri
  • Tətbiq dizaynı şablonları

OpenShift-ə keçid zamanı İT təşkilatında meydana gələn yeni rollar

DevOps-a yönəlmiş təşkilati modelə keçdikcə rol ixtisaslarının sayı adətən azalır, amma kros-funksional komandaların və rolların sayı əməkdaşlığın effektivliyini maksimumlaşdırmaq üçün artır. Aşağıda OpenShift istifadə edən İT təşkilatının əsas vəzifələrinin siyahısı:

  • Tətbiq İdarəetmə Mühəndisi (Application Operations Engineer) VƏ YA Veb Güvənlik Mühəndisi (Site Reliability Engineer). Əvvəlcə bu vəzifə „Tətbiq Serverinin İdarəedicisi“ adlanırdı.
  • Tətbiq Developer/i və ya İT Mühəndisi.
  • Kücləndirici/platforma administratoru. Əvvəlcə bu rol „Sistem Administratoru“ və ya „Linux Platforması Administratoru“ adlanırdı.
  • Yayımlama Meneceri (Release Manager) / Yığma Mühəndisi (Build Engineer).

RACI rolu və vəzifələr matrisi

Nəticədə, yuxarıda müzakirə olunan vəzifələrin təsnifatına keçirik ki, DevOps-u OpenShift platformasında həyata keçirən təşkilatın strukturunun necə görünməsi barədə ümumi fikir verək. Aşağıda göstərilən rollar əvvəlcə köhnə, ənənəvi təşkilat strukturlarının müxtəlif sahələri tərəfindən icra oluna bilər. Lakin zamanla konsolidasiya baş verir və tətbiqlər ətrafında yaranan yeni komandalar meydana gəlir ki, bunlar aşağıda göstərilən vəzifələrin əksəriyyətini və ya hətta hamısını öz üzərinə götürür.

Vəzifələr
Rollar

Tətbiq İdarəetmə Mühəndisi / Veb Güvənlik Mühəndisi
Tətbiq Developer/tətbiq proqramçısı/ İT Mühəndisi
Kücləndirici/platforma administratoru
Proqram təminatı meneceri / Yığma mühəndisi

IT infrastrukturlarının avtomatlaşdırılması və hazırlaşması
I
I
R/A
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,

OpenShift platformasının quraşdırılması və idarə edilməsi
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,
I
R/A
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,

Yeridilmə kanallarının layihələndirilməsi və idarə edilməsi
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,
I
R/A

Müştəri mühitlərinin idarə edilməsi (tenant provisioning), izolyasiya və İT gücləri
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,
I
R/A
I

Başlanğıc obrazlarının yığılması və idarə edilməsi
R
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,
R/A
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,

Tətbiqlərin və testlərin inkişafı
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,
R/A
I
I

Tətbiqlərin operativ monitorinqi və idarə olunması
R/A
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,
I

İstifadəçi qəbul testləri
— TVM üçün ikili icra kodu istehsal edən Fift kitabxanası. Fift Yığmanın tərtibatçısı yoxdur. Bu,
R
I
I

RACI matrisindəki simvollar
Mənbə: Vikipediya

  • Məsul – İcraçı – lazım olan işlərin görülməsi üçün məsuliyyət daşıyan şəxs.
  • Məsuliyyətli – Məsuliyyətli – tapşırığın düzgün və diqqətlə yerinə yetirilməsində son hesab verən əməkdaş; həmçinin icraçılara iş verməyə yeganə səlahiyyətli olan şəxs.
  • Konsultasiya edilən – Konsultantlar – adətən, müvafiq sahədə ekspert olan şəxslərdir; onların məsləhəti soruşulur; onlarla iki tərəfli ünsiyyət saxlanılır.
  • Məlumatlandırılan – Məlumatlandırılanlar – olanlardan xəbardar olan insanlar (bəzən yalnız tapşırıq başa çatdıqda və ya nəticə əldə edildikdə); onlar bir tərəfdən məlumat alırlar.

DevOps təşkilatlarında komanda əməkdaşlığının qurulması

Ənənəvi resurs əldə etmə sxemi, adətən, resursların ayrılması üçün müraciət dövrü olur, daha sonra isə bunun yerinə yetirilməsi bir neçə komanda tərəfindən həyata keçirilir. Nəticədə, bütün zəruri resurslar ayrılaraq, tələb edən tərəf tərəfindən təsdiqlənir. Bu proseslər çox vaxt qismən, bəzən isə tamamilə əl ilə aparılır və hər bir müraciətin uğurla icrası üçün komandalar arasında tez-tez və çoxsaylı qarşılıqlı əlaqələr tələb olunur.

Şəkil 1. Ənənəvi İT təşkilatı

OpenShift-in İT təşkilatlarının strukturunu necə dəyişdirdiyi. PaaS-a keçid zamanı təşkilati modellərin evrilməsi

Yuxarıdakı diaqram ənənəvi İT təşkilatlarında komandalar arasında tipik əlaqələri göstərir. Bu sxem şəklində, bəzi komandalar lazım olan işlərin yerinə yetirilməsi üçün digər komandalarla müraciət edir, daha az və ya daha çox formalizə olunmuş ünsiyyət vasitələrindən istifadə edərək, məsələn, tiket sistemi və ya elektron poçt. Daha sonra bu müraciətlər növbəyə düşür və zaman gözləyir, uzun gözləmə müddəti çox vaxt komanda arasındakı münasibətlərin pisləşməsinə, hətta gərginləşməsinə səbəb olur. Müxtəlif komandaların üzvləri nadir hallarda bir-biri ilə şəxsən görüşür və adətən yalnız minimal zəruri məlumatı paylaşırlar.

Şəkil 2. DevOps İT təşkilatı

OpenShift-in İT təşkilatlarının strukturunu necə dəyişdirdiyi. PaaS-a keçid zamanı təşkilati modellərin evrilməsi

Bu diaqramda DevOps təşkilatında əməkdaşlığın necə qurulduğu göstərilir. Burada əvvəlki diaqramdakı eyni komandalar, ayrılığı artıran səmərəsiz kommunikasiya üsullarından imtina edərək, komandalara daimi qarşılıqlı əlaqə kanalları yaratmaq üçün şəxsi əlaqələrə keçdilər. Bu kanallar, işçilərin təmsil etdikləri komandaların ehtiyaclarını, problemlərini və imkanlarını daha yaxşı başa düşmələrinə kömək edən hibrid bacarıq toplusunun formalaşmasına imkan tanıyır. Komandalar, müvafiq tələbləri əllə işləmək yerinə, avtomatlaşdırılmış özünü xidmət portalları vasitəsilə lazım olan işləri yerinə yetirməyə imkan verirlər. Əlavə olaraq, qarşılıqlı əlaqə kanallarının mövcudluğu sayəsində, bu özünü xidmət sistemləri yaradıldığı komandaların ehtiyaclarına sürətlə uyğunlaşa bilir. Təşkilat daxilində daha çox qarşılıqlı anlayış və bilik mübadiləsi üçün komandaların üzvləri mütəmadi olaraq rolları dəyişir, müxtəlif komandalarla əməkdaşlıq təcrübəsi əldə edərək, xidmət etdikləri İT sistemlərinin ümumi mənzərəsini daha yaxşı başa düşür və buna görə də öz kros-funksionallığını və faydalılığını artırırlar.

Nəticə olaraq

Bu yazıda PaaS (Xidmət Kimi Platforma) həllərinin tətbiqinin bir təşkilatı DevOps metodologiyasını tətbiq etməyə necə təşviq edə biləcəyini izah etdik. Bu proses çərçivəsində ənənəvi rollar və vəzifələr dəyişikliklərə məruz qalır. Buna görə də, OpenShift-ə keçid zamanı təşkilatda yaranan əsas İT vəzifələrini sıraladıq və onların yerinə yetirilməsi üçün tələb olunan bacarıqları qeyd etdik. Həmçinin, kros-funksional DevOps komandalarının formalaşdırılması zamanı yaranan əsas təşkilati rolların dəstini və yeni rolları yeni vəzifələrlə əlaqələndirən RACI matrisasını təqdim etdik. Nəhayət, OpenShift platforması və ona bağlı DevOps metodologiyasının, ənənəvi iyerarxiyalardan və müraciət sistemlərindən kros-funksional komandalarla daha yüksək səviyyəli şəxsi kommunikasiya ilə bağlı təşkilatın strukturunu necə dəyişə biləcəyini izah etdik.

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster