PaaS (Platforma as a Service) yechimlarining o‘zi odamlar va jamoalarning o‘zaro munosabatini o‘zgartira olmasa-da, ular ko‘pincha IT chaqqonligini oshirishga javoban tashkiliy o‘zgarishlar uchun katalizator bo‘lib xizmat qiladi.

Aslida, PaaS investitsiyalarining maksimal rentabelligiga ko'pincha faqat tashkiliy rollar, mas'uliyat (vazifalar) va munosabatlarni o'zgartirish orqali erishish mumkin. Yaxshiyamki, OpenShift Konteyner Platformasi kabi PaaS yechimlari har bir IT tashkilotiga jalb qilingan odamlarga va sodir bo'ladigan jarayonlarga nisbatan o'zgarishlar tezligi va ko'lamini aniqlashga imkon beradigan darajada moslashuvchan.
Korxonani konteynerlashtirishning birinchi bosqichida konteyner platformasini yangi ilovalarni joylashtirish tizimi sifatida joriy etish asosiy ustuvorlik hisoblanadi. Shu nuqtada, tashkilotlar saqlash tizimlari, joylashtirish muhiti va boshqalar kabi masalalar bo'yicha ishlab chiqish guruhlarining standart so'rovlariga javob berish uchun tanish ishlarni tanish rollarga bog'laydi. Konteynerlashtirishning keyingi bosqichlarida biz tizim ma'murlariga yukni kamaytirish va ishlab chiquvchilarning avtonomligi va samaradorligini yuqori darajaga olib chiqish uchun avtomatlashtirish yoki ishlab chiquvchilarga o'z-o'ziga xizmat ko'rsatish imkoniyatlarini taqdim etish haqida gapiramiz. Shunday qilib, tashkilot DevOpsga o'tishni boshlaydi. Konteynerlashtirishning yakuniy bosqichida korxona yanada toza, kanonik DevOps modeliga keladi, uning doirasida oldingi vazifalar va ishlarning ko'pchiligi platformalar yoki texnologiyalar bo'yicha emas, balki o'zaro bog'liqlik nuqtai nazaridan guruhlangan o'zaro faoliyat guruhlarning nazorati ostida bo'ladi. ilovalar yoki dastur xizmatlarining ishlashini ta'minlash ko'rinishi.
Ushbu postda biz kerakli tashkiliy o'zgarishlarni qanday qilish va korxonada konteyner texnologiyalarining qabul qilinishi bilan an'anaviy IT rollari qanday o'zgarishi haqida ko'rsatmalar beramiz.
Yangi ishlarni eski rollar bilan bog'lash
PaaS tashkiliy modeli o'zining asosiy, dastlabki shaklida IT resurslarini ilovalarga ish vaqti muhiti sifatida yanada moslashuvchan va tezkor ravishda taqsimlash uchun mo'ljallangan. Bu tizim administratorlari uchun ma'lum afzalliklarni taqdim etsa-da, ishlab chiquvchilar odatda hech qanday sezilarli foyda yoki yangi imkoniyatlarga ega bo'lmaydilar, chunki bu bosqichda korxona avtomatlashtirish, o'z-o'ziga xizmat ko'rsatish yoki joylashtirish quvurini tubdan takomillashtirishsiz osongina ishlay oladi. Ushbu bosqichda ishlab chiqish jarayonlariga minimal ta'sir ko'rsatsa-da, PaaS shunga qaramay, IT tizimining moslashuvchanligini oshiradi va administratorlarga ishlab chiquvchilarning so'rovlarini yaxshiroq bajarishga imkon beradi. Masalan, ilgari bir nechta ishlab chiqish muhitini yaratgan bo'lsa-da, virtual mashinalar Saqlash hajmlarini yaratish va joylashtirish bir necha kun yoki hatto haftalar davom etishi mumkin bo'lsa-da, bu bir nechta turli administratorlarning ishtirokini talab qilsa-da, PaaSda hamma narsa ancha tezroq va faqat bitta administrator tomonidan amalga oshiriladi. Boshqacha qilib aytganda, ishlab chiqish guruhlari avvalgidek so'rovlarni yuboradilar, ammo ularni amalga oshirish ishlari endi yangi modelga muvofiq amalga oshiriladi.
DevOps tashkiloti tomon
PaaS-ni ishga tushirish va unga IT operatsiyalari bo'yicha mutaxassislarni va ilovalarni ishlab chiquvchilarni o'tkazish orqali tashkilot DevOps metodologiyasini joriy etishda davom etishi mumkin, jumladan, quyidagi asosiy tamoyillarni o'z ichiga oladi:
- Ishni kichik bosqichlarga bo'lingerta fikr-mulohazalarni olish, xavflarni kamaytirish va tahlil falajining oldini olish;
- Operatsiyalarni etarli darajada avtomatlashtirishilovalarni joylashtirish jarayonida to'siqlar yoki to'siqlar paydo bo'lishiga yo'l qo'ymaslik;
- Bilim almashinuvi - ishonchni mustahkamlash kaliti;
- Muntazam ravishda texnik qarzlarni to'lash, tizimli takomillashtirish uchun har bir ish tsiklida ma'lum vaqt ajratish.
Konteyner texnologiyasini joriy etishning ikkinchi bosqichida ishlab chiqish guruhlari tabiiy ravishda yaxshilash imkoniyatlarini ko'ra boshlaydilar va korxona yanada an'anaviy DevOps modeliga suyanadi. Xizmat so'rovlarini yuborish va bajarishning an'anaviy mexanizmi endi qiyinchilik sifatida qabul qilinadi, shuning uchun tashkilot takrorlanuvchi harakatlarni avtomatlashtirishga va ishlab chiquvchilarga o'z-o'ziga xizmat ko'rsatish imkoniyatlarini taqdim etishga intilmoqda. Bundan tashqari, ushbu dastur doirasida ishlab chiquvchilarning imkoniyatlari platformalarda ishlaydigan IT mutaxassislari va ilovalarni yetkazib berish uchun mas'ul shaxslarning birgalikdagi sa'y-harakatlari bilan belgilanadi. Boshqacha qilib aytadigan bo'lsak, ishlab chiquvchilarning iltimosiga binoan harakatlarni amalga oshiradigan tizim ma'murlari o'rnini yuqorida ko'rsatilgan ikkita toifadagi xodimlar egallaydi, ular ishlab chiquvchilarning o'zlari nima qilishiga ruxsat berilganligini tartibga soluvchi siyosatni tavsiflash va qo'llash uchun mas'uldirlar. Avtomatlashtirilgan protseduralar belgilangan talablarga muvofiqligini ta'minlashga yordam beradi va vaziyat mavjud siyosat doirasidan tashqariga chiqqanda harakatlarni muvofiqlashtiradi.
IT muhiti va operatsion modeli vaqt o'tishi bilan iterativ o'zgarishlarga duchor bo'ladigan iterativ jadvalga o'tish etuk DevOps korxonasiga erishishda muhim bosqichdir. DevOps metodologiyasini qo'llash darajasi har bir tashkilotning o'zgarishlarga tolerantligiga va qaysi o'zgarishlar eng ko'p foyda keltirishiga bog'liq. Misol uchun, agar yangi muhitlar yoki ilovalar yaratish zarurati kamdan-kam hollarda yuzaga kelsa, unda tegishli faoliyatni optimallashtirish dasturning hayot aylanishi ustidan ishlab chiquvchi nazoratini oshirishdan kamroq ahamiyatga ega bo'ladi.
OpenShift-ga o'tishda IT tashkilotlarida paydo bo'ladigan yangi muammolar
Ushbu bo'limda biz OpenShift-ni qabul qilgan tashkilotlar odatda texnologiya va PaaS yordamida avtomatlashtirish va o'ziga xizmat ko'rsatishni tezlashtirish uchun foydalanadigan rol va vazifalarni ko'rib chiqamiz.
Quyidagi jadvalda OpenShift-ni qo'llagan har qanday tashkilotda mavjud bo'lgan yuqori darajadagi asosiy vazifalar ro'yxati, tegishli ish va ko'nikmalar misollari keltirilgan. Vazifalarning ushbu ro'yxati ishlarni taqsimlash tuzilmasi yoki jamoa tuzilmasi bilan chalkashtirmaslik kerak, balki konteyner platformasini muvaffaqiyatli amalga oshirish uchun AT muhitini (lar)ini qo'llab-quvvatlash uchun mas'ul shaxslar tomonidan bajarilishi kerak bo'lgan vazifalar to'plami. Darhaqiqat, biz konteyner texnologiyalarini joriy etish korxonada yanada etuk DevOps strategiyasini shakllantirish uchun zarur shart-sharoitlarni yaratishini, bu esa o'z navbatida jamoalarning o'zaro faoliyat qobiliyatini oshirishini va tor ixtisoslashuv xavfini kamaytirishini ko'rsatamiz. ham shaxslar, ham jamoalar darajasi.
Jadval 1. OpenShift topshiriq ta'riflari
vazifalar
Kerakli ko'nikmalar
AT infratuzilmalarini avtomatlashtirish va ta'minlash
Ishlari:
- Uskuna yechimlarini loyihalash va qurish
- Dastlabki sozlashni avtomatlashtirishni tashkil etish va qo'llab-quvvatlash
- VM va xostni tayyorlashni loyihalash va avtomatlashtirish
- Ma'lumotlar markazlarini loyihalash va joriy etish
- Linux tizimi boshqaruvi
- Avtomatlashtirish stsenariylari
- Saqlash tizimlarini bilish
- Tarmoqni loyihalash va amalga oshirishni bilish
- Xavfsizlik
OpenShift platformasini o'rnatish va boshqarish
Ishlari:
- Klaster o'rnatishni amalga oshirish
- Infratuzilma xizmatlarini boshqarish
- Platforma masshtabini boshqarish
- Platforma darajasidagi autentifikatsiya va avtorizatsiya
- Linux tizimi boshqaruvi
- Tarmoq texnologiyalarini bilish
- Avtomatlashtirish skriptlari (Ansible)
- Saqlash tizimlarini bilish
- Konteyner texnologiyalari va arxitekturasini bilish
- Kubernetes va OpenShift arxitekturalarini bilish
- Platforma xavfsizligi
- Integratsiya monitoringi
Mijoz muhitini tayyorlashni boshqarish (ijarachilarni ta'minlash), AT imkoniyatlarini izolyatsiya qilish
Ishlari:
- Platformada foydalanuvchilar va jamoalarni yaratish
- Kvotani loyihalash va boshqarish
- RBAC dizayni va amalga oshirilishi
- Kubernetes va OpenShift arxitekturalarini bilish
- Konteyner texnologiyalari va arxitekturasini bilish
- Avtomatlashtirish stsenariylari
- Loyihalar, kvotalar, rollarni belgilash va rejalashtiruvchilar bilan ishlashni yaxshi bilish
Asosiy tasvirlarni yaratish va boshqarish
Ishlari:
- Tasvirni o'zgartirish ish jarayonini ishlab chiqish
- Standartlarga asoslangan tasvirni ishlab chiqish
- Linux tizimi boshqaruvi
- Avtomatlashtirish stsenariylari
- Ish vaqti dastur komponentlarini va o'rta dasturni sozlash
- Konteyner arxitekturasini bilish
- Ilovalarni qurish ramkalari
- Tasvirlar, tasvirlar oqimi va shablonlarni yaxshi bilish
Joylashtirish quvurlarini loyihalash va boshqarish
Ishlari:
- Konveyer standartlarini loyihalash va hujjatlashtirish
- Tez qo'llanmalar va shablonlarni ishlab chiqish
- Dasturchilarni tayyorlash
- Manba kodini boshqarish
- Ilovani loyihalash va amalga oshirish
- Avtomatlashtirish stsenariylari
- Avtomatlashtirilgan sinov
- Kod sifatini tekshirish
- Konteyner arxitekturasini bilish
- O'zgarmas infratuzilmalarni bilish
- Xavfsizlik - quvur bosqichlariga kirishni boshqarish, ish oqimlarini tasdiqlash va h.k.
- OpenShift shablonlari, konfiguratsiya komponentlari, deploymentconfigs, xizmatlar, marshrutlar, konfiguratsiya xaritalarini yaxshi bilish
Ilova va test ishlab chiqish
Ishlari:
- Ilova kodlash
- Avtomatlashtirilgan testlarni ishlab chiqish
- Joylashtirish quvuri paytida sinov xatolariga javob berish
- Ilovadagi xatolarga javob berish
- Foydalanuvchini qabul qilish testi
- Ilovani loyihalash va amalga oshirish
- Avtomatlashtirilgan sinov
- Manba kodini boshqarish
- Ilova monitoringi
- Bulutli mahalliy ilovalar arxitekturasini bilish
Operatsion monitoring va ilovalarni boshqarish
Ishlari:
- Ishlash kontekstida ilovalarni loyihalash
- Ishlash vaqtida ilovalarni kuzatish
- Ilovani masshtablash (yoki avtomatik masshtablash)
- Ilova mavjudligini boshqarish
- Kvotalarni va resurslarni boshqarish cheklovlarini so'rang
- Ishlash va IT imkoniyatlarini sinovdan o'tkazish
- Ilova ishlashini loyihalash va amalga oshirish
- Ilova ishlashi monitoringi
- Ishlash va yukni tekshirish
Foydalanuvchini qabul qilish testi
Ishlari:
- UI testi (dizayn va foydalanuvchi tajribasi)
- Avtomatlashtirilgan testlarni ishlab chiqish
- Foydalanuvchi interfeyslarini loyihalash va sinab ko'rish
- Avtomatlashtirilgan sinov namunalari
- Sinov ramkalari
- Ilova dizayn naqshlari
OpenShift-ga o'tishda IT tashkilotida paydo bo'ladigan yangi rollar
DevOps-markazli tashkiliy modelga o'tsangiz, rol ixtisoslashuvi miqdori kamayadi va o'z navbatida o'zaro faoliyat guruhlari va rollar soni hamkorlik samaradorligini oshirish uchun ortadi. Bizning fikrimizcha, OpenShift-dan foydalanadigan IT-tashkilotidagi asosiy lavozimlar ro'yxati quyidagicha ko'rinadi:
- Ilova operatsiyalari muhandisi YOKI sayt ishonchliligi muhandisi. Ilgari bu lavozim "Ilova serveri ma'muri" deb nomlangan bo'lishi mumkin.
- Ilovalarni ishlab chiquvchi/Dasturiy ta'minotni ishlab chiquvchi/Dasturiy ta'minot muhandisi.
- Klaster/ilova platformasi administratori. Ilgari bu rolni "Tizim administratori" yoki "Linux platformasi ma'muri" deb atash mumkin edi.
- Reliz menejeri/qurilish muhandisi.
RACI rollari va vazifalari matritsasi
Va nihoyat, biz OpenShift platformasida DevOps-ni amalga oshiruvchi tashkilotning tuzilishi qanday bo'lishi kerakligi haqida umumiy fikr berish uchun yuqorida muhokama qilingan pozitsiyalar va vazifalarni solishtirishga o'tamiz. Dastlab, quyidagi rollar eski, an'anaviy tashkiliy tuzilmaning turli tarmoqlari tomonidan to'ldirilishi mumkin. Ammo vaqt o'tishi bilan konsolidatsiya sodir bo'ladi va quyida sanab o'tilgan vazifalarning ko'pini yoki hatto barchasini o'z zimmasiga oladigan ilovalar atrofida yangi jamoalar quriladi.
vazifalar
Rollar
Ilova operatsiyalari muhandisi / Sayt ishonchliligi muhandisi
Ilovalarni ishlab chiquvchi / dasturiy ta'minotni ishlab chiquvchi / dasturiy ta'minot muhandisi
Klaster/ilova platformasi ma'muri
Dasturiy ta'minotni chiqarish menejeri/yig'ish muhandisi
AT infratuzilmalarini avtomatlashtirish va ta'minlash
I
I
R / A
C
OpenShift platformasini o'rnatish va boshqarish
C
I
R / A
C
Joylashtirish quvurlarini loyihalash va boshqarish
C
C
I
R / A
Ijarachilarni ta'minlash, izolyatsiyalash va IT imkoniyatlarini boshqaring
C
I
R / A
I
Asosiy tasvirlarni yaratish va boshqarish
R
C
R / A
C
Ilova va test ishlab chiqish
C
R / A
I
I
Operatsion monitoring va ilovalarni boshqarish
R / A
C
C
I
Foydalanuvchini qabul qilish testi
C
R
I
I
RACI matritsasidagi konventsiyalar
Manba:
- mas'ul - Ijrochi - bu vazifani bajarish uchun zarur bo'lgan narsani qiladigan kishi.
- Hisobga olinishi mumkin - mas'uliyatli - topshiriqning to'g'ri va puxta bajarilishi yoki natijaga erishish uchun pirovardida javobgar bo'lgan xodim; shuningdek, ishni ijrochilarga topshirishi mumkin bo'lgan yagona kishi.
- Maslahatlangan – Maslahatchilar – odatda bular maslahat so‘raladigan mavzu bo‘yicha ekspertlardir; Ular bilan ikki tomonlama aloqa saqlanadi.
- Bilgilendirildi – Axborotli – voqealardan xabardor bo‘lib turuvchi odamlar (ba’zan faqat topshiriq bajarilganda yoki natijaga erishilganda); ular axborotni bir tomonlama qabul qiladilar.
DevOps tashkilotida jamoalar qanday ishlaydi
An'anaviy resurslarni sotib olish, odatda, bir nechta jamoalar tomonidan bajariladigan resurs so'rovlarining tsiklini o'z ichiga oladi. Oxir-oqibat, barcha zarur resurslar so'ragan tomon tomonidan ajratiladi va tasdiqlanadi. Ko'pincha, bu jarayonlar qisman yoki to'liq qo'lda amalga oshiriladi va har bir so'rovni muvaffaqiyatli qayta ishlash uchun jamoalar o'rtasida tez-tez va bir nechta shovqinlarni talab qiladi.
Shakl 1. An'anaviy IT tashkiloti

Yuqoridagi diagrammada an'anaviy IT tashkilotidagi jamoalar o'rtasidagi odatiy munosabatlar tasvirlangan. Ushbu sxemada ba'zi jamoalar chipta tizimi yoki elektron pochta kabi ko'proq yoki kamroq rasmiy aloqa vositalaridan foydalangan holda kerakli ishni bajarish so'rovi bilan boshqa jamoalarga murojaat qilishadi. Keyinchalik bu so'rovlar navbatda turadi va qanotlarda kutishadi, uzoq kutishlar ko'pincha jamoalar o'rtasidagi munosabatlarning yomonlashishiga yoki hatto keskinlashishiga olib keladi. Turli jamoalarning a'zolari bir-birlari bilan kamdan-kam uchrashib, faqat minimal zarur ma'lumotlarni baham ko'rishlari keskinlikni oshiradi.
2-rasm: DevOps IT tashkiloti

Ushbu diagrammada DevOps tashkilotida hamkorlik qanday ishlashi ko'rsatilgan. Bu erda oldingi diagrammadagi o'sha jamoalar siloslarni mustahkamlaydigan samarasiz aloqalardan voz kechib, ularni shaxsiy aloqalar bilan almashtirdilar va shu bilan jamoalar o'rtasida doimiy aloqa kanallarini yaratdilar. Ushbu kanallar xodimlarga o'zlari vakili bo'lgan jamoalarning ehtiyojlari, qiyinchiliklari va imkoniyatlarini yaxshiroq tushunishga va tasavvur qilishga yordam beradigan gibrid mahorat to'plamini rivojlantiradi. Jamoalar bir-birlariga o‘tmishdagi kabi boshqa odamlarning o‘zgartirish so‘rovlarini qo‘lda ko‘rib chiqish o‘rniga, avtomatlashtirilgan o‘z-o‘ziga xizmat ko‘rsatish portallari orqali ishni yakunlash imkonini beradi. Va o'zaro ta'sir kanallari mavjudligi tufayli, ushbu o'z-o'ziga xizmat ko'rsatish tizimlari ular uchun mo'ljallangan jamoalarning ehtiyojlariga tezda moslasha oladi. Tashkilot ichida yanada ko'proq tushunish va bilim almashishga erishish uchun jamoa a'zolari turli jamoalar bilan o'zaro aloqada bo'lish tajribasiga ega bo'lish va ular qo'llab-quvvatlaydigan IT tizimlarining katta rasmini yaxshiroq tushunish uchun rollarni vaqti-vaqti bilan almashtiradilar va shu bilan ularning o'zaro funktsionallik va foydalilik darajasini oshiradilar.
sarhisob qilar ekanmiz
Ushbu postda biz PaaS yechimlarining qabul qilinishi tashkilotni DevOpsga qanday o'tkazishi, jarayonning bir qismi sifatida an'anaviy rol va vazifalarni o'zgartirishi mumkinligini muhokama qildik. Shuning uchun biz tashkilot OpenShift-ga o'tishda duch keladigan asosiy IT muammolarini va ularni bajarish uchun zarur bo'lgan ko'nikmalarni sanab o'tdik. Shuningdek, biz o'zaro funktsional DevOps guruhlarini yaratishda yuzaga keladigan asosiy tashkiliy rollar to'plamini va yangi rollarni yangi vazifalar bilan bog'laydigan RACI matritsasini taqdim etdik. Va nihoyat, biz OpenShift platformasi va u bilan bog'liq DevOps metodologiyasi tashkilotlarning tashkiliy tuzilmasini qanday o'zgartirishi mumkinligini muhokama qildik, chunki ular an'anaviy ierarxiya va chipta tizimlaridan yuqori darajadagi shaxsiy muloqotga ega bo'lgan o'zaro faoliyat guruhlarga o'tishadi.
Manba: www.habr.com
