Zamonaviy infratuzilma: muammolar va istiqbollar

Zamonaviy infratuzilma: muammolar va istiqbollar

May oyining oxirida bizmiz mavzusida onlayn uchrashuv o‘tkazdi “Zamonaviy infratuzilma va konteynerlar: muammolar va istiqbollar”. Biz konteynerlar, Kubernetes va printsipial ravishda orkestratsiya, infratuzilmani tanlash mezonlari va boshqalar haqida gaplashdik. Ishtirokchilar o'z amaliyotlaridan misollar bilan o'rtoqlashdilar.

Ishtirokchilar:

  • Evgeniy Potapov, ITSumma bosh direktori. Mijozlarining yarmidan ko'pi yo allaqachon ko'chib o'tmoqda yoki Kubernetesga o'tishni xohlaydi.
  • Dmitriy Stolyarov, "Flant" texnik direktori. Konteyner tizimlari bilan ishlashda 10+ yillik tajribaga ega.
  • Denis Remchukov (aka Erik Oldmann), COO argotech.io, sobiq RAO UES. U "qonli" korxonadagi ishlar haqida gapirishga va'da berdi.
  • Andrey Fedorovskiy, “News360.com” texnik direktoriKompaniyani boshqa o'yinchi sotib olgandan so'ng, u bir qator ML va AI loyihalari va infratuzilmasi uchun javobgardir.
  • Ivan Kruglov, tizim muhandisi, sobiq Booking.com.O'z qo'llari bilan Kubernetes bilan juda ko'p ish qilgan odam.

