Dasturiy ta'minotni ishlab chiqish va joylashtirish uchun zamonaviy platforma

Bu yangi versiyaga o‘tishga tayyorgarlik ko‘rishga yordam beradigan Red Hat OpenShift platformasining 4.0 yangilanishidagi o‘zgartirishlar, yaxshilanishlar va qo‘shimchalar haqidagi xabarlar seriyasining birinchisidir.

Dasturiy ta'minotni ishlab chiqish va joylashtirish uchun zamonaviy platforma

Yangi tashkil etilgan Kubernetes hamjamiyati 2014 yilning kuzida Googlening Sietldagi ofisida birinchi marta yig'ilgan paytdan boshlab, Kubernetes loyihasi bugungi kunda dasturiy ta'minotni ishlab chiqish va joylashtirish usulini inqilob qilishga mo'ljallanganligi aniq edi. Shu bilan birga, ommaviy bulut xizmatlarini provayderlari infratuzilma va xizmatlarni rivojlantirishga faol sarmoya kiritishda davom etdilar, bu esa IT bilan ishlashni va dasturiy ta'minotni yaratishni ancha oson va qulayroq qildi va ularni aql bovar qilmaydigan darajada foydalanishga imkon berdi. o'n yil.

Albatta, har bir yangi bulut xizmatining e’lon qilinishi Twitter’dagi ekspertlar o‘rtasida ko‘plab muhokamalar bilan birga bo‘ldi va munozaralar turli mavzularda o‘tkazildi, jumladan, ochiq manbalar davrining tugashi, mahalliy IT-ning pasayishi va muqarrarligi. bulutdagi yangi dasturiy ta'minot monopoliyasi va yangi X paradigmasi boshqa barcha paradigmalarni qanday almashtirishi.

Aytishga hojat yo'q, bu bahslarning barchasi juda ahmoqona edi

Haqiqat shundaki, hech narsa yo'qolmaydi va bugungi kunda biz hayotimizda doimiy ravishda yangi dasturiy ta'minotning paydo bo'lishi tufayli yakuniy mahsulotlar va ularni ishlab chiqishda eksponensial o'sishni ko'rishimiz mumkin. Va atrofdagi hamma narsa o'zgarishiga qaramay, ayni paytda, mohiyatiga ko'ra, hamma narsa o'zgarishsiz qoladi. Dasturiy ta'minot ishlab chiquvchilari xatolar bilan kod yozishda davom etadilar, operatsion muhandislar va ishonchlilik bo'yicha mutaxassislar hali ham peyjerlar bilan yurishadi va Slack'da avtomatik ogohlantirishlarni olishadi, menejerlar OpEx va CapEx nuqtai nazaridan ishlaydilar va har safar nosozlik yuz berganda, ishlab chiquvchining kattasi "Men aytdim" degan so'zlar bilan qayg'u bilan xo'rsin.

Rostdanmi muhokama qilinishi kerak, yaxshiroq dasturiy mahsulotlar yaratish uchun qanday vositalarga ega bo'lishimiz va ular xavfsizlikni qanday yaxshilashi va ishlab chiqishni oson va ishonchli qilishi mumkin. Loyihaning murakkabligi oshgani sayin, yangi xavflar ham ortadi va bugungi kunda odamlarning hayoti dasturiy ta'minotga shunchalik bog'liqki, ishlab chiquvchilar shunchaki yaxshiroq ishni bajarishga harakat qilishlari kerak.

Kubernetes ana shunday vositalardan biridir. Red Hat OpenShift’ni boshqa vositalar va xizmatlar bilan yagona platformaga birlashtirish bo‘yicha ishlar olib borilmoqda, bu esa dasturiy ta’minotni yanada ishonchli, boshqarishni osonlashtiradigan va foydalanuvchilar uchun xavfsizroq bo‘ladi.

Shu bilan birga, OpenShift jamoasi bitta oddiy savol beradi:

Qanday qilib Kubernetes bilan ishlashni oson va qulayroq qilish mumkin?

Javob hayratlanarli darajada aniq:

  • bulutda yoki bulutdan tashqarida joylashtirishning murakkab jihatlarini avtomatlashtirish;
  • murakkablikni yashirishda ishonchlilikka e'tibor berish;
  • oddiy va xavfsiz yangilanishlarni chiqarish uchun doimiy ishlashda davom eting;
  • nazorat qilinishi va tekshirilishiga erishish;
  • dastlab yuqori xavfsizlikni ta'minlashga intiling, lekin foydalanish qulayligi hisobiga emas.

