Jirgin data ragamar sabis vs. jirgin sarrafawa

Hello, Habr! Ina gabatar muku da fassarar labarin "Service mesh data jirgin vs control jirgin" marubuci Matt Klein.

Jirgin data ragamar sabis vs. jirgin sarrafawa

A wannan lokacin, na "so kuma na fassara" bayanin duka sassan layin sabis, jirgin sama da jirgin sama mai sarrafawa. Wannan bayanin ya zama kamar a gare ni mafi fahimta da ban sha'awa, kuma mafi mahimmanci yana haifar da fahimtar "Shin ya zama dole?"

Kamar yadda ra'ayin "Mesh Sabis" ya zama sananne a cikin shekaru biyu da suka gabata (Asali na labarin Oktoba 10, 2017) kuma yawan mahalarta a cikin sararin samaniya ya karu, na ga karuwa mai yawa a cikin rudani a tsakanin duka. tech al'umma game da yadda ake kwatanta da bambanta mafita daban-daban.

An fi taƙaita halin da ake ciki ta jerin jerin tweets masu zuwa da na rubuta a cikin Yuli:

Ruɗin layin sabis #1: Linkerd ~ = Nginx ~ = Haproxy ~ = Manzo. Babu ɗayansu da ya kai Istio. Istio wani abu ne gaba daya daban. 1 /

Na farko dai jirage masu saukar ungulu ne kawai. Da kansu ba sa yin komai. Dole ne su kasance cikin yanayi don ƙarin wani abu. 2/

Istio misali ne na jirgin sama mai sarrafawa wanda ke haɗa sassan tare. Wannan wani Layer ne. /karshe

Tweets ɗin da suka gabata sun ambaci ayyuka daban-daban (Linkerd, NGINX, HAProxy, Manzo, da Istio), amma mafi mahimmanci gabatar da mahimman ra'ayoyin jirgin sama, layin sabis, da jirgin sarrafawa. A cikin wannan sakon, zan sake komawa baya kuma in yi magana game da abin da nake nufi da kalmomin "jirgin sama" da "jirgin sama" a matsayi mai girma, sannan in yi magana game da yadda sharuɗɗan suka shafi ayyukan da aka ambata a cikin tweets.

Menene layin sabis, da gaske?

Jirgin data ragamar sabis vs. jirgin sarrafawa
Hoto 1: Bayanin layin sabis

1 zane yana kwatanta manufar layin sabis a mafi girman matakin sa. Akwai gungu na sabis guda huɗu (AD). Kowane misalin sabis yana da alaƙa da uwar garken wakili na gida. Duk zirga-zirgar hanyar sadarwa (HTTP, REST, gRPC, Redis, da sauransu) daga misalin aikace-aikacen guda ɗaya ana wuce su ta hanyar wakili na gida zuwa gungu na sabis na waje da suka dace. Ta wannan hanyar, misalin aikace-aikacen bai san cibiyar sadarwar gaba ɗaya ba kuma yana sane da wakili na gida kawai. A tasiri, an cire hanyar sadarwar tsarin da aka rarraba daga sabis ɗin.

Jirgin bayanai

