Бид яагаад Enterprise Service Mesh хийж байна вэ?

Service Mesh нь микро үйлчилгээг нэгтгэх, үүлэн дэд бүтэц рүү шилжих алдартай архитектурын загвар юм. Өнөөдөр үүлэн савны ертөнцөд үүнгүйгээр хийх нь нэлээд хэцүү байдаг. Нээлттэй эх сурвалжийн хэд хэдэн үйлчилгээний торон хувилбарууд зах зээл дээр аль хэдийн бэлэн болсон боловч тэдгээрийн ажиллагаа, найдвартай байдал, аюулгүй байдал нь ялангуяа улс орон даяар томоохон санхүүгийн компаниудын шаардлагын хувьд үргэлж хангалттай байдаггүй. Тийм ч учраас бид Sbertech-ийн хувьд Service Mesh-ийг өөрчлөхөөр шийдсэн бөгөөд Service Mesh-ийн юу нь гайхалтай, юу нь тийм ч гайхалтай биш, мөн энэ талаар юу хийх талаар ярилцахыг хүсч байна.

Бид яагаад Enterprise Service Mesh хийж байна вэ?

Үйлчилгээний торон загварын алдар нэр үүлэн технологийн алдар нэрээр нэмэгдэж байна. Энэ нь өөр өөр сүлжээний үйлчилгээнүүдийн хоорондын харилцан үйлчлэлийг хялбаршуулдаг тусгай зориулалтын дэд бүтцийн давхарга юм. Орчин үеийн үүлэн програмууд нь хэдэн зуун, бүр хэдэн мянган ийм үйлчилгээнүүдээс бүрддэг бөгөөд тус бүр нь хэдэн мянган хуулбартай байж болно.

Бид яагаад Enterprise Service Mesh хийж байна вэ?

Эдгээр үйлчилгээний хоорондын харилцан үйлчлэл, удирдлага нь Service Mesh-ийн гол үүрэг юм. Үнэн хэрэгтээ энэ бол төвлөрсөн удирдлагатай, маш хэрэгтэй функцуудыг гүйцэтгэдэг олон прокси сүлжээний загвар юм.

Прокси түвшинд (өгөгдлийн хавтгай):

  • Чиглүүлэлт болон хөдөлгөөний тэнцвэржүүлэх бодлогыг хуваарилах, хуваарилах
  • Түлхүүр, гэрчилгээ, жетон түгээх
  • Телеметрийн цуглуулга, хяналтын хэмжүүрийг бий болгох
  • Аюулгүй байдал, хяналтын дэд бүтэцтэй нэгтгэх

Хяналтын хавтгайн түвшинд:

  • Чиглүүлэлт болон хөдөлгөөний тэнцвэржүүлэх бодлогыг хэрэгжүүлэх
  • Дахин оролдлого болон завсарлагыг удирдах, "үхсэн" зангилааг илрүүлэх (хэлхээ таслах), тарилгын алдааг удирдах, бусад механизмаар дамжуулан үйлчилгээний уян хатан байдлыг хангах.
  • Дуудлагын баталгаажуулалт/зөвшөөрөл
  • Хэмжилтийг бууруулах (ажиглалт)

Энэ технологийг хөгжүүлэх сонирхолтой хэрэглэгчдийн хүрээ маш өргөн хүрээтэй байдаг - жижиг стартапуудаас эхлээд томоохон интернет корпорацууд, жишээлбэл, PayPal.

Корпорацийн салбарт Service Mesh яагаад хэрэгтэй вэ?

Үйлчилгээний торыг ашиглах нь олон давуу талтай. Юуны өмнө, энэ нь хөгжүүлэгчдэд тохиромжтой: код бичихэд тохиромжтой технологийн платформ гарч ирнэ, энэ нь тээврийн давхарга нь хэрэглээний логикоос бүрэн тусгаарлагдсан тул үүлэн дэд бүтцэд нэгтгэх ажлыг ихээхэн хялбаршуулдаг.