OpenShift-ning navbatdagi chiqarilishi ham yaratuvchilarning tajribasini, ham dunyodagi eng yirik kompaniyalarda dasturiy ta'minotni keng miqyosda joriy etayotgan boshqa ishlab chiquvchilarning tajribasini hisobga olishi kerak. Bundan tashqari, bugungi kunda zamonaviy dunyoning asosini tashkil etuvchi ochiq ekotizimlarning barcha to'plangan tajribasini hisobga olish kerak. Shu bilan birga, havaskor ishlab chiquvchining eski mentalitetidan voz kechish va avtomatlashtirilgan kelajakning yangi falsafasiga o'tish kerak. U dasturiy ta'minotni joylashtirishning eski va yangi usullari o'rtasidagi tafovutni bartaraf etishi va barcha mavjud infratuzilmalardan to'liq foydalanishi kerak - u eng yirik bulut provayderi tomonidan joylashtirilganmi yoki chekkadagi mayda tizimlarda ishlaydi.

Bu natijaga qanday erishish mumkin?

Red Hat-da o'rnatilgan jamiyatni saqlab qolish va kompaniya ishtirok etadigan loyihalar yopilishiga yo'l qo'ymaslik uchun uzoq vaqt davomida zerikarli va minnatdorchiliksiz ishlarni qilish odatiy holdir. Ochiq manbalar hamjamiyatida eng g'ayrioddiy narsalarni - ko'ngilochar, ta'lim beruvchi, yangi imkoniyatlar ochadigan va shunchaki go'zal narsalarni yaratadigan juda ko'p iste'dodli ishlab chiquvchilar mavjud, ammo, albatta, hech kim hamma bir yo'nalishda harakat qilishini yoki umumiy maqsadlarga intilishini kutmaydi. . Ushbu energiyadan foydalanish va uni to'g'ri yo'nalishga yo'naltirish ba'zan foydalanuvchilarimiz uchun foydali bo'lgan sohalarni rivojlantirish uchun zarur bo'ladi, lekin shu bilan birga biz hamjamiyatimizning rivojlanishini kuzatishimiz va ulardan saboq olishimiz kerak.

2018-yil boshida Red Hat kelajakka o‘xshash qarashlarga ega bo‘lgan – xavfsizroq va ishonchli, ochiq manba tamoyillari asosida yaratilgan CoreOS loyihasini sotib oldi. Kompaniya ushbu g'oyalarni yanada rivojlantirish va ularni amalga oshirish ustida ishladi, falsafamizni amalda qo'lladi - barcha dasturiy ta'minot xavfsiz ishlashini ta'minlashga harakat qildi. Bu ishlarning barchasi Kubernetes, Linux, umumiy bulutlar, shaxsiy bulutlar va zamonaviy raqamli ekotizimimizni asoslaydigan minglab boshqa loyihalarga asoslangan.

OpenShift 4-ning yangi versiyasi aniq, avtomatlashtirilgan va tabiiyroq bo'ladi

OpenShift platformasi eng yaxshi va ishonchli Linux operatsion tizimlari bilan ishlaydi, yalang'och metall qo'llab-quvvatlash, qulay virtualizatsiya, avtomatik infratuzilma dasturlash va, albatta, konteynerlar (ular asosan Linux tasvirlari).

Platforma boshidan xavfsiz bo'lishi kerak, lekin baribir ishlab chiquvchilarga osonlik bilan takrorlash imkonini beradi, ya'ni ma'murlarga uni osongina tekshirish va boshqarish imkonini beradigan darajada moslashuvchan va xavfsiz bo'lishi kerak.

Bu dasturiy ta'minotni "xizmat sifatida" ishga tushirishga imkon berishi va operatorlar uchun boshqarib bo'lmaydigan infratuzilma o'sishiga olib kelmasligi kerak.

Bu ishlab chiquvchilarga foydalanuvchilar va mijozlar uchun haqiqiy mahsulotlar yaratishga e'tibor qaratish imkonini beradi. Uskuna va dasturiy ta'minot sozlamalari o'rmonidan o'tishingiz shart emas va barcha tasodifiy asoratlar o'tmishda qoladi.

OpenShift 4: Xizmatni talab qilmaydigan NoOps platformasi