Mavzular:

  • Ishtirokchilarning konteynerlar va orkestratsiya haqidagi tushunchalari (Docker, Kubernetes va boshqalar); amalda sinab ko'rilgan yoki tahlil qilingan narsa.
  • Vaziyat: Kompaniya yillar davomida infratuzilmani rivojlantirish rejasini qurmoqda. Infratuzilmani konteynerlarga va Kuberga qurish (yoki joriy ko'chirish) to'g'risida qaror qanday qabul qilinadi?
  • Bulutli dunyoda muammolar, nima etishmayapti, ertaga nima bo'lishini tasavvur qilaylik.

Qiziqarli bahs-munozara bo'lib o'tdi, ishtirokchilarning fikrlari juda xilma-xil edi va shu qadar ko'p sharhlarga sabab bo'ldiki, men ularni siz bilan baham ko'rmoqchiman. Yemoq uch soatlik video, va quyida muhokamaning qisqacha mazmuni.

Kubernetes allaqachon standart yoki ajoyib marketingmi?

“Biz bunga (Kubernetes. - Tahr.) hali hech kim bilmaganida keldik. U yo'q bo'lganda ham uning oldiga keldik. Biz buni ilgari xohlagan edik" - Dmitriy Stolyarov

Zamonaviy infratuzilma: muammolar va istiqbollar
Reddit.com saytidan olingan surat

5-10 yil oldin juda ko'p asboblar bor edi va yagona standart yo'q edi. Har olti oyda yangi mahsulot paydo bo'ldi, hatto bir nechta. Avval Vagrant, keyin Tuz, oshpaz, qo'g'irchoq,... “va siz har olti oyda infratuzilmangizni qayta qurasiz. Sizda doimiy ravishda konfiguratsiyalarni qayta yozish bilan band bo'lgan beshta ma'muringiz bor", deb eslaydi Andrey Fedorovskiy. Uning fikricha, Docker va Kubernetes qolganlarini "to'plagan". Docker so'nggi besh yil ichida standartga aylandi, so'nggi ikki yilda Kubernetes. Va bu sanoat uchun yaxshi.

Dmitriy Stolyarov va uning jamoasi Kuberni yaxshi ko'radilar. Ular bunday vositani paydo bo'lishidan oldin xohlashdi va hech kim bilmaganida unga kelishdi. Hozirda qulaylik sababli, agar ular Kubernetesni u bilan birga amalga oshirmasliklarini tushunsalar, mijozni qabul qilmaydilar. Shu bilan birga, Dmitriyning so'zlariga ko'ra, kompaniya "dahshatli merosni qayta tiklash bo'yicha ko'plab ulkan muvaffaqiyatlarga ega".

Kubernetes nafaqat konteyner orkestratsiyasi, balki bu ishlab chiqilgan API, tarmoq komponenti, L3 balanslash va Ingress kontrollerlariga ega konfiguratsiyalarni boshqarish tizimi bo'lib, u infratuzilmaning quyi qatlamlaridan resurslarni boshqarish, masshtab va mavhumlikni nisbatan osonlashtiradi.

Afsuski, hayotimizda biz hamma narsa uchun to'lashimiz kerak. Va bu soliq katta, ayniqsa Ivan Kruglovning fikricha, rivojlangan infratuzilmaga ega kompaniyaning Kubernetesga o'tishi haqida gapiradigan bo'lsak. U an'anaviy infratuzilmaga ega kompaniyada ham, Kuber bilan ham bemalol ishlashi mumkin edi. Asosiysi, kompaniya va bozorning xususiyatlarini tushunish. Ammo, masalan, Kubernetesni har qanday konteyner orkestrlash vositasiga umumlashtiradigan Evgeniy Potapov uchun bunday savol tug'ilmaydi.

Evgeniy 1990-yillardagi vaziyat bilan o'xshashlik qildi, o'shanda ob'ektga yo'naltirilgan dasturlash murakkab ilovalarni dasturlash usuli sifatida paydo bo'lgan. O'sha paytda munozaralar davom etdi va OOPni qo'llab-quvvatlaydigan yangi vositalar paydo bo'ldi. Keyin mikroservislar monolit kontseptsiyadan uzoqlashish usuli sifatida paydo bo'ldi. Bu, o'z navbatida, konteynerlar va konteynerlarni boshqarish vositalarining paydo bo'lishiga olib keldi. "O'ylaymanki, biz tez orada kichik mikroservis ilovasini yozishga arziydimi yoki yo'qmi degan savol tug'ilmaydigan vaqtga kelamiz, u sukut bo'yicha mikroservis sifatida yoziladi", deb hisoblaydi u. Xuddi shunday, Docker va Kubernetes oxir-oqibat tanlovga muhtoj bo'lmasdan standart echimga aylanadi.

Fuqaroligi bo'lmagan ma'lumotlar bazalari muammosi

Zamonaviy infratuzilma: muammolar va istiqbollar
Rasm tomonidan Twitter: Unsplash-da @jankolario

Hozirgi kunda Kubernetes-da ma'lumotlar bazalarini ishga tushirish uchun ko'plab retseptlar mavjud. Hatto kiritish-chiqarish diski bilan ishlaydigan qismni shartli ravishda ma'lumotlar bazasining amaliy qismidan qanday ajratish mumkin. Kelajakda ma'lumotlar bazalari shunchalik o'zgarishi mumkinki, ular qutida etkazib beriladi, bu erda bir qismi Docker va Kubernetes orqali tartibga solinadi va infratuzilmaning boshqa qismida alohida dasturiy ta'minot orqali saqlash qismi taqdim etiladi. ? Bazalar mahsulot sifatida o'zgaradimi?

Bu tavsif navbatni boshqarishga o'xshaydi, ammo an'anaviy ma'lumotlar bazalarida ma'lumotlarning ishonchliligi va sinxronizatsiyasi talablari ancha yuqori, deb hisoblaydi Andrey. Oddiy ma'lumotlar bazalarida keshni urish nisbati 99% da qolmoqda. Agar ishchi pastga tushsa, yangisi ishga tushiriladi va kesh noldan "isiydi". Kesh qizdirilmaguncha, ishchi sekin ishlaydi, ya'ni uni foydalanuvchi yuki bilan yuklab bo'lmaydi. Foydalanuvchi yuki bo'lmasa-da, kesh isitilmaydi. Bu shafqatsiz doira.

Dmitriy mutlaqo rozi emas - kvorumlar va sharding muammoni hal qiladi. Ammo Andrey bu yechim hamma uchun mos emasligini ta'kidlaydi. Ba'zi hollarda, kvorum mos keladi, lekin u tarmoqqa qo'shimcha yuk beradi. NoSQL ma'lumotlar bazasi barcha holatlarda mos kelmaydi.

Uchrashuv ishtirokchilari ikkita lagerga bo'lingan.

Denis va Andreyning ta'kidlashicha, diskga yozilgan hamma narsani - ma'lumotlar bazalari va boshqalarni hozirgi Kuber ekotizimida qilish mumkin emas. Kubernetes-da ishlab chiqarish ma'lumotlarining yaxlitligi va izchilligini saqlab bo'lmaydi. Bu asosiy xususiyatdir. Yechim: gibrid infratuzilma.

Hatto MongoDB va Cassandra kabi zamonaviy bulutli ma'lumotlar bazalari yoki Kafka yoki RabbitMQ kabi xabarlar navbatlari ham Kubernetesdan tashqarida doimiy ma'lumotlarni saqlashni talab qiladi.

Evgeniy e'tiroz bildiradi: "Kuberadagi bazalar Rossiyaga yaqin yoki yaqin korxona jarohati bo'lib, bu Rossiyada bulutni qabul qilishning yo'qligi bilan bog'liq." G'arbdagi kichik yoki o'rta kompaniyalar bulutli. Amazon RDS ma'lumotlar bazalaridan foydalanish Kubernetes bilan o'zingiz ishlashdan ko'ra osonroqdir. Rossiyada ular hayvonot bog'idan xalos bo'lishga harakat qilganda, Kuberdan "joyida" foydalanishadi va unga bazalarni o'tkazishadi.

Dmitriy, shuningdek, Kubernetesda maʼlumotlar bazalarini saqlab boʻlmaydi, degan gapga ham qoʻshilmadi: “Maʼlumotlar bazalari oʻrtasida farq bor. Va agar siz ulkan relyatsion ma'lumotlar bazasini bossangiz, unda hech qanday holatda. Agar siz yarim efemer hayotga ruhiy jihatdan tayyorlangan kichik va bulutli mahalliy narsani turtsangiz, hammasi yaxshi bo'ladi. Dmitriy, shuningdek, ma'lumotlar bazasini boshqarish vositalari Docker yoki Kuber uchun tayyor emasligini ta'kidladi, shuning uchun katta qiyinchiliklar paydo bo'ladi.

Ivan, o'z navbatida, agar biz davlat va fuqaroligi bo'lmagan tushunchalardan mavhum bo'lsak ham, Kubernetesdagi korxona yechimlari ekotizimlari hali tayyor emasligiga amin. Kuber bilan qonunchilik va tartibga solish talablarini bajarish qiyin. Masalan, serverlarga o'rnatilgan apparatgacha qat'iy server identifikatsiya kafolatlari talab qilinadigan identifikatorni ta'minlash yechimini ishlab chiqish mumkin emas. Bu soha rivojlanmoqda, ammo hali yechim yo'q.
Ishtirokchilar kelisha olmadilar, shuning uchun bu qismda hech qanday xulosa chiqarilmaydi. Keling, bir nechta amaliy misollar keltiraylik.

Vaziyat 1. Kuberadan tashqarida bazalari bo'lgan "mega-regulyator" ning kiberxavfsizligi

Rivojlangan kiberxavfsizlik tizimida konteynerlardan foydalanish va orkestratsiya hujumlar va hujumlarga qarshi kurashish imkonini beradi. Misol uchun, bitta mega-regulyatorda Denis va uning jamoasi real vaqtda jurnallarni tahlil qiladigan va hujum, xakerlik yoki nosozlik jarayonini aniqlaydigan o'qitilgan SIEM xizmati bilan orkestrning kombinatsiyasini amalga oshirdi. Hujum, biror narsa joylashtirishga urinish yoki to'lov dasturi virusi bostirib kirgan taqdirda, u orkestrator orqali dasturlari bo'lgan konteynerlarni infektsiyalanganidan tezroq yoki tajovuzkor hujum qilganidan tezroq oladi.

2-holat. Booking.com ma'lumotlar bazalarini Kubernetesga qisman ko'chirish

Booking.com-da asosiy ma'lumotlar bazasi asinxron replikatsiyaga ega MySQL-dir - bu erda master va qullarning butun ierarxiyasi mavjud. Ivan kompaniyani tark etganda, ma'lum bir zarar bilan "otish" mumkin bo'lgan qullarni o'tkazish loyihasi boshlandi.

Asosiy bazaga qo'shimcha ravishda, Kuber asosiy oqimga kirishidan oldin yozilgan o'z-o'zidan yozilgan orkestrga ega Kassandra o'rnatmasi mavjud. Bu borada hech qanday muammo yo'q, lekin u mahalliy SSD-larda doimiy. Masofaviy saqlash, hatto bir xil ma'lumotlar markazida ham, yuqori kechikish muammosi tufayli ishlatilmaydi.

Ma'lumotlar bazalarining uchinchi sinfi Booking.com qidiruv xizmati bo'lib, bu erda har bir xizmat tugun ma'lumotlar bazasi hisoblanadi. Qidiruv xizmatini Kuberga o'tkazishga urinishlar muvaffaqiyatsiz tugadi, chunki har bir tugun 60-80 Gb mahalliy xotiraga ega, uni "ko'tarish" va "isitish" qiyin.

Natijada, qidiruv tizimi Kubernetesga o'tkazilmadi va Ivan yaqin kelajakda yangi urinishlar bo'ladi deb o'ylamaydi. MySQL ma'lumotlar bazasi yarmiga uzatildi: faqat "otishdan" qo'rqmaydigan qullar. Kassandra mukammal tarzda joylashdi.

Infratuzilmani tanlash umumiy yechimsiz vazifa sifatida

Zamonaviy infratuzilma: muammolar va istiqbollar
Rasm tomonidan Pexels'dan Manuel Geissinger

Aytaylik, bizda yangi kompaniya yoki infratuzilmaning bir qismi eski usulda qurilgan kompaniya bor. U yillar davomida infratuzilmani rivojlantirish rejasini tuzadi. Konteynerlarda va Kuberda infratuzilmani qurish yoki qilmaslik qarori qanday qabul qilinadi?

Nanosoniyalar uchun kurashayotgan kompaniyalar muhokamadan chetlashtiriladi. Sog'lom konservatizm ishonchlilik nuqtai nazaridan o'zini oqlaydi, ammo hali ham yangi yondashuvlarni hisobga olish kerak bo'lgan kompaniyalar mavjud.

Ivan: "Men, albatta, bulutda kompaniyani ochgan bo'lardim, chunki u tezroq, lekin arzonroq bo'lmasa ham. Venchur kapitalizmining rivojlanishi bilan startaplarda pul bilan bog‘liq katta muammolar yo‘q, asosiy vazifa esa bozorni zabt etishdir.

Ivan shunday fikrda joriy infratuzilmani rivojlantirish tanlov mezoni hisoblanadi. Agar o'tmishda jiddiy sarmoya bo'lsa va u ishlayotgan bo'lsa, uni qayta tiklashdan foyda yo'q. Agar infratuzilma rivojlanmagan bo'lsa va asboblar, xavfsizlik va monitoring bilan bog'liq muammolar mavjud bo'lsa, unda taqsimlangan infratuzilmani ko'rib chiqish mantiqan to'g'ri keladi.

Soliq har qanday holatda ham to'lanishi kerak va Ivan kelajakda kamroq to'lash imkonini beradigan soliqni to'laydi. "Chunki men boshqalar harakatlanayotgan poyezdda ketayotganim sababli, o‘zimga yonilg‘i quyishim kerak bo‘lgan boshqa poyezdga o‘tirsam, ancha uzoqroqqa yo‘l olaman.- deydi Ivan. Agar kompaniya yangi bo'lsa va kechikish talablari o'nlab millisekundlar bo'lsa, Ivan bugungi kunda klassik ma'lumotlar bazalari "o'ralgan" "operatorlar" ga qaraydi. Ular replikatsiya zanjirini ko'taradilar, u o'z-o'zidan uzilib qolganda va hokazo ...

Bir nechta serverga ega bo'lgan kichik kompaniya uchun Kuberaning ma'nosi yo'q, - deydi Andrey. Ammo agar u yuzlab yoki undan ko'p serverlargacha o'sishni rejalashtirsa, u avtomatlashtirish va resurslarni boshqarish tizimiga muhtoj. 90% hollarda xarajat arziydi. Bundan tashqari, yuk va resurslar darajasidan qat'i nazar. Har bir inson uchun, startaplardan tortib millionlab auditoriyaga ega yirik kompaniyalargacha, asta-sekin konteyner orkestrlash mahsulotlariga qarash mantiqan. "Ha, bu haqiqatan ham kelajak", dedi Andrey.

Denis ikkita asosiy mezonni belgilab berdi - miqyoslilik va ishlashning barqarorligi. U vazifaga eng mos keladigan vositalarni tanlaydi. “Bu sizning tizzangizga o'rnatilgan noname bo'lishi mumkin va unda Nutanix Community Edition mavjud. Bu takrorlangan va RTO va RPO parametrlariga ega bo'lgan ma'lumotlar bazasiga ega Kuber ilovasi ko'rinishidagi ikkinchi qator bo'lishi mumkin" (tiklash vaqti/nuqtasi maqsadlari - taxminan.).

Evgeniy xodimlar bilan yuzaga kelishi mumkin bo'lgan muammoni aniqladi. Ayni paytda bozorda "ichak"ni tushunadigan yuqori malakali mutaxassislar ko'p emas. Haqiqatan ham, agar tanlangan texnologiya eski bo'lsa, unda hayotdan zerikkan va charchagan o'rta yoshli odamlardan boshqa hech kimni ishga olish qiyin. Garchi boshqa ishtirokchilar buni kadrlar tayyorlash masalasi deb hisoblashsa-da.
Agar biz tanlov masalasini qo'yadigan bo'lsak: Amazon RDS-da ma'lumotlar bazalari bilan yoki Kubernetes-dagi ma'lumotlar bazalari bilan "joyida" jamoat bulutida kichik kompaniyani ishga tushirish, ba'zi kamchiliklarga qaramay, Amazon RDS ishtirokchilarning tanloviga aylandi.

Uchrashuv tinglovchilarining aksariyati "qonli" korxonadan emasligi sababli taqsimlangan echimlar - bu biz intilishimiz kerak. Ma'lumotlarni saqlash tizimlari taqsimlangan, ishonchli bo'lishi va millisekundlarda, ko'pi bilan o'nlab birliklarda o'lchanadigan kechikish vaqtini yaratishi kerak.", - deya xulosa qildi Andrey.

Kubernetes foydalanishni baholash

Tinglovchi Anton Jbankov Kubernetes apologlariga tuzoqqa savol berdi: siz qanday qilib texnik-iqtisodiy asoslashni tanladingiz va o'tkazdingiz? Nega Kubernetes, nega virtual mashinalar emas, masalan?

Zamonaviy infratuzilma: muammolar va istiqbollar
Rasm tomonidan Tatyana Eremina Unsplash-da

Dmitriy va Ivan bunga javob berishdi. Ikkala holatda ham, sinov va xatolik yo'li bilan ketma-ket qarorlar qabul qilindi, buning natijasida ikkala ishtirokchi ham Kubernetesga etib keldi. Endi korxonalar Kuber-ga o'tkazish mantiqiy bo'lgan dasturiy ta'minotni mustaqil ravishda ishlab chiqishni boshlaydilar. Biz 1C kabi klassik uchinchi tomon tizimlari haqida gapirmayapmiz. Kubernetes ishlab chiquvchilarga tinimsiz uzluksiz takomillashtirish bilan tezda relizlar chiqarishi kerak bo'lganda yordam beradi.

Andrey jamoasi virtual mashinalar asosida kengaytiriladigan klaster yaratishga harakat qildi. Tugunlar domino kabi qulab tushdi, bu ba'zan klasterning qulashiga olib keldi. “Nazariy jihatdan, siz uni tugatishingiz va qo'llaringiz bilan qo'llab-quvvatlashingiz mumkin, ammo bu zerikarli. Va agar bozorda sizga qutidan tashqarida ishlashga imkon beradigan yechim mavjud bo'lsa, unda biz bunga rozi bo'lamiz. Natijada biz almashdik, - deydi Andrey.

Bunday tahlil va hisob-kitoblar uchun standartlar mavjud, ammo ular ishlaydigan haqiqiy apparatda qanchalik to'g'ri ekanligini hech kim ayta olmaydi. Hisob-kitoblar uchun har bir vosita va ekotizimni tushunish ham muhim, ammo bu mumkin emas.

Bizni nima kutmoqda

Zamonaviy infratuzilma: muammolar va istiqbollar
Rasm tomonidan Unsplash-da Drew Beamer

Texnologiya rivojlanib borgan sari ko'proq bir-biridan farq qiladigan qismlar paydo bo'ladi va keyin fazaga o'tish sodir bo'ladi, hamma narsa bitta asbobda birlashishi uchun etarlicha xamirni o'ldirgan sotuvchi paydo bo'ladi.

Sizningcha, Linux dunyosi uchun Ubuntu kabi vosita paydo bo'ladigan vaqt keladimi? Ehtimol, bitta konteynerlashtirish va orkestratsiya vositasi Kuberni o'z ichiga oladi. Bu mahalliy bulutlarni yaratishni osonlashtiradi.

Javobni Ivan berdi: "Google hozir Anthosni qurmoqda - bu ularning bulutni o'rnatadigan paketli taklifi va Kuber, Service Mesh, monitoring - mahalliy mikroservislar uchun zarur bo'lgan barcha jihozlarni o'z ichiga oladi." Biz deyarli kelajakdamiz."

Denis, shuningdek, Nutanix va VMWare-ni konteynerlashsiz shunga o'xshash vazifani bajara oladigan vRealize Suite mahsuloti bilan ta'kidladi.

Dmitriy "og'riqni" kamaytirish va soliqlarni kamaytirish - bu yaxshilanishlarni kutishimiz mumkin bo'lgan ikkita soha ekanligi haqidagi fikri bilan o'rtoqlashdi.

Muhokamalarni yakunlash uchun biz zamonaviy infratuzilmaning quyidagi muammolarini ajratib ko'rsatamiz:

  • Uch ishtirokchi darhol davlat bilan bog'liq muammoni aniqladi.
  • Har xil xavfsizlikni qo'llab-quvvatlash muammolari, jumladan Docker Pythonning bir nechta versiyalari, dastur serverlari va komponentlari bilan yakunlanishi ehtimoli.
    Alohida yig'ilishda muhokama qilish yaxshiroq bo'lgan ortiqcha xarajat.
    Orkestratsiya sifatida o'rganish muammosi murakkab ekotizimdir.
    Sanoatda keng tarqalgan muammo - bu asboblardan noto'g'ri foydalanish.

    Qolgan xulosalar sizga bog'liq. Docker + Kubernetes kombinatsiyasi tizimning "markaziy" qismiga aylanishi oson emas degan fikr hali ham mavjud. Misol uchun, operatsion tizimlar birinchi navbatda apparatga o'rnatiladi, bu konteynerlar va orkestratsiya haqida gapirish mumkin emas. Ehtimol, kelajakda operatsion tizimlar va konteynerlar bulutni boshqarish dasturlari bilan birlashadi.

    Zamonaviy infratuzilma: muammolar va istiqbollar
    Rasm tomonidan Pexels'dan Gabriel Santos Fotografiya

    Fursatdan foydalanib, onamga salom aytmoqchiman va Facebookda guruhimiz borligini eslatib o'tmoqchiman “Yirik IT-loyihalarni boshqarish va rivojlantirish”, kanal @feedmeto turli texnologik bloglardan qiziqarli nashrlar bilan. Va mening kanalim @rybakalexey, bu erda men mahsulot kompaniyalarida rivojlanishni boshqarish haqida gapiraman.

Manba: www.habr.com

a Izoh qo'shish