{"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\/da\/blog\/administrirovanie\/chto-takoe-service-mesh","title":{"rendered":"Hvad er Service Mesh?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>Hej igen!.. I takt med at kurset starter <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/UNlX\/\">\u00bbSoftwarearkitekt\u00ab<\/a><\/noindex> har vi forberedt endnu en nyttig overs\u00e6ttelse.<\/i><\/b><\/p>\n<p><img decoding=\"async\" alt=\"Hvad 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 infrastruktur lag med lav latenstid, der er n\u00f8dvendigt for at h\u00e5ndtere et stort volumen af netv\u00e6rks kommunikationer mellem applikationsprogrammeringsgr\u00e6nseflader (API). Service Mesh sikrer hurtig, p\u00e5lidelig og sikker kommunikation mellem containeriserede og ofte kortvarige tjenester i applikationens infrastruktur. Service Mesh tilbyder funktioner som tjenesteopdagelse, belastningsfordeling, kryptering, transparens, sporbarhed, autentifikation og autorisation samt st\u00f8tte til automatisk afbrydelsesm\u00f8nster (<i>circuit breaker<\/i>).<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n Service Mesh implementeres typisk ved at give hver tjenesteinstans en proxyinstans, der kaldes <i>Sidecar. Sidecar<\/i> behandler kommunikationen mellem tjenester, udf\u00f8rer overv\u00e5gning og l\u00f8ser sikkerhedsproblemer, alts\u00e5 alt hvad der kan abstraheres fra individuelle tjenester. P\u00e5 den m\u00e5de kan udviklere skrive, vedligeholde og supportere kode i tjenesterne, mens systemadministratorer kan arbejde med Service Mesh og k\u00f8re applikationen.<\/p>\n<p>Istio fra Google, IBM og Lyft er i \u00f8jeblikket den mest kendte Service Mesh-arkitektur. Kubernetes, som oprindeligt blev udviklet hos Google, er nu det eneste container orkestreringsframework, der underst\u00f8ttes af Istio. Leverand\u00f8rer fors\u00f8ger at skabe kommercielle underst\u00f8ttede versioner af Istio. Det er interessant, hvad de kan bidrage med til dette open source projekt.<\/p>\n<p>Men Istio er ikke den eneste mulighed, da der ogs\u00e5 udvikles andre implementeringer af Service Mesh. M\u00f8nsteret <code>sidecar proxy<\/code> er den mest popul\u00e6re implementering, som man kan bed\u00f8mme ud fra projekterne Buoyant, HashiCorp, Solo.io og andre. Der findes ogs\u00e5 alternative arkitekturer: Netflix's teknologiske v\u00e6rkt\u00f8jss\u00e6t er en tilgang, hvor funktionaliteten af Service Mesh realiseres gennem biblioteker som Ribbon, Hystrix, Eureka, Archaius samt platforme som Azure Service Fabric.<\/p>\n<p>Service Mesh har ogs\u00e5 sin egen terminologi for komponenter, tjenester og funktioner:<\/p>\n<ul>\n<li><b>Container orkestreringsframework<\/b>. Efterh\u00e5nden som der tilf\u00f8jes flere og flere containere til applikationsinfrastrukturen, opst\u00e5r behovet for et separat v\u00e6rkt\u00f8j til overv\u00e5gning og styring af containere \u2013 containerorkestreringsrammen. Kubernetes har taget denne niche, i s\u00e5 h\u00f8j grad at selv dets prim\u00e6re konkurrenter, Docker Swarm og Mesosphere DC\/OS, tilbyder integration med Kubernetes som alternativ.<\/li>\n<li><b>Tjenester og instanser (Kubernetes pods)<\/b>. En instans er en enkelt k\u00f8rende kopi af en mikrotjeneste. Nogle gange er en instans en enkelt container. I Kubernetes best\u00e5r en instans af en lille gruppe uafh\u00e6ngige containere, som kaldes en pod. Klienter henvender sig sj\u00e6ldent direkte til en instans eller pod; oftere retter de henvendelse til en tjeneste, der repr\u00e6senterer et s\u00e6t identiske skalerbare og fejltolerante instanser eller pods (replikaer).<\/li>\n<li><b>Sidecar Proxy<\/b>. Sidecar Proxy arbejder med en enkelt instans eller pod. Form\u00e5let med Sidecar Proxy er at dirigere eller proxy trafikken, der kommer fra den container, som den arbejder med, og den omvendte trafik. Sidecar interagerer med andre Sidecar Proxies og styres af orkestreringsrammen. Mange implementeringer af Service Mesh bruger Sidecar Proxy til at opfange og styre al indg\u00e5ende og udg\u00e5ende trafik fra instancen eller pod'en.<\/li>\n<li><b>Tjenesteopdagelse<\/b>. N\u00e5r en instans skal interagere med en anden tjeneste, skal den finde (opdage) en fungerende og tilg\u00e6ngelig instans af den anden tjeneste. Som regel udf\u00f8rer instansen en s\u00f8gning via DNS. Orkestreringsrammen for containere opbevarer en liste over instanser, der er klar til at modtage foresp\u00f8rgsler, og giver et interface til DNS-foresp\u00f8rgsler.<\/li>\n<li><b>Load Balancing<\/b>. De fleste containerorkestreringsrammer tilbyder belastningsbalancering p\u00e5 niveau 4 (transportniveau). Service Mesh implementerer en mere kompleks belastningsbalancering p\u00e5 niveau 7 (applikationsniveau), som er rig p\u00e5 algoritmer og mere effektiv til trafikstyring. Indstillingerne for belastningsbalancering kan \u00e6ndres via API, hvilket muligg\u00f8r orkestrering af blue-green eller kanariefugleruligheder.<\/li>\n<li><b>Kryptering<\/b>. Service Mesh kan kryptere og dekryptere foresp\u00f8rgsler og svar, hvilket fjerner denne byrde fra tjenesterne. Service Mesh kan ogs\u00e5 forbedre ydeevnen ved at prioritere eller genbruge eksisterende vedvarende forbindelser, hvilket mindsker behovet for dyre beregninger for at oprette nye forbindelser. Den mest udbredte implementering af trafik-kryptering er <i>mutual TLS (mTLS)<\/i>, hvor en infrastruktur til offentlige n\u00f8gler (PKI) genererer og distribuerer certifikater og n\u00f8gler til brug i Sidecar Proxy.<\/li>\n<li><b>Autentificering og autorisering<\/b>. Service Mesh kan godkende og autentificere foresp\u00f8rgsler foretaget udefra eller indefra applikationen ved kun at sende validerede foresp\u00f8rgsler til instanserne.<\/li>\n<li><b>Underst\u00f8ttelse af m\u00f8nsteret for automatisk nedlukning<\/b>. Service Mesh underst\u00f8tter <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/microservices-reference-architecture-nginx-circuit-breaker-pattern\/\">m\u00f8nsteret for automatisk nedlukning<\/a><\/noindex>, som isolerer usunde instanser og derefter gradvist bringer dem tilbage til puljen af sunde instanser efter behov.<\/li>\n<\/ul>\n<p>\nDen del af applikationen Service Mesh, der styrer netv\u00e6rkstrafik mellem instanser, kaldes <i>Data Plane<\/i>. Oprettelse og implementering af konfiguration, der styrer adf\u00e6rden <i>Data Plane<\/i>, udf\u00f8res med hj\u00e6lp fra en separat <i>Control Plane<\/i>. <i>Control Plane<\/i> der typisk inkluderer eller er designet til at tilslutte sig API, CLI eller GUI til at styre applikationen.<\/p>\n<p><img decoding=\"async\" alt=\"Hvad 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 konfigurationen mellem Sidecar Proxy og Data Plane.<\/i><\/p>\n<p>Ofte anvendes arkitekturen for Service Mesh til at l\u00f8se komplekse driftsopgaver ved brug af containere og mikroservices. Pionerer inden for <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/introduction-to-microservices\/\">mikrotjenester<\/a><\/noindex> er virksomheder som Lyft, Netflix og Twitter, som leverer stabilt fungerende tjenester til millioner af brugere verden over. (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/microservices-at-netflix-architectural-best-practices\/\">Her kan du l\u00e6re om nogle af de arkitektoniske udfordringer, som Netflix har st\u00e5et overfor<\/a><\/noindex>). For mindre kr\u00e6vende applikationsopgaver vil det sandsynligvis v\u00e6re tilstr\u00e6kkeligt med mere enkle arkitekturer.<\/p>\n<p>Arkitekturen for Service Mesh vil n\u00e6ppe nogensinde blive svaret p\u00e5 alle sp\u00f8rgsm\u00e5l relateret til applikationers drift og levering. Arkitekter og udviklere har en stor v\u00e6rkt\u00f8jskasse, og kun et af dem er en hammer, der blandt mange opgaver kun skal l\u00f8se \u00e9n \u2013 at sl\u00e5 s\u00f8m. <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 omfatter flere forskellige modeller, der giver et kontinuerligt spektrum af tilgange til at l\u00f8se opgaver ved hj\u00e6lp af mikrotjenester.<\/p>\n<p>Elementer, der samles i Service Mesh-arkitekturen, s\u00e5som NGINX, containere, Kubernetes og mikrotjenester som en arkitektonisk tilgang, kan ogs\u00e5 udnyttes produktivt i implementeringer uden Service Mesh. For eksempel blev Istio udviklet som en fuldt funktionel Service Mesh-arkitektur, men modulariteten g\u00f8r det muligt for udviklere at v\u00e6lge og anvende kun de komponenter, de har brug for. Husk p\u00e5 dette, er det n\u00f8dvendigt at danne en klar forst\u00e5else af konceptet Service Mesh, selvom du ikke er sikker p\u00e5, at du nogensinde vil kunne implementere det fuldt ud i en applikation.<\/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.3 - 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\/da\/blog\/administrirovanie\/chto-takoe-service-mesh\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Hvad er Service Mesh? | ProHoster","description":"Og igen, goddag!..","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/chto-takoe-service-mesh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/85697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=85697"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/85697\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/85698"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=85697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=85697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=85697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}