Ya conocemos las bondades que nos ofrece Docker tanto para desarrollo como para producción ayudándonos a tener el mismo entorno en cada parte del proceso, se pueden tener diferentes aplicaciones conectadas entre sí dentro de un mismo contenedor.
Docker se ha vuelto muy popular desde su lanzamiento, siendo una de las plataformas más usadas después de Linux y Windows según los resultados del Developer Survey 2019 de StackOverflow
Qué es Kubernetes
Kubernetes está siendo la plataforma de preferencia para manejar, escalar y realizar deploy de las aplicaciones empaquetadas en contenedores como Docker.
Nos permite realizar la orquestación de diferentes contenedores pudiendo crear copias de uno o varios contenedores haciendo más fácil escalar nuestra aplicación, puede eliminar los contenedores que están fallando y crear nuevos para que nuestros servidores tengan la misma posibilidad de máquinas disponible.
Popularidad de Kubernetes
Kubernetes entró como una solución por parte de Google para llevar aplicaciones a producción para después ser entregado a la Cloud Native Computing Foundation. Es un de los proyectos open source con mayor crecimiento en los últimos años y es gracias a varias de las razones que ya mencionamos antes.
Es amado por los desarrolladores al dar la oportunidad de enviar a producción cualquier aplicación con el mismo entorno de desarrollo facilitando enormemente esta tarea. Sin contenedores, resulta complicado tener el mismo entorno en ambas etapas. Kubernetes resuelve esto para que sea más fácil concentrarse únicamente en la construcción del producto.
¿Cómo adoptar una cultura de orquestación de contenedores en mi organización de manera exitosa?

Tiene herramientas y servicios como:
- Provee un balanceador de carga interno o externo automáticamente para nuestros servicios.
- K8s permite correr varias réplicas y asegurarse que todas se encuentren funcionando.
- Define diferentes mecanismos para hacer roll-outs de código. Como Canary Deployments.
- Políticas de scaling automáticas. Podemos decirle a kubernetes que si nuestro tráfico o el CPU de nuestro servidor aumenta hasta cierto número cree más réplicas de nuestros pods para satisfacer la demanda.
- Jobs batch. Son esos trabajos que quieres manejar por fuera del ciclo de vida request/response del usuario. Kubernetes nos ayuda a especificarlos muy bien para no hacerlo por fuera de nuestro orquestador. Esto no lo tiene ninguna competencia cercana.
Aprende como instalar Kubernetes en AWS en nuestro blogpost de Platzi y conoce qué es un serverless framework.
Conclusión
Tanto Docker y Kubernetes son un plus muy importante para toda persona involucrada en el desarrollo de software y se están convirtiendo en skills muy demandados por muchas startups.
Tienes la oportunidad de aprender ambas, en especial Kubernetes con un curso estupendo que estamos seguro te va a encantar y te ayudará a incrementar tu nivel.
Curso de Kubernetes (2019)