Зашто правимо Ентерприсе Сервице Месх?

Сервице Месх је добро познати архитектонски образац за интеграцију микросервиса и миграцију на инфраструктуру облака. Данас је у свету контејнера у облаку прилично тешко без њега. Неколико опен-соурце сервисних мрежа већ је доступно на тржишту, али њихова функционалност, поузданост и сигурност нису увек довољни, посебно када су у питању захтеви великих финансијских компанија широм земље. Зато смо ми у Сбертецх-у одлучили да прилагодимо Сервице Месх и желимо да разговарамо о томе шта је цоол у ​​вези Сервице Месх-а, шта није тако кул и шта ћемо да урадимо у вези са тим.

Зашто правимо Ентерприсе Сервице Месх?

Популарност обрасца Сервице Месх расте са популарношћу цлоуд технологија. То је наменски инфраструктурни слој који поједностављује интеракцију између различитих мрежних услуга. Модерне апликације у облаку састоје се од стотина или чак хиљада таквих услуга, од којих свака може имати хиљаде копија.

Зашто правимо Ентерприсе Сервице Месх?

Интеракција између ових услуга и управљање њима је кључни задатак Сервице Месх-а. У ствари, ово је мрежни модел многих проксија, којима се управља централно и који обављају скуп веома корисних функција.

На нивоу проксија (раван података):

  • Додељивање и дистрибуција политика рутирања и балансирања саобраћаја
  • Дистрибуција кључева, сертификата, токена
  • Прикупљање телеметрије, генерисање метрике праћења
  • Интеграција са безбедносном и инфраструктуром за надзор

На нивоу контролне равни:

  • Примена смерница рутирања и балансирања саобраћаја
  • Управљање поновним покушајима и истеком времена, откривање „мртвих“ чворова (прекидање кола), управљање грешкама убризгавања и обезбеђивање отпорности услуге кроз друге механизме
  • Провера аутентичности/ауторизација позива
  • Испуштање метрике (уочљивост)

Спектар корисника заинтересованих за развој ове технологије је веома широк – од малих стартапа до великих интернет корпорација, на пример, ПаиПал.

Зашто је Сервице Месх потребан у корпоративном сектору?

Постоји много јасних предности коришћења сервисне мреже. Пре свега, једноставно је згодно за програмере: за писање кода појављује се технолошка платформа, што значајно поједностављује интеграцију у инфраструктуру облака због чињенице да је транспортни слој потпуно изолован од логике апликације.

Поред тога, Сервице Месх поједностављује однос између добављача и потрошача. Данас је АПИ провајдерима и потрошачима много лакше да се сами договоре око интерфејса и уговора, без укључивања посебног посредника за интеграцију и арбитра – услужну магистралу предузећа. Овакав приступ значајно утиче на два индикатора. Брзина изношења нове функционалности на тржиште (тиме-то-маркет) се повећава, али у исто време расте цена решења, пошто интеграција мора да се врши независно. Коришћење Сервице Месх од стране тимова за развој пословне функционалности помаже у одржавању равнотеже. Као резултат тога, АПИ провајдери могу да се фокусирају искључиво на апликациону компоненту своје услуге и једноставно је објаве у сервисној мрежи - АПИ ће одмах постати доступан свим клијентима, а квалитет интеграције ће бити спреман за производњу и неће захтевати ни једну ред додатног кода.

Следећа предност је то програмер се, користећи Сервице Месх, фокусира искључиво на пословну функционалност — на производ, а не на технолошку компоненту његове услуге. На пример, више не морате да размишљате о томе да у ситуацији када се услуга позива преко мреже, негде може доћи до квара везе. Поред тога, Сервице Месх помаже у балансирању саобраћаја између копија исте услуге: ако једна од копија „умре“, систем ће пребацити сав саобраћај на преостале живе копије.

Сервице Месх - ово је добра основа за креирање дистрибуираних апликација, која скрива од клијента детаље о пружању позива својим сервисима како интерно тако и екстерно. Све апликације које користе Сервице Месх су изоловане на нивоу транспорта и од мреже и једна од друге: не постоји комуникација између њих. У овом случају, програмер добија потпуну контролу над својим услугама.