В Ushbu nashr kompaniyaning OpenShift 4 boʻyicha qarashlarini shakllantirishga yordam bergan oʻsha vazifalarni tasvirlab berdi. Jamoaning maqsadi dasturiy taʼminotni ishlatish va unga xizmat koʻrsatish boʻyicha kundalik vazifalarni iloji boricha soddalashtirish, bu jarayonlarni amalga oshirish bilan shugʻullanuvchi mutaxassislar uchun ham, ishlab chiquvchilar uchun ham qulay va qulay qilishdir. Ammo bu maqsadga qanday yaqinlashish mumkin? Minimal aralashuvni talab qiladigan dasturiy ta'minotni ishga tushirish uchun platformani qanday yaratish mumkin? Bu kontekstda NoOps nimani anglatadi?

Agar siz mavhumlashtirishga harakat qilsangiz, ishlab chiquvchilar uchun "serversiz" yoki "NoOps" tushunchalari "operativ" komponentni yashirish yoki ishlab chiquvchi uchun ushbu yukni kamaytirish imkonini beruvchi vositalar va xizmatlarni anglatadi.

  • Tizimlar bilan emas, balki amaliy interfeyslar (API) bilan ishlash.
  • Dasturiy ta'minotni amalga oshirish bilan ovora bo'lmang - provayder buni siz uchun qilsin.
  • Darhol katta ramka yaratishga shoshilmang - "qurilish bloklari" vazifasini bajaradigan kichik qismlarni yozishdan boshlang, ushbu kodni disklar va ma'lumotlar bazalari bilan emas, balki ma'lumotlar va hodisalar bilan ishlashga harakat qiling.

Maqsad, avvalgidek, dasturiy ta'minotni ishlab chiqishda iteratsiyalarni tezlashtirish, yaxshiroq mahsulotlarni yaratish imkoniyatini ta'minlash va ishlab chiquvchi o'z dasturiy ta'minoti ishlaydigan tizimlar haqida tashvishlanmasligi uchun. Tajribali ishlab chiquvchi foydalanuvchilarga e'tibor qaratish rasmni tezda o'zgartirishi mumkinligini yaxshi biladi, shuning uchun dasturiy ta'minotni yozishga juda ko'p kuch sarflamaslik kerak, agar kerakligiga amin bo'lmasangiz.

Texnik xizmat ko'rsatish va operatsion mutaxassislar uchun "NoOps" so'zi biroz qo'rqinchli bo'lishi mumkin. Ammo dala muhandislari bilan muloqot qilganda, ular ishonchlilik va ishonchlilikni ta'minlashga qaratilgan (Site Reliability Engineering, SRE) foydalanadigan naqsh va usullar yuqorida tavsiflangan naqshlar bilan juda ko'p o'xshashliklarga ega ekanligi ayon bo'ladi:

  • Tizimlarni boshqarmang - ularni boshqarish jarayonlarini avtomatlashtiring.
  • Dasturiy ta'minotni qo'llamang - uni joylashtirish uchun quvur liniyasi yarating.
  • Barcha xizmatlaringizni bir joyga jamlashdan saqlaning va birining ishlamay qolishi butun tizimning ishdan chiqishiga yo'l qo'ymang - avtomatlashtirish vositalaridan foydalangan holda ularni butun infratuzilmangiz bo'ylab tarqating va ularni kuzatish va nazorat qilish mumkin bo'lgan usullar bilan ulang.

SRElar nimadir noto‘g‘ri ketishi mumkinligini bilishadi va ular muammoni kuzatib borishlari va tuzatishlari kerak bo‘ladi, shuning uchun ular muntazam ishlarni avtomatlashtiradilar va xatoliklar byudjetini oldindan belgilashadi, shunda ular muammo yuzaga kelganda ustuvorliklarni belgilash va qaror qabul qilishga tayyor.

OpenShift'dagi Kubernetes - bu ikkita asosiy muammoni hal qilish uchun mo'ljallangan platforma: virtual mashinalar yoki yuk balansi API'larini tushunishga majburlash o'rniga, u yuqori darajadagi abstraktsiyalar - joylashtirish jarayonlari va xizmatlari bilan ishlaydi. Dasturiy ta'minot agentlarini o'rnatish o'rniga siz konteynerlarni ishga tushirishingiz mumkin va o'zingizning monitoring stekingizni yozish o'rniga platformada mavjud vositalardan foydalaning. Shunday qilib, OpenShift 4 ning maxfiy sousi haqiqatan ham sir emas - bu shunchaki SRE tamoyillari va serversiz tushunchalarni qabul qilish va ishlab chiquvchilar va operatsion muhandislarga yordam berish uchun ularni mantiqiy xulosaga olib borish masalasidir:

  • Ilovalar foydalanadigan infratuzilmani avtomatlashtirish va standartlashtirish
  • Dasturchilarning o'zlarini cheklamasdan, joylashtirish va ishlab chiqish jarayonlarini bir-biriga bog'lang
  • XNUMX-xizmatni, xususiyatni, ilovani yoki butun stekni ishga tushirish, tekshirish va ta'minlash birinchisidan qiyinroq emasligini ta'minlash.