Цаашилбал, Service Mesh нь ханган нийлүүлэгчид болон хэрэглэгчдийн хоорондын харилцааг хялбаршуулдаг. Өнөөдөр API үйлчилгээ үзүүлэгчид болон хэрэглэгчид интерфэйс, гэрээг бие даан тохиролцох нь тусгай интеграцийн зуучлагч, арбитр буюу аж ахуйн нэгжийн үйлчилгээний автобусыг оролцуулалгүйгээр илүү хялбар болсон. Энэ арга нь хоёр үзүүлэлтэд ихээхэн нөлөөлдөг. Зах зээлд шинэ функцийг нэвтрүүлэх хурд (зах зээлд гарах хугацаа) нэмэгдэж байгаа боловч интеграцчлалыг бие даан хийх шаардлагатай тул шийдлийн өртөг нэмэгддэг. Бизнесийн функцийг хөгжүүлэх багууд Service Mesh-ийг ашиглах нь энд тэнцвэрийг хадгалахад тусалдаг. Үүний үр дүнд API үйлчилгээ үзүүлэгчид зөвхөн үйлчилгээнийхээ хэрэглээний бүрэлдэхүүн хэсэг дээр анхаарлаа төвлөрүүлж, үүнийг зүгээр л Service Mesh-д нийтлэх боломжтой - API нь бүх үйлчлүүлэгчдэд нэн даруй боломжтой болох бөгөөд интеграцийн чанар нь үйлдвэрлэлд бэлэн байх бөгөөд ганц ч шаардлагагүй болно. нэмэлт кодын мөр.

Дараагийн давуу тал нь тэр Хөгжүүлэгч нь Service Mesh-ийг ашиглан зөвхөн бизнесийн үйл ажиллагаанд анхаарлаа хандуулдаг - үйлчилгээнийхээ технологийн бүрэлдэхүүн хэсэг гэхээсээ илүү бүтээгдэхүүн дээр. Жишээлбэл, сүлжээгээр үйлчилгээ дуудагдсан тохиолдолд хаа нэгтээ холболтын доголдол гарч болзошгүй талаар бодох шаардлагагүй болсон. Нэмж дурдахад, Service Mesh нь ижил үйлчилгээний хуулбаруудын хоорондох урсгалыг тэнцвэржүүлэхэд тусалдаг: хэрэв хуулбаруудын аль нэг нь "үхвэл" систем нь бүх урсгалыг үлдсэн амьд хуулбар руу шилжүүлнэ.

Үйлчилгээний тор - Энэ нь тархсан програмуудыг бий болгох сайн үндэс суурь юм, энэ нь дотоод болон гадаад үйлчилгээндээ дуудлага өгөх дэлгэрэнгүй мэдээллийг үйлчлүүлэгчээс нуудаг. Service Mesh ашигладаг бүх програмууд нь сүлжээнээс болон бие биенээсээ тээврийн түвшинд тусгаарлагдсан байдаг: тэдгээрийн хооронд ямар ч холбоо байхгүй. Энэ тохиолдолд хөгжүүлэгч өөрийн үйлчилгээг бүрэн хянах болно.

Үүнийг тэмдэглэх нь зүйтэй Үйлчилгээний сүлжээний орчинд тархсан програмуудыг шинэчлэх нь илүү хялбар болно. Жишээлбэл, хоёр програмын орчинг суулгах боломжтой, нэг нь шинэчлэгдээгүй, зогсолтын горимд байгаа цэнхэр/ногоон байршуулалт. Амжилтгүй гарсан тохиолдолд өмнөх хувилбар руу буцах ажлыг Service Mesh нь сайн гүйцэтгэдэг тусгай чиглүүлэгчээр гүйцэтгэдэг.. Шинэ хувилбарыг туршихын тулд та ашиглаж болно канарын хувилбар - зөвхөн 10% траффик эсвэл туршилтын үйлчлүүлэгчдийн хүсэлтийн шинэ хувилбар руу шилжих. Гол урсгал нь хуучин хувилбар руу явдаг, юу ч эвдэрдэггүй.

