Google dio a conocer hace poco la nueva versión de la plataforma Knative 1.0 la cual está posicionada como estable y diseñada para crear una infraestructura informática sin servidor implementada sobre un sistema de aislamiento de contenedores basado en la plataforma Kubernetes.
Además de Google, empresas como IBM, Red Hat, SAP y VMware también están involucradas en el desarrollo de Knative. El lanzamiento de Knative 1.0 marcó la estabilización de la API para el desarrollo de aplicaciones, que a partir de ahora no cambiará y seguirá siendo compatible con versiones anteriores.
Hoy, el proyecto Knative lanzó la versión 1.0, alcanzando un hito importante que fue posible gracias a las contribuciones y la colaboración de más de 600 desarrolladores. Durante los últimos tres años, Knative se convirtió en la capa sin servidor más instalada en Kubernete s.
El proyecto Knative fue lanzado por Google en julio de 2018, con la visión de sistematizar las mejores prácticas en el desarrollo de aplicaciones nativas en la nube, con un enfoque en tres áreas: construcción de contenedores, servicio y escalado de cargas de trabajo y eventos.
Para quienes desconocen de la plataforma Knative, deben saber que esta se especializa en el lanzamiento de contenedores preparados según sea necesario (la aplicación no está vinculada a ningún contenedor específico), organiza la gestión y proporciona escalado de los entornos necesarios para realizar funciones y aplicaciones.
La plataforma se puede implementar en instalaciones propias sin que estas tengan que estar vinculadas a servicios de nube externos. Solo se requiere Kubernetes para ejecutarse y con ello se proporcionan una gran cantidad de herramientas para admitir una gran variedad de marcos comunes, de los cuales ya se encuentran incluidos Django, Ruby on Rails y Spring.
Tambien es importante mencionar que la interfaz de línea de comandos (CLI) se puede utilizar para controlar el funcionamiento de la plataforma. La plataforma proporciona dos componentes principales:
- Serving: implementación y administración de aplicaciones y funciones en forma de contenedores sin servidor. Los contenedores se ejecutan en Kubernetes con configuración automática de redes, enrutamiento, seguimiento de cambios (creando instantáneas del código alojado y la configuración) y manteniendo el nivel requerido de escalado (hasta reducir la cantidad de pods a cero en ausencia de actividad). El desarrollador se enfoca solo en la lógica, todo lo relacionado con la ejecución lo maneja la plataforma. Los subsistemas de redes Ambassador, Contour, Kourier, Gloo e Istio se pueden utilizar para organizar las solicitudes de redes y rutas. Hay soporte para HTTP/2, gRPC y WebSockets.
- Eventing: es un sistema universal para suscribirse (adjuntar controladores), entregar y administrar eventos. Permite la creación de aplicaciones asincrónicas adjuntando recursos computacionales a flujos de datos utilizando el modelo de objetos y el manejo de eventos. La misión de alto nivel de Knative Eventing es: Permitir el desarrollo de aplicaciones asincrónicas mediante la entrega de eventos desde cualquier lugar.
¿Qué hay de nuevo en Knative 1.0?
En esta nueva versión 1.0 se ha realizado un ajuste de escala automático (incluido el escalado a cero), ademas de que el seguimiento de revisiones y las abstracciones para los desarrolladores fueron algunos de los primeros objetivos de Knative.
Además de cumplir con esos objetivos, el proyecto también incorporó soporte para múltiples capas de enrutamiento HTTP, soporte para múltiples capas de almacenamiento para conceptos de eventos con métodos de suscripción comunes y diseñó una abstracción de «tipos de pato» para permitir el procesamiento de recursos arbitrarios de Kubernetes que tienen campos comunes, por nombrar algunos cambios.
Knative ahora está disponible en 1.0, y aunque la API está cerrada por cambios, su definición está disponible públicamente para que cualquiera pueda demostrar la conformidad con Knative. Esta API estable permite a los clientes y proveedores admitir la portabilidad de las aplicaciones y establece una nueva arquitectura de desarrollador nativa de la nube.
Finalmente si estás interesado en poder conocer más al respecto sobre esta nueva versión, puedes consultar los detalles en el siguiente enlace.
En cuanto a los que estén interesados en conocer sobre esta plataforma, pueden consultar el siguiente enlace.