Nima uchun biz Enterprise Service Mesh qilamiz?

Service Mesh - bu mikroservislarni birlashtirish va bulutli infratuzilmaga o'tish uchun mashhur me'moriy naqsh. Bugungi kunda bulutli konteyner dunyosida busiz qilish juda qiyin. Bozorda bir nechta ochiq manbali xizmat ko'rsatish dasturlari allaqachon mavjud, ammo ularning funksionalligi, ishonchliligi va xavfsizligi har doim ham etarli emas, ayniqsa, butun mamlakat bo'ylab yirik moliyaviy kompaniyalarning talablariga kelganda. Shuning uchun biz Sbertech kompaniyasida Service Mesh-ni sozlashga qaror qildik va Service Mesh-ning nima ajoyibligi, nimasi unchalik ajoyib emasligi va bu borada nima qilishimiz haqida gaplashmoqchimiz.

Nima uchun biz Enterprise Service Mesh qilamiz?

Service Mesh naqshining mashhurligi bulutli texnologiyalarning mashhurligi bilan ortib bormoqda. Bu turli tarmoq xizmatlari o'rtasidagi o'zaro aloqani soddalashtiradigan maxsus infratuzilma qatlami. Zamonaviy bulutli ilovalar har birida minglab nusxalarga ega bo'lishi mumkin bo'lgan yuzlab yoki hatto minglab bunday xizmatlardan iborat.

Nima uchun biz Enterprise Service Mesh qilamiz?

Ushbu xizmatlar o'rtasidagi o'zaro ta'sir va ularni boshqarish Service Meshning asosiy vazifasi hisoblanadi. Aslida, bu markazlashtirilgan tarzda boshqariladigan va juda foydali funktsiyalar to'plamini bajaradigan ko'plab proksi-serverlarning tarmoq modeli.