Мора се напоменути да Ажурирање дистрибуираних апликација у окружењу сервисне мреже постаје лакше. На пример, плава/зелена примена, у којој су два окружења апликација доступна за инсталацију, од којих једно није ажурирано и налази се у режиму приправности. Враћање на претходну верзију у случају неуспешног ослобађања врши посебан рутер, са чијом се улогом Сервице Месх добро носи. Да бисте тестирали нову верзију, можете користити ослобађање канаринца — пређите на нову верзију само 10% саобраћаја или захтева пилот групе клијената. Главни саобраћај иде на стару верзију, ништа се не ломи.

Такође Сервице Месх нам даје СЛА контролу у реалном времену. Дистрибуирани прокси систем неће дозволити да услуга не успе када један од клијената премаши квоту која му је додељена. Ако је пропусност АПИ-ја ограничена, нико неће моћи да је затрпа великим бројем трансакција: Сервице Месх стоји испред сервиса и не дозвољава непотребан саобраћај. Једноставно ће узвратити у интеграционом слоју, а саме услуге ће наставити да раде не примећујући то.

Ако компанија жели да смањи трошкове за развој интеграционих решења, Сервице Месх такође помаже: Можете да пређете на његову верзију отвореног кода са комерцијалних производа. Наш Ентерприсе Сервице Месх је заснован на верзији Сервице Месх отвореног кода.

Још једна предност - доступност јединственог пуног скупа услуга интеграције. Пошто је сва интеграција изграђена преко овог међувера, ми можемо да управљамо свим интеграционим саобраћајем и везама између апликација које чине пословну срж компаније. Веома је удобно.

И коначно Сервице Месх подстиче компанију да пређе на динамичку инфраструктуру. Сада многи гледају ка контејнеризацији. Резање монолита на микросервисе, лепа имплементација свега овога - тема је у успону. Али када покушате да пренесете систем који је био у производњи дуги низ година на нову платформу, одмах се сусрећете са низом проблема: гурнути све у контејнере и применити на платформи није лако. А имплементација, синхронизација и интеракција ових дистрибуираних компоненти је још једна веома сложена тема. Како ће међусобно комуницирати? Да ли ће бити каскадних кварова? Сервице Месх вам омогућава да решите неке од ових проблема и олакшате миграцију са старе архитектуре на нову због чињенице да можете заборавити на логику мрежне размене.

Зашто вам је потребно прилагођавање сервисне мреже?

У нашој компанији коегзистирају стотине система и модула, а време рада је веома оптерећено. Дакле, једноставан образац да један систем позива други и добија одговор није довољан, јер у производњи желимо више. Шта вам још треба од мреже услуга предузећа?

Зашто правимо Ентерприсе Сервице Месх?

Услуга обраде догађаја

Замислимо да треба да направимо обраду догађаја у реалном времену – систем који анализира акције клијента у реалном времену и може му одмах дати релевантну понуду. Да бисте имплементирали сличну функционалност, користите архитектонски образац назван архитектура вођена догађајима (ЕДА). Ниједна од тренутних сервисних мрежа не подржава такве обрасце, али ово је веома важно, посебно за банку!

Прилично је чудно што Ремоте Процедуре Цалл (РПЦ) подржавају све верзије Сервице Месх-а, али оне нису пријатељске са ЕДА. Зато што је Сервице Месх нека врста модерне дистрибуиране интеграције, а ЕДА је веома релевантан архитектонски образац који вам омогућава да радите јединствене ствари у смислу корисничког искуства.

Наш Ентерприсе Сервице Месх би требало да реши овај проблем. Поред тога, желимо да видимо у њему имплементацију загарантоване испоруке, стримовања и сложене обраде догађаја помоћу разних филтера и шаблона.

Услуга преноса датотека

Поред ЕДА, било би лепо имати могућност преноса датотека: на нивоу предузећа, врло често је могућа само интеграција датотека. Конкретно, користи се ЕТЛ (Ектрацт, Трансформ, Лоад) архитектонски образац. У њему, по правилу, сви искључиво размењују датотеке: користе се велики подаци, што је непрактично гурати у одвојеним захтевима. Могућност изворне подршке за пренос датотека у мрежи Ентерприсе Сервице Месх даје вам флексибилност која је потребна вашем пословању.

