SlideShare una empresa de Scribd logo
1 de 19
OrquestandoContenedoresenlaNube
Luis Enrique Tejeda Rodríguez – Octubre 2019
Whoami • Ingeniería en Software - Universidad Politécnica de
Quintana Roo
• Amante de la tecnología y el desarrollo de software
• Auditor de Código en Grupo Xcaret
• Contacto: _@enriquetejeda.com
etejeda@mx:$HOME/acerca_de_mi$
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
¿Dequéva todoesto?
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
1. Contenedor con nuestra aplicación
2. Orquestador que gestionará nuestros
contenedores
3. Infraestructura en la nube
Contenedores
¿Una moda? ¿Qué utilidad tiene?
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
¿Contenedores?Docker
• Open Source
• Desarrollado en Go
• Capacidad para desplegar multitud de
contenedores en un mismo equipo físico.
• Nuestra aplicación web empaquetada en un
“contenedor” listo para usarla en otro dispositivo sin
necesidad de configurar o instalar dependencias,
todo al estilo “Plug & Play”.
• Estos contenedores podemos utilizarlos tanto en
Windows, Mac o GNU/Linux, Kubernetes.
• Crear un contenedor a nuestra medida y este
reutilizarlo en todos nuestros proyectos.
• Hay diferentes run-time (ContainerD, CRI-O), el
más aceptado actualmente es Docker.
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
DRUPAL 7
(PHP <= 7.1) ? ? ? ? ?
DRUPAL 6
(PHP <= 5.3)
? ? ? ? ?
WEBAPP
(JAVA 8 & TOMCAT)
? ? ? ? ?
Base de Datos
(MySQL/MongoDB)
? ? ? ? ?
API REST
(Nodejs, Express)
? ? ? ? ?
Laptop Servidor QA
Servidor
Producción
Tu Laptop Mi abuelita
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
DRUPAL 7
(PHP <= 7.1)
DRUPAL 6
(PHP <= 5.3)
WEBAPP
(JAVA 8 & TOMCAT)
Base de Datos
(MySQL/MongoDB)
API REST
(Nodejs, Express)
Laptop Servidor QA
Servidor
Producción
Tu Laptop Mi abuelita
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
Crearuncontenedor
• Podemos ocupar uno ya creado por la comunidad o
por grupos oficiales todo en DockerHUB
• Es muy sencillo de crear basta con solo crear un
“Dockerfile”
FROM ubuntu
MAINTAINER SatoshiNakamoto
RUN apt-get install -y apache2
EXPOSE 80
ENTRYPOINT ["/usr/sbin/apache2"]
CMD ["-D", "FOREGROUND"]
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
¿Ycómousamos
uncontenedorpara
producción?
 Hasta ahora solo encendíamos nuestro contenedor y
si cambiabamos de versión apagabamos y
encendíamos de nuevo con la nueva imagen.
 ¿Cómo lo haríamos en la nube, si no solo tenemos un
solo servidor y queremos alta disponibilidad?
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
Kubernetes,de GoogleparaelMundo
 Open Source
 Desarrollado en Golang
 Facilita la Gestión
 Aislamiento de recursos
 Portabilidad entre nubes y distribuciones: Funciona en
Ubuntu, RHEL, CoreOS, tu datacenter físico, Google Cloud,
AWS, Azure.
 Provee de alta disponibilidad
 Distribución inteligente de los contenedores entre los
nodos/servidores
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
¿Cómofunciona?
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
Contenedor Imagen docker, contiene todo nuestro
aplicativo en un entorno aislado.
Pod Un conjunto de contenedores, es mortal y
además de tener una red compartida entre
ellos.
Deployment Es donde especificamos cuantas "réplicas" debe
tener nuestro pod para asegurarnos que esten
en los distintos nodos (workers) de nuestro
clúster
Service Una abstracción que define un conjunto de
pods que implementan un micro-servicio, nos
ofrece una direccion virtual y la conectividad al
servicio puede ser interior (desde otros pods) o
exterior.
Terraform
 Open Source y desarrollado en Go.
 Infraestructura como código, esto permite que un modelo de su
centro de datos sea versionado y tratado como lo haría con cualquier
otro código. Además, la infraestructura puede ser compartida y
reutilizada.
 Podemos hacer uso de templates para distintos servicios para
distintos proveedores de computación en la nube.
 Permite que una única configuración se utilice para administrar
