{"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\/es\/blog\/administrirovanie\/chto-takoe-service-mesh","title":{"rendered":"\u00bfQu\u00e9 es un Service Mesh?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>\u00a1Hola de nuevo!.. Con el inicio del curso a la vista <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/UNlX\/\">\u00abArquitecto de Software\u00bb<\/a><\/noindex> hemos preparado otra traducci\u00f3n \u00fatil.<\/i><\/b><\/p>\n<p><img decoding=\"async\" alt=\"\u00bfQu\u00e9 es un Service Mesh?\" src=\"\/wp-content\/uploads\/2020\/06\/afc53e48443ce4a402b6b1cba1184e6c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n Service Mesh es una capa de infraestructura configurable con baja latencia, necesaria para manejar un alto volumen de comunicaciones inter-procesos de red entre las interfaces de programaci\u00f3n de aplicaciones (API). Service Mesh asegura una comunicaci\u00f3n r\u00e1pida, confiable y segura entre servicios en contenedores que suelen ser ef\u00edmeros en la infraestructura de aplicaciones. Service Mesh ofrece capacidades como descubrimiento de servicios, balanceo de carga, cifrado, transparencia, trazabilidad, autenticaci\u00f3n y autorizaci\u00f3n, as\u00ed como soporte para el patr\u00f3n de interrupci\u00f3n autom\u00e1tica (<i>circuit breaker<\/i>).<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n Service Mesh generalmente se implementa proporcionando a cada instancia de servicio una instancia de proxy llamada <i>Sidecar. Sidecar<\/i> manejan las comunicaciones entre servicios, realizan monitoreo y resuelven problemas de seguridad, es decir, todo lo que puede ser abstra\u00eddo de servicios individuales. De este modo, los desarrolladores pueden escribir, mantener y operar el c\u00f3digo de la aplicaci\u00f3n en los servicios, mientras que los administradores del sistema pueden trabajar con el Service Mesh y ejecutar la aplicaci\u00f3n.<\/p>\n<p>Istio de Google, IBM y Lyft, es actualmente la arquitectura de Service Mesh m\u00e1s conocida. Kubernetes, que fue desarrollado inicialmente en Google, es ahora el \u00fanico marco de orquestaci\u00f3n de contenedores compatible con Istio. Los proveedores est\u00e1n tratando de crear versiones comerciales soportadas de Istio. Es interesante ver qu\u00e9 novedades podr\u00e1n aportar al proyecto de c\u00f3digo abierto.<\/p>\n<p>Sin embargo, Istio no es la \u00fanica opci\u00f3n, ya que se est\u00e1n desarrollando otras implementaciones de Service Mesh. El patr\u00f3n <code>sidecar proxy<\/code> es la implementaci\u00f3n m\u00e1s popular, como se puede observar en los proyectos de Buoyant, HashiCorp, Solo.io y otros. Tambi\u00e9n existen arquitecturas alternativas: el conjunto de herramientas de Netflix es un enfoque donde las funcionalidades de Service Mesh se implementan mediante las bibliotecas Ribbon, Hysterix, Eureka, Archaius, as\u00ed como plataformas como Azure Service Fabric.<\/p>\n<p>Service Mesh tambi\u00e9n tiene su propia terminolog\u00eda para componentes de servicios y funciones:<\/p>\n<ul>\n<li><b>Marco de orquestaci\u00f3n de contenedores<\/b>. A medida que se a\u00f1aden m\u00e1s y m\u00e1s contenedores a la infraestructura de la aplicaci\u00f3n, surge la necesidad de una herramienta separada para supervisar y gestionar contenedores: el marco de orquestaci\u00f3n de contenedores. Kubernetes ha ocupado este nicho de tal manera que incluso sus principales competidores, Docker Swarm y Mesosphere DC\/OS, ofrecen como alternativa la integraci\u00f3n con Kubernetes.<\/li>\n<li><b>Servicios y pods (podes de Kubernetes)<\/b>. Un pod es una \u00fanica copia en ejecuci\u00f3n de un microservicio. A veces, un pod es un solo contenedor. En Kubernetes, un pod consiste en un peque\u00f1o grupo de contenedores independientes, conocido como pod. Los clientes rara vez acceden directamente a un pod; m\u00e1s bien, suelen acceder a un servicio, que representa un conjunto de copias escalables e independientes de un pod (r\u00e9plicas).<\/li>\n<li><b>Proxy Sidecar<\/b>. El Proxy Sidecar trabaja con un solo pod. El objetivo del Proxy Sidecar es enrutar o hacer proxy del tr\u00e1fico que proviene del contenedor con el que trabaja, as\u00ed como del tr\u00e1fico de retorno. El Sidecar interact\u00faa con otros Proxies Sidecar y es gestionado por el marco de orquestaci\u00f3n. Muchas implementaciones de Service Mesh utilizan el Proxy Sidecar para interceptar y gestionar todo el tr\u00e1fico entrante y saliente del pod.<\/li>\n<li><b>Descubrimiento de servicios<\/b>. Cuando un pod necesita interactuar con otro servicio, debe encontrar (descubrir) una copia activa y disponible de otro servicio. Generalmente, el pod realiza la b\u00fasqueda a trav\u00e9s de DNS. El marco de orquestaci\u00f3n de contenedores mantiene una lista de pods que est\u00e1n listos para recibir solicitudes y proporciona una interfaz para las consultas DNS.<\/li>\n<li><b>Balanceo de carga<\/b>. La mayor\u00eda de los marcos de orquestaci\u00f3n de contenedores proporcionan balanceo de carga a nivel 4 (transporte). Service Mesh implementa balanceo de carga m\u00e1s sofisticado a nivel 7 (aplicaci\u00f3n), rico en algoritmos y m\u00e1s eficiente en la gesti\u00f3n del tr\u00e1fico. Los par\u00e1metros de balanceo de carga pueden modificarse a trav\u00e9s de API, lo que permite orquestar despliegues azul-verde o canarios.<\/li>\n<li><b>Cifrado<\/b>. Service Mesh puede cifrar y descifrar solicitudes y respuestas, eliminando esta carga de los servicios. Service Mesh tambi\u00e9n puede mejorar el rendimiento al priorizar o reutilizar conexiones persistentes existentes, lo que reduce la necesidad de costosas computaciones para crear nuevas conexiones. La implementaci\u00f3n m\u00e1s com\u00fan de cifrado de tr\u00e1fico es <i>mutual TLS (mTLS)<\/i>, donde la infraestructura de claves p\u00fablicas (PKI) genera y distribuye certificados y claves para su uso en el Sidecar Proxy.<\/li>\n<li><b>Autenticaci\u00f3n y autorizaci\u00f3n<\/b>. Service Mesh puede autorizar y autenticar solicitudes realizadas desde fuera o desde dentro de la aplicaci\u00f3n, enviando instancias solo solicitudes validadas.<\/li>\n<li><b>Soporte del patr\u00f3n de desconexi\u00f3n autom\u00e1tica<\/b>. Service Mesh soporta <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/microservices-reference-architecture-nginx-circuit-breaker-pattern\/\">el patr\u00f3n de desconexi\u00f3n autom\u00e1tica<\/a><\/noindex>, que a\u00edsla instancias no saludables y luego las devuelve gradualmente al grupo de instancias saludables seg\u00fan sea necesario.<\/li>\n<\/ul>\n<p>\nLa parte de la aplicaci\u00f3n Service Mesh que gestiona el tr\u00e1fico de red entre instancias se llama <i>Data Plane<\/i>. La creaci\u00f3n y despliegue de la configuraci\u00f3n que controla el comportamiento <i>Data Plane<\/i>, se realiza mediante un <i>Control Plane<\/i>. <i>Control Plane<\/i> que generalmente incluye o est\u00e1 dise\u00f1ado para conectarse a API, CLI o GUI para gestionar la aplicaci\u00f3n.<\/p>\n<p><img decoding=\"async\" alt=\"\u00bfQu\u00e9 es un Service Mesh?\" src=\"\/wp-content\/uploads\/2020\/06\/130fe71904f72a76dfe8e8dbc405e498.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>El Control Plane en Service Mesh distribuye la configuraci\u00f3n entre Sidecar Proxy y Data Plane.<\/i><\/p>\n<p>A menudo, la arquitectura Service Mesh se aplica para abordar complejos desaf\u00edos operativos utilizando contenedores y microservicios. Los pioneros en el campo de <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/introduction-to-microservices\/\">microservicios<\/a><\/noindex> son empresas como Lyft, Netflix y Twitter, que proporcionan servicios que funcionan de manera estable a millones de usuarios en todo el mundo. (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/microservices-at-netflix-architectural-best-practices\/\">Aqu\u00ed puede familiarizarse con una descripci\u00f3n detallada de algunos desaf\u00edos arquitect\u00f3nicos que enfrent\u00f3 Netflix<\/a><\/noindex>). Para tareas de aplicaci\u00f3n menos exigentes, probablemente ser\u00e1 suficiente con arquitecturas m\u00e1s simples.<\/p>\n<p>La arquitectura Service Mesh dif\u00edcilmente ser\u00e1 alguna vez la soluci\u00f3n a todas las preguntas relacionadas con el funcionamiento de las aplicaciones y su entrega. Los arquitectos y desarrolladores cuentan con un enorme arsenal de herramientas, y solo una de ellas es un martillo, que entre muchas tareas solo debe resolver una: clavar clavos. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/introducing-the-nginx-microservices-reference-architecture\/\">Microservices Reference Architecture de NGINX<\/a><\/noindex>, por ejemplo, incluye varios modelos diferentes que ofrecen un espectro continuo de enfoques para resolver problemas mediante microservicios.<\/p>\n<p>Los elementos que se integran en la arquitectura Service Mesh, como NGINX, contenedores, Kubernetes y microservicios como enfoque arquitect\u00f3nico, pueden ser igualmente utilizados de manera productiva en implementaciones sin Service Mesh. Por ejemplo, Istio fue dise\u00f1ado como una arquitectura Service Mesh completa, pero su modularidad indica que los desarrolladores pueden elegir y aplicar solo los componentes tecnol\u00f3gicos que necesiten. Teniendo esto en cuenta, es importante formar una comprensi\u00f3n clara del concepto de Service Mesh, incluso si no est\u00e1s seguro de poder implementarlo completamente en tu aplicaci\u00f3n.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/UNlX\/\">Monolitos modulares y DDD<\/a><\/noindex><\/p>\n<p>Fuente: <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.2 - 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\/es\/blog\/administrirovanie\/chto-takoe-service-mesh\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47\u00bfQu\u00e9 es Service Mesh? | ProHoster","description":"\u00a1Y nuevamente, hola!..","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/chto-takoe-service-mesh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/85697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=85697"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/85697\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/85698"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=85697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=85697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=85697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}