Мөн түүнчлэн Service Mesh нь бидэнд бодит цагийн SLA хяналтыг өгдөг. Түгээмэл прокси систем нь үйлчлүүлэгчдийн аль нэг нь түүнд заасан квотоос хэтэрсэн тохиолдолд үйлчилгээг доголдуулахыг зөвшөөрөхгүй. Хэрэв API нэвтрүүлэх чадвар хязгаарлагдмал бол хэн ч үүнийг олон тооны гүйлгээгээр дарж чадахгүй: Үйлчилгээний тор нь үйлчилгээний өмнө зогсож, шаардлагагүй урсгалыг зөвшөөрдөггүй. Энэ нь зүгээр л интеграцийн давхаргад тулалдах бөгөөд үйлчилгээнүүд өөрсдөө үүнийг анзаарахгүйгээр үргэлжлүүлэн ажиллах болно.

Хэрэв компани интеграцийн шийдлүүдийг боловсруулах зардлыг бууруулахыг хүсч байвал Service Mesh нь дараахь байдлаар тусалдаг. Та арилжааны бүтээгдэхүүнээс нээлттэй эхийн хувилбар руу шилжиж болно. Манай Enterprise Service Mesh нь Service Mesh-ийн нээлттэй эхийн хувилбар дээр суурилдаг.

Өөр нэг давуу тал - нэгдсэн нэг цогц үйлчилгээний хүртээмж. Бүх интеграци нь энэхүү дундын програм хангамжаар бүтээгдсэн тул бид компанийн бизнесийн цөмийг бүрдүүлдэг программуудын хоорондох бүх интеграцийн урсгал болон холболтыг удирдах боломжтой. Энэ нь маш тухтай байдаг.

Эцэст нь Service Mesh нь компанийг динамик дэд бүтцэд шилжихийг дэмждэг. Одоо олон хүн чингэлэг болгохыг хайж байна. Микро үйлчилгээ болгон нэг цул хайчилж, энэ бүгдийг сайхан хэрэгжүүлэх - сэдэв улам бүр нэмэгдэж байна. Гэхдээ та олон жилийн турш үйлдвэрлэсэн системийг шинэ платформ руу шилжүүлэх гэж оролдоход тэр даруй хэд хэдэн асуудал тулгардаг: бүгдийг нь саванд хийж, платформ дээр байрлуулах нь тийм ч хялбар биш юм. Эдгээр хуваарилагдсан бүрэлдэхүүн хэсгүүдийн хэрэгжилт, синхрончлол, харилцан үйлчлэл нь өөр нэг маш төвөгтэй сэдэв юм. Тэд бие биетэйгээ хэрхэн харилцах вэ? Үе шаталсан бүтэлгүйтэл гарах уу? Service Mesh нь эдгээр асуудлуудын заримыг шийдэж, сүлжээний солилцооны логикийг мартаж чаддаг тул хуучин архитектураас шинэ архитектур руу шилжих боломжийг олгодог.

Яагаад танд Service Mesh тохируулга хэрэгтэй байна вэ?

Манай компанид олон зуун систем, модулиуд зэрэгцэн оршдог бөгөөд ажиллах хугацаа нь маш их ачаалалтай байдаг. Тиймээс нэг системийг нөгөө рүү залгаж, хариу хүлээн авах энгийн загвар хангалтгүй, учир нь үйлдвэрлэлд бид илүү ихийг хүсдэг. Байгууллагын үйлчилгээний сүлжээнээс өөр юу хэрэгтэй вэ?

Бид яагаад Enterprise Service Mesh хийж байна вэ?

Үйл явдал боловсруулах үйлчилгээ

Үйлчлүүлэгчийн үйлдлийг бодит цаг хугацаанд задлан шинжилж, түүнд холбогдох саналыг нэн даруй гаргаж чаддаг систем - бид үйл явдлын бодит цагийн боловсруулалтыг хийх хэрэгтэй гэж төсөөлөөд үз дээ. Үүнтэй төстэй функцийг хэрэгжүүлэхийн тулд ашиглана уу Архитектурын хэв маягийг үйл явдалд тулгуурласан архитектур (EDA) гэж нэрлэдэг.. Одоогийн үйлчилгээний сүлжээнүүдийн аль нь ч ийм хэв маягийг дэмждэггүй, гэхдээ энэ нь ялангуяа банкны хувьд маш чухал юм!

