{"id":21003,"date":"2019-10-01T10:35:58","date_gmt":"2019-10-01T08:35:58","guid":{"rendered":"https:\/\/www.teldat.com\/sin-categorizar\/21003\/microservicios-containers-dockers-kubernetes-para-sd-wan\/"},"modified":"2022-12-19T17:41:12","modified_gmt":"2022-12-19T15:41:12","slug":"microservicios-containers-dockers-kubernetes-para-sd-wan","status":"publish","type":"post","link":"https:\/\/teldatnwp-dev.azurewebsites.net\/es\/blog\/microservicios-containers-dockers-kubernetes-para-sd-wan\/","title":{"rendered":"Microservicios: Dockers y Kubernetes"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-5343 size-medium\" src=\"https:\/\/www.teldat.com\/wp-content\/uploads\/2022\/06\/Carlos-Masso-Oct-2019-300x176.png\" alt=\"microservices\" width=\"300\" height=\"176\" title=\"\">Cada vez m\u00e1s empresas se decantar por una arquitectura enfocada a microservicios. Y probablemente es porque los microservicios son el perfecto complemento para la tecnolog\u00eda <a href=\"https:\/\/www.teldat.com\/es\/soluciones\/networking-avanzado\/cnm-sd-wan-redes-hibridas\/\" target=\"_blank\" rel=\"noopener\">CNM\/SD-WAN:<\/a> as\u00ed, los m\u00f3dulos que componen las aplicaciones pueden implantarse en numerosos servidores o centros de datos.<\/p>\n<p>Pero antes de continuar, definamos con precisi\u00f3n el concepto de <strong>microservicios.<\/strong><\/p>\n<p><!--more--><\/p>\n<h2>\u00bfQu\u00e9 son los microservicios?<\/h2>\n<p>En primera instancia, debemos recordar que se pueden distinguir dos tipos de arquitecturas:<br \/>\n\u2022 <em><strong>Monol\u00edtica<\/strong><\/em>.<br \/>\n<em><strong>\u2022 Microservicios.<\/strong><\/em><\/p>\n<p><strong>Una arquitectura monol\u00edtica es aut\u00f3noma,<\/strong> es decir, no depende de otros servicios externos a ella y \u00fanicamente se centra en sus propios componentes.<\/p>\n<p>En cambio, la gran ventaja de una<strong> arquitectura de microservicios<\/strong> es que <strong>ofrece cada uno de los componentes de forma aislada,<\/strong> siendo m\u00e1s f\u00e1ciles de mantener y de responder frente a distintos niveles de <em><strong>escalabilidad<\/strong><\/em>. Permite replicar aquellas<strong> instancias de microservicios<\/strong> que sean necesarios, evitando, como es en el caso de la arquitectura monol\u00edtica, tener que replicar una copia de toda la aplicaci\u00f3n en su conjunto.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5344\" src=\"https:\/\/www.teldat.com\/wp-content\/uploads\/2022\/06\/carlos-masso1-300x126.png\" alt=\"microservices\" width=\"600\" height=\"251\" title=\"\"><\/p>\n<h2>Microservicios y contenedores<\/h2>\n<p>Los microservicios est\u00e1n muy ligados al concepto de <em><strong>contenedor<\/strong><\/em>, una <strong>unidad est\u00e1ndar de software que empaqueta el c\u00f3digo<\/strong> junto a todas de sus dependencias para que <strong>el servicio o aplicaci\u00f3n se ejecute de forma r\u00e1pida<\/strong> y fiable de un entorno inform\u00e1tico a otro.<br \/>\nPor otro lado tenemos el concepto <strong><em>Docker<\/em><\/strong>, una plataforma de contenedores cuyo fin es <strong>ejecutar aplicaciones de forma aislada y eficiente.<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5345\" src=\"https:\/\/www.teldat.com\/wp-content\/uploads\/2022\/06\/carlos_masso2-300x163.png\" alt=\"microservices\" width=\"600\" height=\"325\" title=\"\"><\/p>\n<p>Los Dockers necesitan de una imagen para su encapsulaci\u00f3n. Una<strong> imagen de Docker<\/strong> consiste en <strong>un paquete de software liviano, independiente y ejecutable<\/strong> que incluye todo lo necesario para ejecutar una aplicaci\u00f3n: c\u00f3digo, tiempo de ejecuci\u00f3n, herramientas del sistema, librer\u00edas y configuraciones.<strong> Los Dockers a\u00edslan el software de su entorno<\/strong> y garantizan que funcione de manera uniforme.<\/p>\n<p>Adem\u00e1s, un Docker no solo se utiliza para desplegar aplicaciones en producci\u00f3n, sino tambi\u00e9n para <strong>crear entornos de desarrollo replicables<\/strong> entre todos los miembros de un equipo, asegurar que las aplicaciones se van a ejecutar igual en todos los entornos, etc.<\/p>\n<h2>Kubernetes<\/h2>\n<p>La gesti\u00f3n de cada uno de los ciclos de vida de los contenedores la lleva a cabo <strong>Kubernetes<\/strong>, que consiste en un sistema de c\u00f3digo que permite <strong>automatizar la implementaci\u00f3n, el escalado y la administraci\u00f3n de aplicaciones en contenedores<\/strong>. Es decir, se trata de un <em>orquestador de contenedores.<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5346\" src=\"https:\/\/www.teldat.com\/wp-content\/uploads\/2022\/06\/carlos-masso3-300x122.jpg\" alt=\"microservices\" width=\"600\" height=\"244\" title=\"\"><\/p>\n<p>Un orquestador de contenedores tiene como funci\u00f3n <strong>gestionar el ciclo de vida de cada una de las aplicaciones<\/strong> que se encuentran alojadas en distintos dockers, coordin\u00e1ndolas entre s\u00ed.<\/p>\n<p>Las <strong>caracter\u00edsticas principales de los Kubernetes<\/strong> son:<\/p>\n<p><strong>\u2022 Escalado y autoescalado<\/strong>: permite escalar aplicaciones manual u horizontalmente, mediante reglas predefinidas, en funci\u00f3n del uso de la CPU.<\/p>\n<p><strong>\u2022 Descubrimiento de servicios y balanceo de cargas:<\/strong> Kubernetes proporciona a los Pods sus propias direcciones IP y un solo nombre DNS para un conjunto de Pods, permitiendo equilibrar la carga entre ellos.<\/p>\n<p>\u2022 <strong>Autorreparaci\u00f3n<\/strong>: en caso de fallo de un contenedor, puede reiniciarlo autom\u00e1ticamente.<\/p>\n<p><strong>\u2022 Despliegues y <em>rollbacks<\/em> autom\u00e1ticos:<\/strong> Kubernetes permite no borrar todos los Pods de la versi\u00f3n anterior mientras se est\u00e1 actualizando. En caso de fallo revertir\u00e1 el cambio autom\u00e1ticamente.<\/p>\n<p>\u2022 <strong>Planificaci\u00f3n<\/strong>: coloca autom\u00e1ticamente los contenedores en los mejores nodos de acuerdo con sus requisitos sin sacrificar la disponibilidad.<\/p>\n<p><strong>\u2022 Gesti\u00f3n de la configuraci\u00f3n y secrets<\/strong>: Kubernetes permite almacenar datos sensibles como contrase\u00f1as, claves ssh, tokens, etc., llamados secrets. Estos se guardan en una zona segura y no dentro de la imagen.<br \/>\n<strong>\u2022 Orquestaci\u00f3n del almacenamiento.<\/strong><\/p>\n<p><strong>\u2022 Ejecuci\u00f3n Batch.<\/strong><\/p>\n<h2>Contenedores vs. m\u00e1quinas virtuales<\/h2>\n<p>La gran diferencia que presentan los contenedores frente a las <strong>m\u00e1quinas virtuales<\/strong> es que estas \u00faltimas son <strong>una abstracci\u00f3n del hardware f\u00edsico<\/strong> que incluye una copia completa del sistema operativo, la aplicaci\u00f3n, los binarios necesarios y las bibliotecas, ocupando de esta manera decenas de gigas. En cambio, los contenedores adoptan un enfoque diferente, porque aprovechan la mec\u00e1nica de bajo nivel del sistema operativo del host.<\/p>\n<p>En resumen, <strong>los contenedores permiten desplegar, arrancar y parar aplicaciones m\u00e1s r\u00e1pido y aprovechar mejor los recursos de hardware<\/strong>, aislando aplicaciones, no sistemas operativos.<\/p>\n<p>En cambio<strong>, las m\u00e1quinas virtuales nos permiten crear sistemas completos totalmente aislados<\/strong>, con mayor control sobre el entorno y mezclando sistemas operativos host y hu\u00e9sped.<br \/>\nTeldat est\u00e1 apostando, cada vez m\u00e1s, por una arquitectura de microservicios que permite mejorar todav\u00eda m\u00e1s la eficiencia y la funcionalidad de la tecnolog\u00eda SD-WAN<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cada vez m\u00e1s empresas se decantar por una arquitectura enfocada a microservicios. Y probablemente es porque los microservicios son el perfecto complemento para la tecnolog\u00eda CNM\/SD-WAN: as\u00ed, los m\u00f3dulos que componen las aplicaciones pueden implantarse en numerosos servidores o centros de datos. Pero antes de continuar, definamos con precisi\u00f3n el concepto de microservicios.<\/p>\n","protected":false},"author":201,"featured_media":19714,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1168],"tags":[1102],"class_list":["post-21003","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tecnologia-sd-wan","tag-servicios-micro"],"acf":[],"wpml_current_locale":"es_ES","wpml_translations":[{"locale":"en_US","id":19702,"slug":"microservices-containers-dockers-kubernetes-for-sd-wan","post_title":"Microservices, Dockers and Kubernetes","href":"https:\/\/teldatnwp-dev.azurewebsites.net\/microservices-containers-dockers-kubernetes-for-sd-wan\/"}],"_links":{"self":[{"href":"https:\/\/teldatnwp-dev.azurewebsites.net\/es\/wp-json\/wp\/v2\/posts\/21003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/teldatnwp-dev.azurewebsites.net\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/teldatnwp-dev.azurewebsites.net\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/teldatnwp-dev.azurewebsites.net\/es\/wp-json\/wp\/v2\/users\/201"}],"replies":[{"embeddable":true,"href":"https:\/\/teldatnwp-dev.azurewebsites.net\/es\/wp-json\/wp\/v2\/comments?post=21003"}],"version-history":[{"count":0,"href":"https:\/\/teldatnwp-dev.azurewebsites.net\/es\/wp-json\/wp\/v2\/posts\/21003\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/teldatnwp-dev.azurewebsites.net\/es\/wp-json\/wp\/v2\/media\/19714"}],"wp:attachment":[{"href":"https:\/\/teldatnwp-dev.azurewebsites.net\/es\/wp-json\/wp\/v2\/media?parent=21003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/teldatnwp-dev.azurewebsites.net\/es\/wp-json\/wp\/v2\/categories?post=21003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/teldatnwp-dev.azurewebsites.net\/es\/wp-json\/wp\/v2\/tags?post=21003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}