Служба оркестрације

Велике организације скоро увек имају различите тимове који праве различите производе. На пример, у банци неки тимови раде са депозитима, док други раде са кредитним производима, а таквих случајева има доста. То су различити људи, различити тимови који праве своје производе, развијају своје АПИ-је и пружају их другима. И врло често постоји потреба за састављањем ових сервиса, као и имплементацијом сложене логике за секвенцијално позивање скупа АПИ-ја. Да бисте решили овај проблем, потребно вам је решење у слоју интеграције које ће поједноставити сву ову сложену логику (позивање неколико АПИ-ја, описивање руте захтева, итд.). Ово је услуга оркестрације у мрежи Ентерприсе Сервице Месх.

АИ и МЛ

Када микросервис комуницира преко једног слоја интеграције, Сервице Месх природно зна све о позивима сваке услуге. Прикупљамо телеметрију: ко је кога звао, када, колико дуго, колико пута и тако даље. Када постоје стотине хиљада ових услуга, и милијарде позива, онда се све то акумулира и формира Биг Дата. Ови подаци се могу анализирати коришћењем вештачке интелигенције, машинског учења итд., а затим се могу урадити неке корисне ствари на основу резултата анализе. Било би прикладно да се контрола над свим овим мрежним саобраћајем и позивима апликација интегрисаним у Сервице Месх бар делимично преда вештачкој интелигенцији.

АПИ мрежни пролаз

Типично, Сервице Месх има проксије и сервисе који разговарају једни са другима унутар поузданог периметра. Али постоје и спољне стране. Захтеви за АПИ који су изложени овој групи потрошача су много оштрији. Овај задатак делимо на два главна дела.

  • безбедност. Проблеми везани за ддос, рањивост протокола, апликација, оперативних система итд.
  • Ваге. Када број АПИ-ја који треба да се сервирају клијентима пређе на хиљаде или чак стотине хиљада, постоји потреба за неком врстом алата за управљање овим скупом АПИ-ја. Морате стално да пратите АПИ: да ли раде или не, какав је њихов статус, какав саобраћај тече, која статистика итд. АПИ капија би требало да се носи са овим задатком док цео процес чини управљивим и безбедним. Захваљујући овој компоненти, Ентерприсе Сервице Месх учи да лако објављује интерне и екстерне АПИ-је.

Услуга подршке за одређене протоколе и формате података (АС гатеваи)

Тренутно, већина Сервице Месх решења може да ради нативно само са ХТТП и ХТТП2 саобраћајем или у смањеном режиму на ТЦП/ИП нивоу. Ентерприсе Сервице Месх се појављује са многим другим врло специфичним протоколима за пренос података. Неки системи могу користити посреднике порука, други су интегрисани на нивоу базе података. Ако компанија има САП, онда може да користи и сопствени систем интеграције. Штавише, све ово функционише и важан је део посла.

Не можете само рећи: „Хајде да напустимо наслеђе и направимо нове системе који могу да користе Сервице Месх.“ За повезивање свих старих система са новим (на микросервисној архитектури), системима који могу да користе Сервице Месх биће потребна нека врста адаптера, посредника, мрежног пролаза. Слажем се, било би лепо да дође у кутији заједно са услугом. АЦ гатеваи може подржати било коју опцију интеграције. Само замислите, само инсталирате Ентерприсе Сервице Месх и он је спреман за интеракцију са свим протоколима који су вам потребни. Овај приступ је веома важан за нас.

Овако отприлике замишљамо корпоративну верзију Сервице Месх (Ентерприсе Сервице Месх). Описано прилагођавање решава већину проблема који се јављају приликом покушаја коришћења готових опен-соурце верзија интеграцијске платформе. Уведена пре само неколико година, Сервице Месх архитектура наставља да се развија и ми смо узбуђени што можемо да допринесемо њеном развоју. Надамо се да ће вам наше искуство бити корисно.

Извор: ввв.хабр.цом

Додај коментар