Knative

Plataforma basada en Kubernetes para crear, desplegar y gestionar cargas de trabajo modernas sin servidor

Primitivas base fundamentales para todo

Google creó Knative originalmente con las contribuciones de más de 50 compañías. Esta plataforma ofrece un conjunto esencial de componentes para crear y ejecutar aplicaciones sin servidor en Kubernetes. Dispone de características como el escalado a cero, el autoescalado, las compilaciones en clústeres y un framework de eventos para aplicaciones nativas de la nube en Kubernetes. Ya sean on-premise, en la nube o en un centro de datos de terceros, Knative codifica las prácticas recomendadas que comparten frameworks basados en Kubernetes de eficacia probada en el mundo real. Y, lo más importante, permite que los desarrolladores se centren en escribir código sin tener que preocuparse por las partes más aburridas y complicadas de los procesos de compilación, despliegue y gestión de aplicaciones.

Software optimizado para desarrolladores

Los componentes reutilizables de Knative están concebidos para solucionar muchas tareas que son rutinarias pero complicadas, como crear aplicaciones desde el código fuente a las imágenes de contenedor, dirigir y gestionar el tráfico durante el despliegue, autoescalar las cargas de trabajo o enlazar los servicios en ejecución con los ecosistemas de eventos. Knative identifica las imágenes de contenedor como unidades de despliegue, por lo que los desarrolladores pueden utilizar cualquier lenguaje, expresión o framework con el que estén familiarizados.

Compatibilidad con patrones de desarrollo de uso común

Knative se centra en ofrecer una experiencia idiomática a los desarrolladores. Por tanto, admite patrones de desarrollo comunes, como GitOps, DockerOps o ManualOps, así como herramientas y frameworks como Django, Ruby on Rails o Spring, entre muchos otros.

Lo mejor de cada casa: flexibilidad y control

Knative está diseñado para conectarse fácilmente a las cadenas de herramientas disponibles de versiones y de integración y entrega continuas (CI/CD). Como la prioridad son las tecnologías de código abierto que se ejecutan en cualquier lugar, en cualquier nube y en cualquier infraestructura compatible con Kubernetes, las empresas tienen plena libertad para mover sus cargas de trabajo allá donde mejor puedan ejecutarse. De este modo, los clientes disfrutan de la flexibilidad y el control necesarios para adaptar el sistema a sus propios requisitos.

Ejecuta tus cargas de trabajo sin servidor como prefieras

Knative ofrece un entorno abierto de ejecución y APIs que te permite ejecutar tus cargas de trabajo sin servidor donde quieras: de forma totalmente gestionada en Google Cloud, en Google Kubernetes Engine (GKE) o en tu propio clúster de Kubernetes. Puedes empezar con Cloud Run y trasladar las cargas de trabajo a GKE, o bien empezar en tu propio clúster de Kubernetes y migrar a Cloud Run más adelante. Si utilizas Knative como plataforma subyacente, podrás trasladar las cargas de trabajo con libertad entre plataformas y reducir significativamente los costes derivados de estos cambios.

Componentes de Knative

Compilación

  • Compilación de código fuente en contenedores configurable y flexible

  • Enfoque basado en componentes acoplables mediante plantillas integradas o Dockerfiles

  • No requiere compilación cruzada ni herramientas de compilación locales

  • Compatible con artefactos en caché para acelerar las compilaciones

  • Permite que tu organización aproveche el espacio libre para utilizar mejor los recursos

Servicio

  • Abstracción de mayor nivel y facilidad para trabajar con el modelo de objetos

  • Autoescalado óptimo basado en solicitudes HTTP

  • Lanzamientos graduales de revisiones

  • Integración automática de redes y malla de servicios

  • Te permite conectar tu plataforma de supervisión y almacenamiento de registros

Eventos

  • Suscripción, envío y gestión universales de eventos

  • Desarrollo de sistemas con bajo acoplamiento y basados en eventos con objetos de alto nivel

  • Enlace declarativo entre productores de eventos y servicios de consumo de eventos

  • Te permite escalar desde solo unos pocos eventos hasta transmisiones en directo

  • Flujos de procesamiento de eventos personalizados para conectar con tus sistemas

Gracias a Knative, nuestros desarrolladores pueden centrarse en crear la lógica empresarial, sin tener que preocuparse del desarrollo de funciones de bajo nivel para la plataforma, como la compilación, el despliegue, el autoescalado, la supervisión y la capacidad de observación. Por ejemplo, con Knative nos resultó muy sencillo migrar a GCP nuestra aplicación diseñada para buscar tiendas de T‑Mobile, que habíamos desarrollado con Java y Vert.x. Lo hicimos en un periquete, ya que Knative ofrecía muchas funciones de la plataforma que nuestros desarrolladores no se tuvieron que molestar en crear.

— Ram Gopinathan, arquitecto principal de tecnología de T-Mobile

Recursos

Recursos de la comunidad

Google Cloud

Primeros pasos

Crea, despliega y gestiona cargas de trabajo sin servidor con Knative

Sigue la guía de inicio rápido de Cloud Run y empieza a usar Knative. En GitHub puedes encontrar una guía de instalación para los operadores que quieran proporcionar un entorno de Knative.