A cikin ragamar sabis, uwar garken wakili dake cikin gida don aikace-aikacen yana yin ayyuka masu zuwa:

  • Gano sabis. Wadanne ayyuka/ aikace-aikace ke samuwa don aikace-aikacen ku?
  • Duba lafiya. Shin misalan sabis ɗin sun dawo ta hanyar binciken sabis lafiya kuma a shirye suke don karɓar zirga-zirgar hanyar sadarwa? Wannan na iya haɗawa da duka masu aiki (misali amsawa/binciken lafiya) da m (misali ta yin amfani da kurakuran 3xx guda 5 a jere a matsayin alamar yanayin sabis mara lafiya) duban lafiya.
  • Hanyar hanya. Lokacin karɓar buƙatun zuwa "/foo" daga sabis na REST, wane gungu sabis ya kamata a aika da buƙatar?
  • Daidaita kaya. Da zarar an zaɓi gungu na sabis yayin tuƙi, zuwa wane misali sabis ya kamata a aika da buƙatar? Tare da wane lokaci ya ƙare? Da wanne saitunan da'ira? Idan bukatar ta gaza, ya kamata a sake gwadawa?
  • Tabbatarwa da izini. Don buƙatun masu shigowa, shin za a iya gano sabis ɗin kira ta hanyar ɓoye/ba da izini ta amfani da mTLS ko wata hanyar daban? Idan an gane/an ba da izini, ana ba da izinin kiran aikin da aka nema (madaidaicin ƙarshen) akan sabis ɗin ko ya kamata a mayar da martani mara inganci?
  • Abun gani. Ya kamata a samar da cikakkun ƙididdiga, rajistan ayyukan / rajistan ayyukan, da kuma rarraba bayanan ganowa don kowane buƙatu don masu aiki su iya fahimtar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar ababen hawa da warware batutuwa yayin da suka taso.

Jirgin bayanan yana da alhakin duk abubuwan da suka gabata a cikin ragamar sabis. A zahiri, wakili na gida zuwa sabis (sidecar) shine jirgin bayanai. A wasu kalmomi, jirgin bayanan yana da alhakin watsawa, turawa, da sa ido kan kowane fakitin hanyar sadarwa da aka aika zuwa ko daga sabis.

Jirgin sarrafawa

Abstraction na cibiyar sadarwa wanda wakili na gida ke bayarwa a cikin jirgin bayanan sihiri ne(?). Koyaya, ta yaya ainihin wakili ya san game da hanyar "/foo" zuwa sabis B? Ta yaya za a iya amfani da bayanan gano sabis ɗin da ke tattare da buƙatun wakili? Ta yaya ake daidaita sigogi don daidaita nauyi, ƙarewar lokaci, watsewar kewaye, da sauransu? Ta yaya kuke tura aikace-aikacen ta amfani da hanyar shuɗi/kore ko kuma kyakkyawar hanyar miƙa mulki? Wanene ke saita saitunan ingantaccen tsarin da izini?

Duk abubuwan da ke sama suna ƙarƙashin ikon jirgin sama mai kula da layin sabis. Jirgin sarrafawa yana ɗaukar saitin keɓantattun wakilai marasa ƙasa kuma ya mai da su tsarin rarrabawa.

Ina tsammanin dalilin da ya sa yawancin masana fasaha ke samun ra'ayi daban-daban na bayanan jirgin sama da kuma kula da jirgin yana da rudani shine saboda yawancin mutane jirgin bayanan ya saba yayin da jirgin sama na waje / rashin fahimta. Mun daɗe muna aiki tare da masu amfani da hanyar sadarwa ta jiki da masu sauyawa. Mun fahimci cewa fakiti / buƙatun suna buƙatar tafiya daga aya A zuwa aya B kuma muna iya amfani da hardware da software don yin wannan. Sabbin tsararrun masarrafan software nau'ikan kayan aikin da muke amfani da su na dogon lokaci ne kawai.

Jirgin data ragamar sabis vs. jirgin sarrafawa
Hoto 2: Jirgin sarrafa ɗan adam

Koyaya, mun daɗe muna amfani da jirage masu sarrafawa, kodayake yawancin masu gudanar da hanyar sadarwa na iya danganta wannan ɓangaren tsarin da kowane ɓangaren fasaha. Dalilin yana da sauki:
Yawancin jiragen da ake sarrafawa a yau sune ... mu.

a kan Hoto 2 yana nuna abin da na kira "jirgin sarrafa ɗan adam." A cikin wannan nau'in turawa, wanda har yanzu ya zama ruwan dare gama gari, mai yiwuwa ma'aikacin ɗan adam mai ban haushi ya ƙirƙiri saiti - mai yuwuwa ta hanyar rubutun - kuma yana tura su ta hanyar wasu matakai na musamman ga duk wakilai. Wakilan sai su fara amfani da wannan tsarin sai su fara sarrafa jirgin ta hanyar amfani da saitunan da aka sabunta.