Remote Procedure Call (RPC) нь Service Mesh-ийн бүх хувилбаруудаар дэмжигддэг нь үнэхээр хачирхалтай боловч тэдгээр нь EDA-д тохиромжгүй байдаг. Учир нь Service Mesh нь орчин үеийн тархсан интеграцийн нэг төрөл бөгөөд EDA нь хэрэглэгчийн туршлагын хувьд өвөрмөц зүйлийг хийх боломжийг олгодог маш хамааралтай архитектурын загвар юм.

Манай Enterprise Service Mesh энэ асуудлыг шийдэх ёстой. Нэмж дурдахад бид янз бүрийн шүүлтүүр, загваруудыг ашиглан баталгаатай хүргэлт, дамжуулалт, үйл явдлын цогц боловсруулалтын хэрэгжилтийг харахыг хүсч байна.

Файл дамжуулах үйлчилгээ

EDA-аас гадна файл дамжуулах боломжтой байх нь сайхан байх болно: Аж ахуйн нэгжийн хэмжээнд зөвхөн файлыг нэгтгэх боломжтой байдаг. Ялангуяа ETL (Extract, Transform, Load) архитектурын хэв маягийг ашигладаг. Дүрмээр бол хүн бүр зөвхөн файл солилцдог: том өгөгдлийг ашигладаг бөгөөд энэ нь тусдаа хүсэлт гаргахад боломжгүй юм. Enterprise Service Mesh-д файлын шилжүүлгийг эхнээсээ дэмжих чадвар нь таны бизнест хэрэгтэй уян хатан байдлыг өгдөг.

Оркестрийн үйлчилгээ

Томоохон байгууллагууд бараг үргэлж өөр өөр бүтээгдэхүүн үйлдвэрлэдэг өөр өөр багуудтай байдаг. Жишээлбэл, банкинд зарим баг хадгаламжтай ажилладаг бол зарим нь зээлийн бүтээгдэхүүнээр ажилладаг, ийм тохиолдол нэлээд их байдаг. Эдгээр нь өөр өөр хүмүүс, өөр өөр баг, бүтээгдэхүүнээ хийж, API-аа хөгжүүлж, бусдад өгдөг. Ихэнхдээ эдгээр үйлчилгээг зохиох, түүнчлэн API багцыг дараалан дуудах нарийн төвөгтэй логикийг хэрэгжүүлэх шаардлагатай байдаг. Энэ асуудлыг шийдэхийн тулд интеграцийн давхаргад энэ бүх нийлмэл логикийг хялбаршуулах шийдэл хэрэгтэй (хэд хэдэн API дуудах, хүсэлтийн маршрутыг тайлбарлах гэх мэт). Энэ бол Enterprise Service Mesh дахь зохион байгуулалтын үйлчилгээ юм.

AI ба ML

Микро үйлчилгээнүүд нэг интеграцийн давхаргаар холбогдох үед Үйлчилгээний сүлжээ нь үйлчилгээ бүрийн дуудлагын талаар бүгдийг мэддэг. Бид телеметрийг цуглуулдаг: хэн хэнийг, хэзээ, хэр удаан, хэдэн удаа дуудсан гэх мэт. Эдгээр хэдэн зуун мянган үйлчилгээ, олон тэрбум дуудлага байх үед энэ бүхэн хуримтлагдаж, Big Data-г бүрдүүлдэг. Энэхүү өгөгдөлд AI, машин сургалт гэх мэтийг ашиглан дүн шинжилгээ хийж, дараа нь шинжилгээний үр дүнд үндэслэн зарим хэрэгтэй зүйлсийг хийж болно. Энэ бүх сүлжээний траффик болон Service Mesh-д нэгдсэн хэрэглээний дуудлагын хяналтыг ядаж хэсэгчлэн хиймэл оюун ухаанд шилжүүлэх нь зөв байх.

