8 най-добри мениджъри за мрежови услуги за изграждане на модерни приложения

Когато работите с микроуслуги, вашите приложения се състоят от много различни услуги в малък мащаб, които трябва да комуникират, за да функционират заедно като система.

Микроуслугите комуникират помежду си в много случаи директно между отделните услуги, което ги прави неефективни и податливи на провал, но точно тук може да помогне мрежовата мрежа на услугите.

Какво е сервизна мрежа?

Терминът service mesh първоначално описва начин за контролиране на обмена на данни между различни микроуслуги на приложение. По-конкретно, става дума за използване на софтуер, който позволява комуникацията между микроуслуги:

  • Идентификация на приложението
  • Балансиране на натоварването
  • Удостоверяване
  • Шифроване

Мрежова мрежа от взаимосвързани микроуслуги се създава от паралелни връзки, които се изпълняват чрез техните проксита. За тази цел мрежа от мрежови микроуслуги е интегрирана в система за управление на мрежи от по-високо ниво на център за данни. Тогава е по-лесно да се оптимизират комуникациите, без да се налага престой по време на еволюцията на приложението. В действителност всяка услуга за приложение се нуждае от други услуги, за да отговори на нуждите на потребителите.

Например, с приложение за онлайн продажби, преди всяка покупка, потребителят ще разбере дали съответният артикул наистина е наличен. За целта трябва да се установи комуникация между услугата по отношение на базата данни и уеб страницата на продукта. След това последният трябва да комуникира с онлайн пазарската количка на потребителя.

В допълнение дистрибуторът може да създаде услуга за предлагане на продукт в приложението, за да насочва по-добре потребителите. В този случай тази нова услуга трябва да обменя не само с база данни от продуктови етикети, за да издаде предложенията, но и с базата данни за инвентара, която трябва да комуникира предварително със страницата на продукта. Всъщност това е набор от продукти за многократна употреба.

  Как да заглушите известията в iPhone

Съвременните приложения обикновено се настройват по този начин като мрежа от услуги, чиято цел е да изпълняват специфична бизнес функция.

Как работи сервизната мрежа и какви са нейните предимства?

Трябва да се отбележи, че Service Mesh не създава други функционалности в работната среда на дадено приложение. Мрежата на услугата, създадена в приложение, е под формата на група от мрежови проксита, което остава познато понятие в корпоративния компютърен сектор.

Вероятно използвате проксита всеки път, когато посещавате уеб страници с помощта на служебен компютър. Проксита, базирани на инфраструктурния слой на микроуслугите, помагат за маршрутизирането на заявки между тях. Оттук и думата „кош” обозначава прокси сървърите, съдържащи се в мрежа на услугата, и това е така, защото тяхното изпълнение се извършва до услугите, а не вътре в тях. Прокситата „sidecar“ на различните услуги установяват мрежова мрежа.

Освен това, при липса на мрежова мрежа на услугата, разработчиците се оказват, че трябва да кодират всяка микроуслуга според комуникационната стратегия между услугите. Тъй като комуникационната логика между отделите е скрита във всеки отдел, разработчиците се борят да постигнат целите на компанията.

Освен това те са подложени на трудности по време на диагностицирането на комуникационни проблеми. И накрая, мрежата от услуги дава възможност да се намерят решения на някои от проблемите, свързани с управлението на комуникацията между услугите.

С мрежовата мрежа на услугата можете да автоматизирате тази комуникация, тъй като необходимите данни и прозрения са лесно достъпни в изнесената инфраструктура на мрежовата мрежа. Това улеснява локализирането и отстраняването на всякакви проблеми и неизправности. Освен това, той позволява на ИТ отделите на компанията да бъдат облекчени и да се посветят на други задачи с добавена стойност.

  Как интернет уби Първи април (и защо трябва да спре)

Поради абстракцията на комуникацията неуспешните услуги също могат да бъдат заобиколени автоматично и не нарушават обмена на данни на функциониращи части на приложението. Лесно достъпните данни на сервизната мрежова система също могат лесно да бъдат анализирани и по този начин да позволят оперативно подобрение и повишаване на производителността на приложението.