múltiples proveedores e incluso manejar dependencias entre nubes.
 HashiCorp Configuration Language (HCL) o, en su defecto, el
formato JSON
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
¿Ycómoorquestamostodoenlanube?
1. Empaquetar nuestro aplicativo en un contenedor y guardarlo en algún repositorio de imágenes
(Docker & Docker Hub, ECR, etc)
2. Levantar nuestro clúster en kubernetes (Instancias master y workers) con ayuda de Terraform
sobre AWS
3. Desplegar nuestros contenedores obteniendolos desde Docker Hub con ayuda de Kubernetes
4. Configurar el uso de Ingress y de balanceadores de carga para redirigir nuestro tráfico.
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
DEMO
Imagen Docker con Tomcat y una web
sencilla hecha con Vert.X (Java).
Deployment, Service y Ingress con 3 réplicas
de nuestro contenedor para distribuirlos en
los workers (Alta Disponibilidad)
Uso del servicio EKS (Masters gestionados
por AWS) e 2 instancias EC2 para nuestros
workers, así como también un Balanceador
de Carga de tipo aplicación.
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
https://github.com/EnriqueTejeda/EKS-SLOTH2019
https://hub.docker.com/r/etejeda/sloth-vertx-demo
Y lo quequeda...
 Kubeless (The Kubernetes Native Serverless Framework)
 K3s (Lightweight Kubernetes A binary of less than 40 MB. Only 512 MB
of RAM required to run)
 Jenkins-X/GitOps (CI/CD)
Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
Preguntas
Gracias
Datos de contacto
linkedin.com/in/who-is-
etejeda
_@enriquetejeda.com

Más contenido relacionado

La actualidad más candente

Kubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y TaniwaKubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y TaniwaJoselu Marina
 
Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...Software Guru
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoRestorando
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014quaip
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA_es
 
Usando Django con Docker
Usando Django con DockerUsando Django con Docker
Usando Django con DockerErnesto Crespo
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación DockerITPAMI
 
Workshop docker: Iniciando en el Mundo de los Contenedores
Workshop docker: Iniciando en el Mundo de los ContenedoresWorkshop docker: Iniciando en el Mundo de los Contenedores
Workshop docker: Iniciando en el Mundo de los ContenedoresJesús A. Rodríguez B.
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Gustavo Andres Brey
 
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Santi Macias Rodriguez
 
PHPVigo #23 - Taller de Docker para PHP
PHPVigo #23 - Taller de Docker para PHPPHPVigo #23 - Taller de Docker para PHP
PHPVigo #23 - Taller de Docker para PHPRolando Caldas
 

La actualidad más candente (20)

Kubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y TaniwaKubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y Taniwa
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...
 
Conceptos avanzados en docker
Conceptos avanzados en dockerConceptos avanzados en docker
Conceptos avanzados en docker
 
introducción a Docker
introducción a Dockerintroducción a Docker
introducción a Docker
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en Restorando
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
Docker desde cero
Docker desde ceroDocker desde cero
Docker desde cero
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
Usando Django con Docker
Usando Django con DockerUsando Django con Docker
Usando Django con Docker
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación Docker
 
Workshop docker: Iniciando en el Mundo de los Contenedores
Workshop docker: Iniciando en el Mundo de los ContenedoresWorkshop docker: Iniciando en el Mundo de los Contenedores
Workshop docker: Iniciando en el Mundo de los Contenedores
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
Introduccion A Docker
Introduccion A DockerIntroduccion A Docker
Introduccion A Docker
 
Docker images
Docker imagesDocker images
Docker images
 
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
 
PHPVigo #23 - Taller de Docker para PHP
PHPVigo #23 - Taller de Docker para PHPPHPVigo #23 - Taller de Docker para PHP
PHPVigo #23 - Taller de Docker para PHP
 

Similar a Orquestando Contenedores En La Nube - Enrique Tejeda - Sloth 2019

Docker para desarrolladores .NET
Docker para desarrolladores .NETDocker para desarrolladores .NET
Docker para desarrolladores .NETAdrian Diaz Cervera
 
Plug&amp;play:deploying big data_solutions
Plug&amp;play:deploying big data_solutionsPlug&amp;play:deploying big data_solutions
Plug&amp;play:deploying big data_solutionsDavid Piris
 
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 Cloud Native en Azure impartido en Microsoft Madrid y Barcelona Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Cloud Native en Azure impartido en Microsoft Madrid y BarcelonaSanti Macias Rodriguez
 
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs AcademyBootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs AcademyTelefónica
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015 Keopx
 
Inteligencia artificial in house con servicios cognitivos y docker
Inteligencia artificial in house con servicios cognitivos y dockerInteligencia artificial in house con servicios cognitivos y docker
Inteligencia artificial in house con servicios cognitivos y dockerLuis Beltran
 
Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4Luis Merino Troncoso
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para DummiesRaúl Unzué
 
Containers - Hablemos de Docker
Containers - Hablemos de DockerContainers - Hablemos de Docker
Containers - Hablemos de DockerLuis Toscano
 
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptxAzure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptxLuis Beltran
 
Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack Guillermo Alvarado Mejía
 
Big Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStackBig Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStackSoftware Guru
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Eduardo Castro
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJCMicael Gallego
 
Introducción a los contenedores Docker
Introducción a los contenedores DockerIntroducción a los contenedores Docker
Introducción a los contenedores DockerCarlos E. Vasquez P.
 
Victoriaroldandelgado@-actividadmodulo1
Victoriaroldandelgado@-actividadmodulo1Victoriaroldandelgado@-actividadmodulo1
Victoriaroldandelgado@-actividadmodulo1vitoryrode
 

Similar a Orquestando Contenedores En La Nube - Enrique Tejeda - Sloth 2019 (20)

Docker para desarrolladores .NET
Docker para desarrolladores .NETDocker para desarrolladores .NET
Docker para desarrolladores .NET
 
Plug&amp;play:deploying big data_solutions
Plug&amp;play:deploying big data_solutionsPlug&amp;play:deploying big data_solutions
Plug&amp;play:deploying big data_solutions
 
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 Cloud Native en Azure impartido en Microsoft Madrid y Barcelona Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 
Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf
 
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs AcademyBootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015
 
Inteligencia artificial in house con servicios cognitivos y docker
Inteligencia artificial in house con servicios cognitivos y dockerInteligencia artificial in house con servicios cognitivos y docker
Inteligencia artificial in house con servicios cognitivos y docker
 
Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para Dummies
 
Containers - Hablemos de Docker
Containers - Hablemos de DockerContainers - Hablemos de Docker
Containers - Hablemos de Docker
 
Taller girona
Taller gironaTaller girona
Taller girona
 
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptxAzure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
 
Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack
 
Big Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStackBig Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStack
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJC
 
Introducción a los contenedores Docker
Introducción a los contenedores DockerIntroducción a los contenedores Docker
Introducción a los contenedores Docker
 
Victoriaroldandelgado@-actividadmodulo1
Victoriaroldandelgado@-actividadmodulo1Victoriaroldandelgado@-actividadmodulo1
Victoriaroldandelgado@-actividadmodulo1
 
Offering Cloud Solutions
Offering Cloud Solutions Offering Cloud Solutions
Offering Cloud Solutions
 

Orquestando Contenedores En La Nube - Enrique Tejeda - Sloth 2019

  • 2. Whoami • Ingeniería en Software - Universidad Politécnica de Quintana Roo • Amante de la tecnología y el desarrollo de software • Auditor de Código en Grupo Xcaret • Contacto: _@enriquetejeda.com etejeda@mx:$HOME/acerca_de_mi$ Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 3. ¿Dequéva todoesto? Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com 1. Contenedor con nuestra aplicación 2. Orquestador que gestionará nuestros contenedores 3. Infraestructura en la nube
  • 4. Contenedores ¿Una moda? ¿Qué utilidad tiene? Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 5. ¿Contenedores?Docker • Open Source • Desarrollado en Go • Capacidad para desplegar multitud de contenedores en un mismo equipo físico. • Nuestra aplicación web empaquetada en un “contenedor” listo para usarla en otro dispositivo sin necesidad de configurar o instalar dependencias, todo al estilo “Plug & Play”. • Estos contenedores podemos utilizarlos tanto en Windows, Mac o GNU/Linux, Kubernetes. • Crear un contenedor a nuestra medida y este reutilizarlo en todos nuestros proyectos. • Hay diferentes run-time (ContainerD, CRI-O), el más aceptado actualmente es Docker. Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 6. DRUPAL 7 (PHP <= 7.1) ? ? ? ? ? DRUPAL 6 (PHP <= 5.3) ? ? ? ? ? WEBAPP (JAVA 8 & TOMCAT) ? ? ? ? ? Base de Datos (MySQL/MongoDB) ? ? ? ? ? API REST (Nodejs, Express) ? ? ? ? ? Laptop Servidor QA Servidor Producción Tu Laptop Mi abuelita Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 7. DRUPAL 7 (PHP <= 7.1) DRUPAL 6 (PHP <= 5.3) WEBAPP (JAVA 8 & TOMCAT) Base de Datos (MySQL/MongoDB) API REST (Nodejs, Express) Laptop Servidor QA Servidor Producción Tu Laptop Mi abuelita Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 8. Crearuncontenedor • Podemos ocupar uno ya creado por la comunidad o por grupos oficiales todo en DockerHUB • Es muy sencillo de crear basta con solo crear un “Dockerfile” FROM ubuntu MAINTAINER SatoshiNakamoto RUN apt-get install -y apache2 EXPOSE 80 ENTRYPOINT ["/usr/sbin/apache2"] CMD ["-D", "FOREGROUND"] Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 9. ¿Ycómousamos uncontenedorpara producción?  Hasta ahora solo encendíamos nuestro contenedor y si cambiabamos de versión apagabamos y encendíamos de nuevo con la nueva imagen.  ¿Cómo lo haríamos en la nube, si no solo tenemos un solo servidor y queremos alta disponibilidad? Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 10. Kubernetes,de GoogleparaelMundo  Open Source  Desarrollado en Golang  Facilita la Gestión  Aislamiento de recursos  Portabilidad entre nubes y distribuciones: Funciona en Ubuntu, RHEL, CoreOS, tu datacenter físico, Google Cloud, AWS, Azure.  Provee de alta disponibilidad  Distribución inteligente de los contenedores entre los nodos/servidores Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 11. ¿Cómofunciona? Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 12. Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com Contenedor Imagen docker, contiene todo nuestro aplicativo en un entorno aislado. Pod Un conjunto de contenedores, es mortal y además de tener una red compartida entre ellos. Deployment Es donde especificamos cuantas "réplicas" debe tener nuestro pod para asegurarnos que esten en los distintos nodos (workers) de nuestro clúster Service Una abstracción que define un conjunto de pods que implementan un micro-servicio, nos ofrece una direccion virtual y la conectividad al servicio puede ser interior (desde otros pods) o exterior.
  • 13. Terraform  Open Source y desarrollado en Go.  Infraestructura como código, esto permite que un modelo de su centro de datos sea versionado y tratado como lo haría con cualquier otro código. Además, la infraestructura puede ser compartida y reutilizada.  Podemos hacer uso de templates para distintos servicios para distintos proveedores de computación en la nube.  Permite que una única configuración se utilice para administrar múltiples proveedores e incluso manejar dependencias entre nubes.  HashiCorp Configuration Language (HCL) o, en su defecto, el formato JSON Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 14. Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 15. ¿Ycómoorquestamostodoenlanube? 1. Empaquetar nuestro aplicativo en un contenedor y guardarlo en algún repositorio de imágenes (Docker & Docker Hub, ECR, etc) 2. Levantar nuestro clúster en kubernetes (Instancias master y workers) con ayuda de Terraform sobre AWS 3. Desplegar nuestros contenedores obteniendolos desde Docker Hub con ayuda de Kubernetes 4. Configurar el uso de Ingress y de balanceadores de carga para redirigir nuestro tráfico. Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com
  • 16. DEMO Imagen Docker con Tomcat y una web sencilla hecha con Vert.X (Java). Deployment, Service y Ingress con 3 réplicas de nuestro contenedor para distribuirlos en los workers (Alta Disponibilidad) Uso del servicio EKS (Masters gestionados por AWS) e 2 instancias EC2 para nuestros workers, así como también un Balanceador de Carga de tipo aplicación. Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com https://github.com/EnriqueTejeda/EKS-SLOTH2019 https://hub.docker.com/r/etejeda/sloth-vertx-demo
  • 17. Y lo quequeda...  Kubeless (The Kubernetes Native Serverless Framework)  K3s (Lightweight Kubernetes A binary of less than 40 MB. Only 512 MB of RAM required to run)  Jenkins-X/GitOps (CI/CD) Orquestando Contenedores en la Nube – Enrique Tejeda Rodríguez – Contacto: _@enriquetejeda.com