Google presentó la plataforma informática sin servidor Knative 1.0

Google ha presentado una versión estable de la plataforma Knative 1.0, 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, en el desarrollo de Knative también participan empresas como IBM, Red Hat, SAP y VMware. El lanzamiento de Knative 1.0 marcó la estabilización de la API de desarrollo de aplicaciones, que de ahora en adelante permanecerá sin cambios y seguirá siendo compatible con versiones anteriores. El código del proyecto está escrito en Go y distribuido bajo la licencia Apache 2.0.

El modelo de desarrollo de aplicaciones sin servidor que ofrece Knative proporciona un nivel adicional de abstracción para los sistemas en la nube, permitiendo realizar funciones como servicios (FaaS, Functions as a service). La esencia del modelo sin servidor es que el desarrollador implementa la lógica a nivel de funciones individuales, sin preocuparse por crear y administrar la infraestructura para ejecutar aplicaciones y sin estar atado a aplicaciones de servidor específicas y entornos de nube necesarios para su funcionamiento.

El desarrollo se lleva a cabo sin crear aplicaciones monolíticas al nivel de preparar un conjunto de pequeñas funciones individuales, cada una de las cuales asegura el procesamiento de un evento específico y está diseñada para funcionar por separado sin referencia al entorno (sin estado, el resultado no depende de el estado anterior y el contenido del sistema de archivos). Las funciones se inician solo cuando surge la necesidad y después de procesar el evento pueden completar su trabajo inmediatamente, es decir. A diferencia de los microservicios, no se requiere la presencia constante de entornos en ejecución que consuman recursos inactivos.

La propia plataforma Knative lanza contenedores según sea necesario, coloca en ellos funciones preparadas, organiza la gestión y garantiza el escalamiento de los entornos necesarios para realizar estas funciones. La plataforma se puede implementar por sí sola sin estar vinculada a servicios de nube externos. Solo se requiere Kubernetes para ejecutarse. Se proporcionan herramientas para admitir una variedad de marcos comunes, incluidos Django, Ruby on Rails y Spring. La interfaz de línea de comando se puede utilizar para controlar el funcionamiento de la plataforma.

La plataforma proporciona dos componentes principales:

  • Sirve para ejecutar contenedores sin servidor en Kubernetes con configuración automática de comunicación de red, enrutamiento, seguimiento de cambios (creación de instantáneas del código alojado y configuraciones) y mantenimiento del nivel requerido de escalamiento (hasta reducir el número de pods a cero en ausencia de actividad) . El desarrollador se centra sólo en la lógica; todo lo relacionado con la ejecución lo maneja la plataforma. Para organizar la interacción de la red y las solicitudes de enrutamiento, se pueden utilizar los subsistemas de red Ambassador, Contour, Kourier, Gloo e Istio. Hay soporte para HTTP/2, gRPC y WebSockets.
  • Eventing es un sistema universal para suscripción (adjuntando controladores), entrega y gestión de eventos. Le permite crear aplicaciones que se ejecutan de forma asincrónica adjuntando recursos informáticos a flujos de datos mediante un modelo de objetos y un mecanismo de procesamiento de eventos.

Fuente: opennet.ru

Añadir un comentario