Разгледахме как работи сервизната мрежа; сега, нека да разгледаме някои от най-добрите мениджъри на мрежи за услуги:

Мешери

Мешери е мениджър на мрежови услуги, който ви позволява да стартирате различни мрежови решения за услуги. Може да се внедри на Kubernetes и Docker. Mastery предоставя потребителски интерфейс и CLI, за да постави еталон за всички основни решения за мрежови услуги, включително Linkerd и Istio. Meshery може да се внедри директно в клъстера или локално.

Amazon App Mesh

AWS App Mesh е мрежова мрежова услуга за платформата Kubernetes (EKS) на Amazon. Той осигурява управление на ниво приложение чрез прокси сървър на envoy sidecar за входящ и изходящ трафик и използва прекъсване на веригата, за да осигури показатели за видимост с помощта на AWS X-Ray. AWS app mesh може също да се използва заедно с други услуги като Amazon EC2 и AWS Fargate.

Linkerd

Linkerd е мрежов мениджър с отворен код, който използва базиран на Rust персонализиран прокси за управление на микроуслуги. Той идва с предварително инсталиран Grafana, за да осигури показатели за видимост. Linkerd, за разлика от други мениджъри на мрежи с отворен код, предлага GUI и не само поддържа Prometheus, но също така поддържа входни контролери като Traefik, Kong и Gloo. Linkerd също така поддържа автоматично надграждане на внедряване в клъстери.

Istio

Istio е мрежова услуга с отворен код, която използва прокси Envoy за управление на микроуслуги. Istio предлага няколко функции като балансиране на натоварването, създаване на политика, маршрутизиране на трафика, изчакване, прекъсване на веригата, пренасочване на трафика и повторни опити. ‌Istio също така предоставя функционалност за разпределено проследяване в контейнери или машини, без да се изисква инсталиране на допълнителен софтуер.

  Как да синхронизирате възпроизвеждане на видео в Netflix, когато гледате с приятели

Кума

Кума е сервизна мрежа, създадена от Kong, която се използва за разширяване на работата на съществуващи услуги чрез Envoy proxy. Kuma поддържа различни микроуслуги и осигурява подобрена сигурност и наблюдение за мрежите. Той идва с редица предварително пакетирани политики за маршрутизиране, mTLS, контрол на трафика и различни функции за сигурност. С Kuma можете лесно да контролирате различни изолирани мрежи чрез една равнина за управление и данни.

Nginx Mesh

Nginx е сервизна мрежа за Kubernetes, която криптира трафика между контейнери, използвайки равнината на данни, захранвана от Nginx Plus. Nginx използва ограничаване на скоростта и прекъсвачи за управление на трафика между услугите и се предлага с табло за управление на Grafana за наблюдение на показателите на мрежата на услугата.

консул

консул от HashiCorp е сервизна мрежа, която предоставя вграден прокси слой и също така поддържа проксито Envoy sidecar. Той предлага базирано на пътя маршрутизиране, пренасочване на трафика и балансиране на натоварването. Consul е интегриран с HashiCorp Vault и също така поддържа mTLS. Може да се интегрира с Prometheus и Grafana за преглед на показателите за наблюдаемост.

Gloo Mesh

Gloo Mesh е мрежа за услуги, изградена върху мрежата на Istio и използва прокси Envoy, което ви позволява да внедрите модел за сигурност с нулево доверие. Gloo поддържа Kubernetes, виртуални машини и други микроуслуги с множество наематели. Удобен е както за CI/CD, така и за GitOps, което прави внедряването по-лесно.

Заключителни думи

Service mesh решава комуникационния проблем между различни микроуслуги и осигурява различни ползи за сигурността; въпреки това, поради стотици различни мрежести решения, налични на пазара, става важно да изберете мрежова услуга, която отговаря най-добре на вашите изисквания и е лесна за управление.