Jirgin data ragamar sabis vs. jirgin sarrafawa
Hoto 3: Babban jirgin kula da ragamar sabis

a kan Hoto 3 yana nuna jirgin sama mai kula da "extended" na layin sabis. Ya ƙunshi sassa kamar haka:

  • Dan Adam: Har yanzu akwai mutum (da fatan ya rage fushi) wanda ya yanke shawara mai girma game da tsarin gaba ɗaya.
  • Sarrafa jirgin sama UI: Mutum yana hulɗa da wani nau'i na mai amfani don sarrafa tsarin. Wannan na iya zama tashar yanar gizo, aikace-aikacen layin umarni (CLI), ko wani abu dabam. Yin amfani da mahallin mai amfani, mai aiki yana samun dama ga irin waɗannan sigogin tsarin tsarin duniya kamar:
    • Ikon turawa, shuɗi/kore da/ko canjin zirga-zirga a hankali
    • Tabbatarwa da Zaɓuɓɓukan izini
    • Takaddun bayanai na tebur, misali lokacin da aikace-aikacen A yana buƙatar bayani game da "/foo" abin da ke faruwa
    • Load saitunan ma'auni, kamar ƙarewar lokaci, sakewa, saitunan warwarewa, da sauransu.
  • Mai tsara kayan aiki: Ana gudanar da ayyuka akan ababen more rayuwa ta hanyar wasu nau'ikan tsarin tsarawa/kira, kamar Kubernetes ko Nomad. Mai tsara jadawalin yana da alhakin loda sabis ɗin tare da wakili na gida.
  • Gano sabis. Lokacin da mai tsara jadawalin ya fara da dakatar da misalan sabis, yana ba da rahoton halin lafiya ga tsarin gano sabis.
  • APIs ɗin saitin wakili na Sidecar : Wakilai na gida suna zazzage yanayi daga sassa daban-daban na tsarin ta amfani da ingantaccen tsari na ƙarshe ba tare da sa hannun mai aiki ba. Gabaɗayan tsarin, wanda ya ƙunshi duk misalan sabis ɗin da ke gudana a halin yanzu da sabar wakili na gida, a ƙarshe yana haɗuwa zuwa yanayin muhalli ɗaya. API ɗin jirgin sama na duniya na Manzo shine misali ɗaya na yadda wannan ke aiki a aikace.

Ainihin, makasudin jirgin mai sarrafa shi shine saita manufofin da jirgin zai karbe daga karshe. Ƙarin ingantattun jiragen sama masu sarrafawa za su cire ƙarin sassa na wasu tsarin daga ma'aikacin kuma suna buƙatar ƙarancin aikin hannu, muddin sun yi aiki daidai!...

Jirgin bayanai da jirgin sarrafawa. Takaitaccen bayanin jirgin sama vs. sarrafa jirgin sama

  • Jirgin data ragargaje sabis: Yana shafar kowane fakiti / buƙatu a cikin tsarin. Mai alhakin gano aikace-aikacen/sabis, duba lafiya, tuƙi, daidaita nauyi, tantancewa/bayani da lura.
  • Jirgin sarrafa ragar sabis: Yana ba da tsari da tsari don duk jiragen sama masu gudana a cikin hanyar sadarwar sabis. Baya taɓa kowane fakiti/buƙatun akan tsarin. Jirgin sarrafawa yana juya duk jiragen sama na bayanai zuwa tsarin rarrabawa.

Yanayin aikin na yanzu

Bayan fahimtar bayanin da ke sama, bari mu kalli yanayin aikin layin sabis na yanzu.

  • Jiragen data: Linkerd, NGINX, HAProxy, Manzo, Traefik
  • Sarrafa jiragen sama: Istio, Nelson, SmartStack

Maimakon in shiga zurfafa bincike kan kowanne daga cikin hanyoyin da aka bayar a sama, zan yi bayani a taƙaice wasu batutuwan da na yi imani suna haifar da ruɗani da yawa a cikin muhalli a yanzu.

Linkerd ya kasance ɗaya daga cikin sabar wakili na jirgin sama na farko don layin sabis a farkon 2016 kuma ya yi kyakkyawan aiki na wayar da kan jama'a da kulawa ga ƙirar ƙirar layin sabis. Kusan watanni 6 bayan haka, Wakilin ya shiga Linkerd (ko da yake yana tare da Lyft tun daga ƙarshen 2015). Linkerd da Manzo su ne ayyuka guda biyu waɗanda aka fi yawan ambaton su lokacin da ake tattaunawa kan layin sabis.

An sanar da Istio a watan Mayu 2017. Makasudin aikin Istio sun yi kama da na tsawaita jirgin da aka nuna a ciki Hoto 3. Wakili na Istio shine tsohuwar wakili. Don haka, Istio shine mai sarrafa jirgin, kuma Manzo shine jirgin data. A cikin ɗan gajeren lokaci, Istio ya haifar da farin ciki mai yawa, kuma wasu jiragen bayanai sun fara haɗawa a matsayin maye gurbin Manzo (duka Linkerd da NGINX sun nuna haɗin kai tare da Istio). Kasancewar ana iya amfani da jiragen bayanai daban-daban a cikin jirgin sarrafawa iri ɗaya yana nufin cewa ba lallai ba ne a haɗa jirgin da ke sarrafa bayanai. API kamar jirgin sama na jigilar bayanai na Envoy na iya samar da gada tsakanin sassa biyu na tsarin.

Nelson da SmartStack suna taimakawa kara misalta rarrabuwar jirgin sama mai sarrafawa da jirgin bayanai. Nelson yana amfani da Manzo a matsayin wakilinsa kuma ya gina ingantaccen jirgin sama mai sarrafawa don layin sabis dangane da tarin HashiCorp, watau. Nomad, da sauransu. SmartStack watakila shine farkon sabon guguwar sabis. SmartStack yana gina jirgin sama mai sarrafawa a kusa da HAProxy ko NGINX, yana nuna ikon ƙaddamar da jirgin sama mai sarrafawa daga layin sabis daga jirgin bayanai.

Gine-gine na Microservice tare da ragamar sabis yana samun ƙarin kulawa (daidai!), Kuma ƙarin ayyuka da masu sayarwa suna fara aiki a wannan hanya. A cikin 'yan shekaru masu zuwa za mu ga abubuwa da yawa a cikin jirgin sama na bayanai da kuma na'ura mai sarrafawa, da kuma kara cakude abubuwa daban-daban. Daga ƙarshe, ƙirar microservice ya kamata ya zama mai haske da sihiri (?) ga mai aiki.
Da fatan an rage fushi.

Mabuɗin ɗaukar hoto

  • Rukunin sabis ya ƙunshi sassa daban-daban guda biyu: jirgin bayanai da jirgin sarrafawa. Ana buƙatar duka sassan biyu, kuma ba tare da su tsarin ba zai yi aiki ba.
  • Kowane mutum ya saba da jirgin sama mai sarrafawa, kuma a wannan lokacin, jirgin sama mai sarrafawa zai iya zama ku!
  • Duk jiragen bayanai suna gasa da juna akan fasali, aiki, daidaitawa, da haɓakawa.
  • Duk jiragen sama masu sarrafawa suna gasa da juna a cikin fasali, daidaitawa, haɓakawa, da sauƙin amfani.
  • Jirgin sarrafawa ɗaya zai iya ƙunsar daidaitattun abstractions da APIs domin a iya amfani da jiragen bayanai da yawa.

source: www.habr.com

Add a comment