Kubernetes permite ofrecer una plataforma como servicio (PaaS) de autoservicio que crea una capa de abstracción de hardware para los equipos de desarrollo. Estos equipos de desarrollo pueden solicitar rápida y eficazmente los recursos que necesitan: si necesitan más recursos para gestionar carga adicional, pueden obtenerlos con rapidez. Todos los recursos provienen de una infraestructura compartida por todos los equipos. Sólo hay que aprovisionar y salir, y aprovechar las herramientas desarrolladas en torno a Kubernetes para automatizar el empaquetado, el despliegue y las pruebas.
Es rentable, y en general lo son los contenedores, ya que permiten utilizar mejor los recursos que en el caso de los hipervisores y las máquinas virtuales. Al ser los contenedores tan ligeros, necesitan menos recursos de CPU y memoria para su ejecución.
Kubernetes es una tecnología agnóstica a la nube porque se ejecuta en Amazon Web Services (AWS), Microsoft Azure y Google Cloud Platform (GCP) de igual manera. Además, se puede ejecutar en las instalaciones, es decir, fuera de la nube. Es posible trasladar las cargas de trabajo sin tener que rediseñar las aplicaciones o replantear la infraestructura, lo que permite estandarizar una plataforma y evitar la dependencia de un único proveedor.
Los contenedores son elementos pequeños y rápidos, y tienen la ventaja de que una aplicación puede ser empaquetada en una única imagen de contenedor. Esta relación uno a uno entre aplicación e imagen ofrece un abanico de beneficios claros que decantan la balanza a favor del uso de contenedores. Con ellos podemos crear imágenes en el momento de compilación. Las aplicaciones no necesitan componerse junto al resto del stack ni enlazarse al entorno de infraestructura de producción.
Generar una imagen de contenedor al momento de la compilación permite tener un entorno consistente que va desde desarrollo hasta producción. Por otro lado, los contenedores son más transparentes que las máquinas virtuales, lo que hace más sencillas las tareas de administración y monitorización. Todo parecen ventajas cuando se trata de contenedores y Kubernetes, herramientas que, sin duda, facilitan la vida a los desarrolladores.