Proksi darajasida (ma'lumotlar tekisligi):

  • Marshrutlash va trafikni muvozanatlash siyosatini belgilash va tarqatish
  • Kalitlarni, sertifikatlarni, tokenlarni tarqatish
  • Telemetriyani yig'ish, monitoring ko'rsatkichlarini yaratish
  • Xavfsizlik va monitoring infratuzilmasi bilan integratsiya

Tekshirish tekisligi darajasida:

  • Marshrutlash va trafikni muvozanatlash siyosatini qo'llash
  • Qayta urinishlar va kutish vaqtlarini boshqarish, "o'lik" tugunlarni aniqlash (elektron uzilish), in'ektsiya nosozliklarini boshqarish va boshqa mexanizmlar orqali xizmatning barqarorligini ta'minlash
  • Qo'ng'iroqni autentifikatsiya qilish/avtorizatsiya
  • Ko'rsatkichlarni tushirish (kuzatish mumkinligi)

Ushbu texnologiyani ishlab chiqishdan manfaatdor bo'lgan foydalanuvchilar doirasi juda keng - kichik startaplardan tortib yirik Internet-korporatsiyalargacha, masalan, PayPal.

Nima uchun korporativ sektorda Service Mesh kerak?

Xizmat tarmog'idan foydalanishning ko'plab aniq afzalliklari bor. Birinchidan, bu ishlab chiquvchilar uchun qulay: kod yozish uchun texnologik platforma paydo bo'ladi, bu transport qatlamining dastur mantig'idan butunlay ajratilganligi sababli bulutli infratuzilmaga integratsiyani sezilarli darajada osonlashtiradi.

Bundan tashqari, Service Mesh yetkazib beruvchilar va iste'molchilar o'rtasidagi munosabatlarni soddalashtiradi. Bugungi kunda API provayderlari va iste'molchilari uchun maxsus integratsiya vositachisi va hakami - korporativ xizmat avtobusini jalb qilmasdan, interfeyslar va shartnomalar bo'yicha mustaqil ravishda kelishib olish ancha oson. Ushbu yondashuv ikkita ko'rsatkichga sezilarli darajada ta'sir qiladi. Bozorga yangi funksiyalarni kiritish tezligi (bozorga chiqish vaqti) oshadi, lekin ayni paytda yechimning narxi oshadi, chunki integratsiya mustaqil ravishda amalga oshirilishi kerak. Biznes funktsiyalarini ishlab chiqish guruhlari tomonidan Service Mesh-dan foydalanish bu erda muvozanatni saqlashga yordam beradi. Natijada, API provayderlari faqat o'z xizmatlarining dastur komponentiga e'tibor qaratishlari va uni oddiygina Service Mesh-da nashr etishlari mumkin - API darhol barcha mijozlar uchun mavjud bo'ladi va integratsiya sifati ishlab chiqarishga tayyor bo'ladi va bitta xizmatni talab qilmaydi. qo'shimcha kod qatori.

Keyingi afzallik - bu ishlab chiquvchi, Service Mesh-dan foydalangan holda, faqat biznes funktsiyalariga e'tibor qaratadi — mahsulotga xizmat ko‘rsatishning texnologik qismidan ko‘ra. Misol uchun, tarmoq orqali xizmat chaqirilganda, biror joyda ulanishning uzilishi mumkinligi haqida endi o'ylamasligingiz kerak. Bundan tashqari, Service Mesh bir xil xizmat nusxalari orasidagi trafikni muvozanatlashda yordam beradi: agar nusxalardan biri "o'lib qolsa", tizim barcha trafikni qolgan jonli nusxalarga o'tkazadi.

Xizmat tarmog'i - bu taqsimlangan ilovalarni yaratish uchun yaxshi asosdir, bu mijozdan o'z xizmatlariga ichki va tashqi qo'ng'iroqlarni taqdim etish tafsilotlarini yashiradi. Service Mesh-dan foydalanadigan barcha ilovalar transport darajasida ham tarmoqdan, ham bir-biridan ajratilgan: ular o'rtasida aloqa yo'q. Bunday holda, ishlab chiquvchi o'z xizmatlarini to'liq nazorat qiladi.

Shuni ta'kidlash kerak Xizmat ko'rsatish muhitida taqsimlangan ilovalarni yangilash osonroq bo'ladi. Masalan, o'rnatish uchun ikkita dastur muhiti mavjud bo'lgan ko'k/yashil joylashtirish, ulardan biri yangilanmagan va kutish rejimida. Muvaffaqiyatsiz chiqarilgan taqdirda oldingi versiyaga qaytish maxsus router tomonidan amalga oshiriladi, uning rolini Service Mesh yaxshi bajaradi.. Yangi versiyani sinab ko'rish uchun siz foydalanishingiz mumkin kanareyka chiqarilishi — yangi versiyaga atigi 10% trafik yoki tajribali mijozlar guruhi soʻrovlariga oʻtish. Asosiy trafik eski versiyaga o'tadi, hech narsa buzilmaydi.

Bundan tashqari Service Mesh bizga real vaqtda SLA boshqaruvini beradi. Mijozlardan biri unga tayinlangan kvotadan oshib ketganda, taqsimlangan proksi-server tizimi xizmatning ishdan chiqishiga yo'l qo'ymaydi. Agar API o‘tkazuvchanligi cheklangan bo‘lsa, hech kim uni ko‘p sonli tranzaktsiyalar bilan to‘ldira olmaydi: Service Mesh xizmat oldida turadi va keraksiz trafikka ruxsat bermaydi. U shunchaki integratsiya qatlamida kurashadi va xizmatlarning o'zi buni sezmasdan ishlashda davom etadi.

Agar kompaniya integratsiya yechimlarini ishlab chiqish xarajatlarini kamaytirmoqchi bo'lsa, Service Mesh ham yordam beradi: Tijoriy mahsulotlardan uning ochiq manba versiyasiga o'tishingiz mumkin. Bizning Enterprise Service Meshimiz Service Meshning ochiq manba versiyasiga asoslangan.

Yana bir afzallik - integratsiya xizmatlarining yagona to'liq to'plamining mavjudligi. Barcha integratsiya ushbu o'rta dastur orqali qurilganligi sababli, biz barcha integratsiya trafigini va kompaniyaning biznes yadrosini tashkil etuvchi ilovalar o'rtasidagi ulanishlarni boshqarishimiz mumkin. Bu juda qulay.

Va nihoyat Service Mesh kompaniyani dinamik infratuzilmaga o'tishga undaydi. Hozir ko'pchilik konteynerlashtirishga intilmoqda. Mikroservislarga monolitni kesish, bularning barchasini chiroyli tarzda amalga oshirish - mavzu ko'tarilmoqda. Ammo ko'p yillar davomida ishlab chiqarilgan tizimni yangi platformaga o'tkazishga harakat qilganingizda, siz darhol bir qator muammolarga duch kelasiz: barchasini konteynerlarga surish va platformada joylashtirish oson emas. Va bu taqsimlangan komponentlarning amalga oshirilishi, sinxronlashtirilishi va o'zaro ta'siri yana bir juda murakkab mavzudir. Ular bir-birlari bilan qanday muloqot qilishadi? Kaskadli muvaffaqiyatsizliklar bo'ladimi? Mesh xizmati ushbu muammolarning ba'zilarini hal qilishga va tarmoq almashinuvi mantiqini unutishingiz mumkinligi sababli eski arxitekturadan yangisiga o'tishni osonlashtirishga imkon beradi.

Nima uchun sizga Service Mesh moslashuvi kerak?

Bizning kompaniyamizda yuzlab tizimlar va modullar birga ishlaydi va ish vaqti juda yuklangan. Shunday qilib, bitta tizimning boshqasiga qo'ng'iroq qilish va javob olishning oddiy namunasi etarli emas, chunki ishlab chiqarishda biz ko'proq narsani xohlaymiz. Korxona xizmat ko'rsatish tarmog'idan yana nima kerak?

Nima uchun biz Enterprise Service Mesh qilamiz?

Voqealarni qayta ishlash xizmati

Tasavvur qilaylik, biz real vaqt rejimida voqealarni qayta ishlashni amalga oshirishimiz kerak - bu mijozning harakatlarini real vaqt rejimida tahlil qiladigan va darhol unga tegishli taklifni taqdim eta oladigan tizim. Shu kabi funksiyani amalga oshirish uchun foydalaning hodisaga asoslangan arxitektura (EDA) deb ataladigan me'moriy naqsh. Hozirgi xizmat tarmoqlarining hech biri tabiiy ravishda bunday naqshlarni qo'llab-quvvatlamaydi, lekin bu juda muhim, ayniqsa bank uchun!

Remote Procedure Call (RPC) xizmati Meshning barcha versiyalari tomonidan qo'llab-quvvatlanishi juda g'alati, ammo ular EDA bilan do'stona emas. Chunki Service Mesh - bu zamonaviy taqsimlangan integratsiyaning bir turi va EDA - mijozlar tajribasi nuqtai nazaridan noyob narsalarni qilish imkonini beruvchi juda dolzarb me'moriy naqsh.

Bizning Enterprise Service Mesh bu muammoni hal qilishi kerak. Bundan tashqari, biz unda turli filtrlar va shablonlardan foydalangan holda kafolatlangan yetkazib berish, oqimlash va hodisalarni murakkab qayta ishlashni amalga oshirishni ko'rmoqchimiz.

Fayl uzatish xizmati

EDA-ga qo'shimcha ravishda, fayllarni uzatish imkoniyatiga ega bo'lish yaxshi bo'lar edi: Enterprise miqyosida ko'pincha faqat fayllarni birlashtirish mumkin. Xususan, ETL (Extract, Transform, Load) arxitektura naqshidan foydalaniladi. Unda, qoida tariqasida, har bir kishi faqat fayllarni almashtiradi: katta ma'lumotlardan foydalaniladi, bu alohida so'rovlarni yuborish uchun amaliy emas. Enterprise Service Mesh-da fayl uzatishni qo'llab-quvvatlash qobiliyati sizga biznesingiz kerak bo'lgan moslashuvchanlikni beradi.

Orkestr xizmati

Yirik tashkilotlar deyarli har doim turli xil mahsulotlarni ishlab chiqaradigan turli guruhlarga ega. Misol uchun, bankda ba'zi jamoalar omonat bilan ishlaydi, boshqalari esa kredit mahsulotlari bilan ishlaydi va bunday holatlar juda ko'p. Bu o'z mahsulotlarini ishlab chiqaradigan, API'larini ishlab chiqadigan va boshqalarga taqdim etadigan turli xil odamlar, turli jamoalar. Va ko'pincha ushbu xizmatlarni yaratish, shuningdek, API to'plamini ketma-ket chaqirish uchun murakkab mantiqni amalga oshirish zarurati tug'iladi. Ushbu muammoni hal qilish uchun sizga integratsiya qatlamida ushbu kompozitsion mantiqni soddalashtiradigan yechim kerak bo'ladi (bir nechta APIlarni chaqirish, so'rov marshrutini tavsiflash va h.k.). Bu Enterprise Service Mesh tizimidagi orkestratsiya xizmati.

AI va ML

Mikroservislar bitta integratsiya qatlami orqali aloqa qilganda, Service Mesh tabiiy ravishda har bir xizmatning qo'ng'iroqlari haqida hamma narsani biladi. Biz telemetriyani yig'amiz: kim kimga, qachon, qancha vaqt, necha marta va hokazo. Yuz minglab bunday xizmatlar va milliardlab qo'ng'iroqlar mavjud bo'lganda, bularning barchasi to'planib, Big Datani shakllantiradi. Ushbu ma'lumotlarni AI, mashinani o'rganish va boshqalar yordamida tahlil qilish mumkin, keyin esa tahlil natijalari asosida ba'zi foydali narsalarni qilish mumkin. Bu barcha tarmoq trafigini va Service Mesh-ga integratsiya qilingan ilova qo'ng'iroqlarini boshqarishni hech bo'lmaganda qisman sun'iy intellektga topshirish maqsadga muvofiq bo'ladi.

API Gateway xizmati

Odatda, Service Mesh ishonchli perimetrda bir-biri bilan gaplashadigan proksi va xizmatlarga ega. Ammo tashqi kontragentlar ham bor. Ushbu iste'molchilar guruhiga duchor bo'lgan API talablari ancha jiddiyroq. Biz bu vazifani ikkita asosiy qismga ajratamiz.

  • Xavfsizlik. Ddos, protokollarning zaifligi, ilovalar, operatsion tizimlar va boshqalar bilan bog'liq muammolar.
  • Masshtab. Mijozlarga xizmat ko'rsatishi kerak bo'lgan API soni minglab yoki hatto yuz minglab bo'lsa, ushbu API to'plami uchun qandaydir boshqaruv vositasiga ehtiyoj bor. Siz doimiy ravishda API-ni kuzatib borishingiz kerak: ular ishlayaptimi yoki yo'qmi, ularning holati qanday, trafik qanday ketmoqda, qanday statistika va boshqalar. API shlyuzi bu vazifani bajarishi kerak, shu bilan birga butun jarayonni boshqarish mumkin va xavfsiz qiladi. Ushbu komponent tufayli Enterprise Service Mesh ichki va tashqi API-larni osongina nashr qilishni o'rganadi.

Muayyan protokollar va ma'lumotlar formatlarini qo'llab-quvvatlash xizmati (AS shlyuzi)

Hozirgi vaqtda ko'pgina Service Mesh yechimlari faqat HTTP va HTTP2 trafigida yoki TCP/IP darajasida qisqartirilgan rejimda ishlashi mumkin. Enterprise Service Mesh ko'plab boshqa maxsus ma'lumotlarni uzatish protokollari bilan birga paydo bo'ladi. Ba'zi tizimlar xabar brokerlaridan foydalanishi mumkin, boshqalari ma'lumotlar bazasi darajasida birlashtirilgan. Agar kompaniyada SAP bo'lsa, u o'zining integratsiya tizimidan ham foydalanishi mumkin. Bundan tashqari, bularning barchasi ishlaydi va biznesning muhim qismidir.

Siz shunchaki: "Keling, merosdan voz kechib, Service Mesh-dan foydalanishi mumkin bo'lgan yangi tizimlarni yarataylik" deb ayta olmaysiz. Barcha eski tizimlarni yangilari bilan (mikroservis arxitekturasida) ulash uchun Service Mesh-dan foydalana oladigan tizimlarga qandaydir adapter, vositachi, shlyuz kerak bo'ladi. Qabul qilaman, agar u xizmat bilan birga qutiga kirsa yaxshi bo'lardi. AC shlyuzi har qanday integratsiya variantini qo'llab-quvvatlashi mumkin. Tasavvur qiling, siz shunchaki Enterprise Service Mesh-ni o'rnatasiz va u barcha kerakli protokollar bilan ishlashga tayyor. Bu yondashuv biz uchun juda muhim.

Biz Service Mesh (Enterprise Service Mesh) ning korporativ versiyasini taxminan shunday tasavvur qilamiz. Ta'riflangan xususiylashtirish integratsiya platformasining tayyor ochiq manbali versiyalaridan foydalanishga urinishda yuzaga keladigan ko'pgina muammolarni hal qiladi. Bir necha yil oldin taqdim etilgan Service Mesh arxitekturasi rivojlanishda davom etmoqda va biz uning rivojlanishiga hissa qo‘shishimizdan xursandmiz. Umid qilamizki, bizning tajribamiz siz uchun foydali bo'ladi.

Manba: www.habr.com

a Izoh qo'shish