{"id":85697,"date":"2020-06-18T13:42:52","date_gmt":"2020-06-18T11:42:52","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/chto-takoe-service-mesh"},"modified":"2020-06-18T13:42:52","modified_gmt":"2020-06-18T11:42:52","slug":"chto-takoe-service-mesh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/chto-takoe-service-mesh","title":{"rendered":"Hva er Service Mesh?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>Hei igjen!.. I forkant av kursstarten <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/UNlX\/\">\u00abProgramvarearkitekt\u00bb<\/a><\/noindex> har vi forberedt en nyttig oversettelse.<\/i><\/b><\/p>\n<p><img decoding=\"async\" alt=\"Hva er Service Mesh?\" src=\"\/wp-content\/uploads\/2020\/06\/afc53e48443ce4a402b6b1cba1184e6c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n Service Mesh er et konfigurerbart infrastrukturlag med lav forsinkelse, som er n\u00f8dvendig for \u00e5 h\u00e5ndtere store mengder nettverksprosesskommunikasjon mellom programvaregrensesnittene (API). Service Mesh sikrer rask, p\u00e5litelig og sikker kommunikasjon mellom containeriserte og ofte flyktige tjenester i programvareinfrastrukturen. Service Mesh tilbyr funksjoner som tjenesteoppdagelse, lastbalansering, kryptering, gjennomsiktighet, sporing, autentisering og autorisasjon, samt st\u00f8tte for m\u00f8nsteret for automatisk avstengning (<i>circuit breaker<\/i>).<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n Service Mesh implementeres vanligvis ved \u00e5 gi hver tjenesteinstans en proxy-instans, som kalles <i>Sidecar. Sidecar<\/i> h\u00e5ndterer kommunikasjonen mellom tjenestene, overv\u00e5ker og l\u00f8ser sikkerhetsproblemer, det vil si alt som kan abstrakteres fra de enkelte tjenestene. Dermed kan utviklere skrive, vedlikeholde og betjene applikasjonskode i tjenestene, mens systemadministratorer kan arbeide med Service Mesh og kj\u00f8re applikasjonen.<\/p>\n<p>Istio fra Google, IBM og Lyft er for tiden den mest kjente Service Mesh-arkitekturen. Kubernetes, som opprinnelig ble utviklet av Google, er n\u00e5 den eneste rammeverket for orkestrering av containere som st\u00f8ttes av Istio. Leverand\u00f8rer pr\u00f8ver \u00e5 lage kommersielt st\u00f8ttede versjoner av Istio. Det er interessant hva nytt de vil kunne bidra med til prosjektet med \u00e5pen kildekode.<\/p>\n<p>Imidlertid er ikke Istio det eneste alternativet, ettersom andre implementeringer av Service Mesh ogs\u00e5 utvikles. M\u00f8nsteret for <code>sidecar proxy<\/code> er den mest popul\u00e6re implementeringen, ut fra prosjektene til Buoyant, HashiCorp, Solo.io og andre. Det finnes ogs\u00e5 alternative arkitekturer: Netflix-teknologiverkt\u00f8y er en av tiln\u00e6rmingene, hvor funksjonaliteten til Service Mesh implementeres ved hjelp av bibliotekene Ribbon, Hysterix, Eureka, Archaius, samt plattformer som Azure Service Fabric.<\/p>\n<p>Service Mesh har ogs\u00e5 sitt eget terminologi for komponenter, tjenester og funksjoner:<\/p>\n<ul>\n<li><b>Rammeverk for orkestrering av containere<\/b>. Etter hvert som flere og flere containere legges til infrastruktur for applikasjoner, oppst\u00e5r det et behov for et eget verkt\u00f8y for overv\u00e5kning og administrasjon av containere - et rammeverk for orkestrering av containere. Kubernetes har tett inntatt denne nisjen, s\u00e5 mye at selv hovedkonkurrentene Docker Swarm og Mesosphere DC\/OS tilbyr integrasjon med Kubernetes som et alternativ.<\/li>\n<li><b>Tjenester og instanser (Kubernetes-poder)<\/b>. En instans er en enkelt kj\u00f8rende kopi av mikrotjenesten. Noen ganger er en instans en enkelt container. I Kubernetes best\u00e5r en instans av en liten gruppe uavhengige containere som kalles en pod. Klientene henvender seg sjelden direkte til en instans eller pod, de g\u00e5r oftere til en tjeneste som representerer et sett med identiske, skalerbare og feiltolerante instanser eller podder (replikater).<\/li>\n<li><b>Sidecar Proxy<\/b>. Sidecar Proxy arbeider med \u00e9n instans eller pod. Poenget med Sidecar Proxy er \u00e5 dirigere eller proxy trafikken som kommer fra containeren som den jobber med, samt tilbaketrafikken. Sidecar interagerer med andre Sidecar Proxy-er og styres av orkestreringsrammeverket. Mange implementeringer av Service Mesh bruker Sidecar Proxy for \u00e5 fange og styre all innkommende og utg\u00e5ende trafikk fra instansen eller poden.<\/li>\n<li><b>Tjenesteoppdagelse<\/b>. N\u00e5r en instans trenger \u00e5 interagere med en annen tjeneste, m\u00e5 den finne (oppdage) en fungerende og tilgjengelig instans av den andre tjenesten. Som regel utf\u00f8rer instansen et DNS-s\u00f8k. Orkestreringsrammeverket for containere lagrer en liste over instanser som er klare til \u00e5 motta foresp\u00f8rselen, og gir et grensesnitt for DNS-foresp\u00f8rselen.<\/li>\n<li><b>Lastbalancering<\/b>. De fleste rammeverk for orkestrering av containere tilbyr lastbalansering p\u00e5 lag 4 (transportlag). Service Mesh implementerer mer kompleks lastbalansering p\u00e5 lag 7 (applikasjonslag), med rike algoritmer og mer effektiv trafikkadministrasjon. Lastbalanseringsparametrene kan justeres med API-er, noe som muliggj\u00f8r orkestrering av bl\u00e5-gr\u00f8nn eller kanarifugledistribusjon.<\/li>\n<li><b>Kryptering<\/b>. Service Mesh kan kryptere og dekryptere foresp\u00f8rslene og svarene, og dermed fjerne denne byrden fra tjenestene. Service Mesh kan ogs\u00e5 \u00f8ke ytelsen ved \u00e5 prioritere eller gjenbruke eksisterende vedvarende forbindelser, noe som reduserer behovet for dyre beregninger for \u00e5 opprette nye forbindelser. Den mest utbredte implementeringen av kryptering av trafikk er <i>mutual TLS (mTLS)<\/i>, hvor infrastruktur for offentlig n\u00f8kkel (PKI) genererer og distribuerer sertifikater og n\u00f8kler til bruk i Sidecar Proxy.<\/li>\n<li><b>Autentisering og autorisasjon<\/b>. Service Mesh kan autorisere og autentisere foresp\u00f8rslene som er gjort fra utsiden eller innsiden av applikasjonen, og sende bare validerte foresp\u00f8rsler til instansene.<\/li>\n<li><b>St\u00f8tte for automatisk nedstengningsmal<\/b>. Service Mesh st\u00f8tter <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/microservices-reference-architecture-nginx-circuit-breaker-pattern\/\">automatisk nedstengningsmal<\/a><\/noindex>, som isolerer usunne instanser, og deretter gradvis returnerer dem til bunken av sunne instanser etter behov.<\/li>\n<\/ul>\n<p>\nDen delen av applikasjonen Service Mesh som h\u00e5ndterer nettverkstrafikken mellom instanser kalles <i>Data Plane<\/i>. Opprettelse og distribusjon av konfigurasjon som styrer atferden <i>Data Plane<\/i>, utf\u00f8res med hjelp av en egen <i>Control Plane<\/i>. <i>Control Plane<\/i> som vanligvis inkluderer eller er utformet for \u00e5 koble seg til API, CLI eller GUI for \u00e5 administrere applikasjonen.<\/p>\n<p><img decoding=\"async\" alt=\"Hva er Service Mesh?\" src=\"\/wp-content\/uploads\/2020\/06\/130fe71904f72a76dfe8e8dbc405e498.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Control Plane i Service Mesh distribuerer konfigurasjonen mellom Sidecar Proxy og Data Plane.<\/i><\/p>\n<p>Ofte brukes arkitekturen til Service Mesh for \u00e5 l\u00f8se komplekse operasjonelle oppgaver ved bruk av containere og mikrotjenester. Pionerer innen <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/introduction-to-microservices\/\">mikrotjenester<\/a><\/noindex> er selskaper som Lyft, Netflix og Twitter, som leverer stabilt fungerende tjenester til millioner av brukere over hele verden. (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/microservices-at-netflix-architectural-best-practices\/\">Her kan du bli kjent med en detaljert beskrivelse av noen arkitektoniske utfordringer som Netflix har m\u00f8tt<\/a><\/noindex>). For mindre krevende applikasjonsoppgaver vil sannsynligvis enklere arkitekturer v\u00e6re tilstrekkelig.<\/p>\n<p>Arkitekturen til Service Mesh vil neppe noen gang bli svaret p\u00e5 alle sp\u00f8rsm\u00e5l knyttet til applikasjonsdrift og levering. Arkitekter og utviklere har et enormt arsenal av verkt\u00f8y, og kun ett av dem er hammeren, som blant mange oppgaver kun skal l\u00f8se \u00e9n \u2013 \u00e5 sl\u00e5 spikre. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/introducing-the-nginx-microservices-reference-architecture\/\">Microservices Reference Architecture fra NGINX<\/a><\/noindex>, for eksempel, inkluderer flere forskjellige modeller som gir et kontinuerlig spekter av tiln\u00e6rminger til \u00e5 l\u00f8se problemer med mikrotjenester.<\/p>\n<p>Elementene som samles i Service Mesh-arkitekturen, som NGINX, containere, Kubernetes og mikrotjenester som en arkitektonisk tiln\u00e6rming, kan ogs\u00e5 brukes produktivt i implementeringer uten Service Mesh. For eksempel ble Istio utviklet som en fullverdig Service Mesh-arkitektur, men modulisering antyder at utviklere kan velge og bruke bare de n\u00f8dvendige teknologikomponentene. N\u00e5r vi husker dette, er det viktig \u00e5 utvikle en klar forst\u00e5else av konseptet Service Mesh, selv om du ikke er sikker p\u00e5 om du noen gang vil kunne implementere det fullt ut i applikasjonen.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/UNlX\/\">Modul\u00e6re monolitter og DDD<\/a><\/noindex><\/p>\n<p>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/506916\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!.. \u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043a\u0443\u0440\u0441\u0430 \u00ab\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u041f\u041e\u00bb \u043c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434. Service Mesh \u2013 \u044d\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0441 \u043d\u0438\u0437\u043a\u043e\u0439 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043c\u0435\u0436\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (API). Service Mesh \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0443\u044e, \u043d\u0430\u0434\u0451\u0436\u043d\u0443\u044e \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044e \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0438 \u0447\u0430\u0441\u0442\u043e \u044d\u0444\u0435\u043c\u0435\u0440\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":85698,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-85697","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!..\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/chto-takoe-service-mesh\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Service Mesh? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!..\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/chto-takoe-service-mesh\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-18T11:42:52+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-18T11:42:52+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Hva er Service Mesh? | ProHoster","description":"Og igjen, hei!..","canonical_url":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/chto-takoe-service-mesh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Service Mesh? | ProHoster","og:description":"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!..","og:url":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/chto-takoe-service-mesh","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-18T11:42:52+00:00","article:modified_time":"2020-06-18T11:42:52+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"85697","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:32:46","updated":"2022-09-28 09:55:06","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/85697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=85697"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/85697\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media\/85698"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=85697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=85697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=85697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}