API гарцын үйлчилгээ

Ерөнхийдөө Service Mesh нь итгэмжлэгдсэн периметрийн хүрээнд өөр хоорондоо ярьдаг прокси болон үйлчилгээтэй байдаг. Гэхдээ гадны сөрөг талууд бас бий. Энэ бүлгийн хэрэглэгчдэд тавигдах API-д тавигдах шаардлага илүү хатуу байдаг. Бид энэ ажлыг хоёр үндсэн хэсэгт хуваадаг.

  • Аюулгүй байдал. Ddos, протоколуудын эмзэг байдал, програмууд, үйлдлийн системүүд гэх мэт асуудлуудтай холбоотой асуудлууд.
  • Масштаб. Үйлчлүүлэгчдэд үйлчлэх шаардлагатай API-ийн тоо хэдэн мянга, бүр хэдэн зуун мянгад хүрэх үед энэ багц API-д зориулсан удирдлагын зарим төрлийн хэрэгсэл хэрэгтэй болно. Та API-г байнга хянаж байх хэрэгтэй: тэд ажиллаж байгаа эсэх, тэдний статус ямар байгаа, ямар урсгал урсаж байгаа, ямар статистик гэх мэт. API гарц нь энэ ажлыг гүйцэтгэхийн зэрэгцээ бүх процессыг удирдах боломжтой, аюулгүй болгох ёстой. Энэхүү бүрэлдэхүүн хэсгийн ачаар Enterprise Service Mesh нь дотоод болон гадаад API-г хялбархан нийтэлж сурдаг.

Тодорхой протокол болон өгөгдлийн форматыг дэмжих үйлчилгээ (AS гарц)

Одоогоор ихэнх Service Mesh шийдэл нь зөвхөн HTTP болон HTTP2 траффик эсвэл TCP/IP түвшинд багасгасан горимд ажиллах боломжтой. Enterprise Service Mesh нь бусад маш тодорхой өгөгдөл дамжуулах протоколуудтай хамт гарч ирж байна. Зарим системд мессеж брокер ашиглаж болох ба бусад нь мэдээллийн сангийн түвшинд нэгдсэн байдаг. Хэрэв компани SAP-тай бол өөрийн интеграцийн системийг ашиглаж болно. Түүгээр ч барахгүй энэ бүхэн үр дүнтэй бөгөөд бизнесийн чухал хэсэг юм.

Та зүгээр л: "Өв залгамжлалаасаа татгалзаж, Service Mesh ашиглах боломжтой шинэ систем бүтээцгээе" гэж хэлж болохгүй. Бүх хуучин системийг шинэ системүүдтэй (микросервис архитектур дээр) холбохын тулд Service Mesh-ийг ашиглаж болох системүүдэд ямар нэгэн адаптер, зуучлагч, гарц хэрэгтэй болно. Зөвшөөрч байна, үйлчилгээтэй нь хамт хайрцагтай ирсэн бол сайхан байх болно. Хувьсах гүйдлийн гарц нь ямар ч интеграцийн сонголтыг дэмжих боломжтой. Зүгээр л төсөөлөөд үз дээ, та Enterprise Service Mesh-ийг суулгаад, энэ нь танд хэрэгтэй бүх протоколуудтай ажиллахад бэлэн болно. Энэ арга нь бидний хувьд маш чухал юм.

Service Mesh (Enterprise Service Mesh)-ийн корпорацийн хувилбарыг бид ойролцоогоор ингэж төсөөлж байна. Тайлбарласан тохируулга нь интеграцийн платформын нээлттэй эхийн бэлэн хувилбаруудыг ашиглахыг оролдох үед гарч ирдэг ихэнх асуудлыг шийддэг. Хэдхэн жилийн өмнө танилцуулагдсан Service Mesh архитектур нь үргэлжлүүлэн хөгжиж байгаа бөгөөд бид түүний хөгжилд хувь нэмрээ оруулах боломжтой болсондоо баяртай байна. Бидний туршлага танд хэрэг болно гэж найдаж байна.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх