Jaime Perera Merino
El despliegue de aplicaciones dentro de contenedores en producción cada vez está más extendido y, de todas las opciones de orquestación, Kubernetes (K8s) es la que, indiscutiblemente, está ganando la batalla.
Pero, si soy developer, ¿esto me importa? No debemos ver los contenedores y la orquestación de estos como algo “de sistemas”. Hay distintas razones por las que (nos) conviene saber de qué va esto.
La primera razón, y posiblemente la más importante, es que el uso de contenedores nos facilita la vida durante el desarrollo y nos ayuda a mantener nuestro entorno de trabajo limpio sin tener que lidiar con la instalación de diferentes versiones del mismo software, por ejemplo. Si nuestra “aplicación” consta de diferentes servicios, tener una manera de describirlos todos y sus dependencias simplifica enormemente el arranque y parada de estos servicios, pudiendolo hacer en bloque.
También hay que tener en cuenta que para que las aplicaciones puedan aprovechar todas las ventajas que Docker y Kubernetes ofrecen deben cumplir ciertas condiciones. Como developers, debemos tenerlo en cuenta a la hora de pensar la arquitectura y diseño de estas: cómo se les provee la configuración, cómo se deben comportar ante el escalado y la convivencia de versiones,...
Sabemos que los distintos entornos, (local, test, staging, preproducción, producción, …) deben tener la misma configuración o podemos encontrarnos con sorpresas desagradables a la hora de desplegar. Esto, que históricamente ha sido una utopía, con los contenedores es posible. En esta charla veremos cómo podemos arrancar en local un entorno lo más similar a producción, arrancando Kubernetes en local.
En nuestro sistema de CI, además de por homogeneización de entornos, también podemos sacar partido de tener nuestra aplicaciones “contenerizadas”. Veremos cómo integrar cualquier sistema de CI con Kubernetes para conseguir un Continuous Deployment real. A partir de aquí, dar el salto a Continuous Delivery es prácticamente trivial con K8s!
Por si estas razones no fueran suficientes, conocer los conceptos y el entorno en los que nuestras aplicaciones se despliegan nos ayudará a comunicarnos con DevOps y atajar juntos los problemas que puedan surgir. Durante la charla veremos los conceptos básicos de K8s y cómo podemos desplegarlo en AWS con Elastic Container Service for Kubernetes (EKS) para hacer pruebas o, quién sabe, poder estar más cerca de ser un Full Cycle Developer.
Si crees que salir de la “burbuja developer” será beneficioso para ti y tu proyecto, ¡no te pierdas esta charla!