Ammo OpenShift 4 platformasi va uning oldingi versiyalari va bunday muammolarni hal qilishda "standart" yondashuvdan qanday farq bor? Amalga oshirish va operatsion guruhlar uchun miqyosni nima boshqaradi? Bu vaziyatda shoh klaster ekanligi tufayli. Shunday qilib,

  • Biz klasterlarning maqsadi aniq ekanligiga ishonch hosil qilamiz (Aziz bulut, men bu klasterni oldim, chunki imkonim bor)
  • Klasterga xizmat qilish uchun mashinalar va operatsion tizimlar mavjud (Janob hazratlari)
  • Klasterdan xostlar holatini boshqaring, ularni qayta qurishni (drift) minimallashtiring.
  • Tizimning har bir muhim elementi uchun muammolarni kuzatadigan va bartaraf etadigan enaga (mexanizm) kerak
  • Tizimning har bir jihati yoki elementi va u bilan bog'liq tiklanish mexanizmlarining ishlamay qolishi hayotning odatiy qismidir
  • Butun infratuzilma API orqali sozlanishi kerak.
  • Kubernetes-ni ishga tushirish uchun Kubernetes-dan foydalaning. (Ha, ha, bu xato emas)
  • Yangilanishlarni o'rnatish oson va muammosiz bo'lishi kerak. Agar yangilanishni o'rnatish uchun bir necha marta bosish kerak bo'lsa, biz noto'g'ri ish qilyapmiz.
  • Har qanday komponentni kuzatish va disk raskadrovka qilish muammo tug'dirmasligi kerak, shuning uchun butun infratuzilma bo'ylab kuzatish va hisobot berish ham oson va qulay bo'lishi kerak.

Platformaning imkoniyatlarini amalda ko'rishni xohlaysizmi?

OpenShift 4 ning oldindan ko'rish versiyasi ishlab chiquvchilar uchun mavjud bo'ldi. Foydalanish uchun qulay oʻrnatuvchi bilan Red Had CoreOS tepasida AWS da klasterni ishga tushirishingiz mumkin. Oldindan ko'rishdan foydalanish uchun sizga faqat infratuzilmani ta'minlash uchun AWS hisobi va oldindan ko'rish rasmlariga kirish uchun hisoblar to'plami kerak bo'ladi.

  1. Boshlash uchun quyidagi manzilga o'ting try.openshift.com va "Ishga tushirish" tugmasini bosing.
  2. Red Hat hisobingizga kiring (yoki yangisini yarating) va birinchi klasteringizni sozlash uchun ko'rsatmalarga amal qiling.

Muvaffaqiyatli o'rnatishdan so'ng, bizning darsliklarimizni ko'rib chiqing OpenShift treningiOpenShift 4 platformasini Kubernetes-ni ishga tushirishning oson va qulay usuliga aylantiradigan tizimlar va tushunchalarni chuqurroq tushunish uchun.

Yangi OpenShift versiyasini sinab ko'ring va fikringizni o'rtoqlashing. Biz Kumbernetes bilan ishlashni iloji boricha qulay va oson qilishga intilamiz — NoOps kelajagi bugundan boshlanadi.

Endi diqqat!
Anjumanda DevOpsForum 2019 20 aprel kuni OpenShift dasturchilaridan biri Vadim Rutkovskiy master-klass o'tkazadi - u o'nta klasterni buzadi va ularni tuzatishga majbur qiladi. Konferentsiya pullik, lekin #RedHat promo-kodi bilan siz 37% chegirmaga ega bo'lasiz

17:15 - 18:15 da master-klass, stend esa kun bo'yi ochiq. Futbolkalar, shlyapalar, stikerlar - odatiy!

Zal №2
"Bu erda butun tizimni o'zgartirish kerak: biz buzilgan k8s klasterlarini sertifikatlangan mexaniklar bilan birga ta'mirlaymiz."


Manba: www.habr.com

a Izoh qo'shish