En colaboración con: Angel Ramires

Saludos amigos Kubernetes aficionados, este artículo se basa en el capitulo #25 de la serie La Hora de Kubernetes, hoy vamos a hablar sobre Serverless y luego pasaremos a OpenFaaS un proyecto de código abierto independiente creado por Alex Ellis, que está siendo construido y modelado por una creciente comunidad de contribuyentes.

¿Que es serverless?

Es una arquitectura de para aplicaciones, que se incorpora en servicios de backend (BaaS), servicios de ejecución de funciones en containers efímeros. -Mike Roberts (martinfowler.com)

Serverless es la forma de ejecutar código sin tener que directamente configurar lo que sucede en el backend, para dar un ejemplo serverlees no se refiere solo a servidores este habla de todo un conjunto de ejecución, pero no es necesario saber el enrutamiento y como sucede con el alamaceanmiento y la integracion.

Serverless es una función como servicio, este termino usualmente pueder ser malinterpretado con lo que no es, por ejemplo cuando hablamos de Serverless, conviene aclarar que este término se utiliza para hacer referencia a varias cosas: una metodología, un framework y una organización.

La arquitectura Serverless es una metodología completamente agnóstica a proveedores. El framework Serverless es una herramienta multiproveedor por línea de comandos que automatiza y nos evita realizar a mano multitud de tareas.

En el siguiente video podrás ver el video completo de este artículo.

¿Que es OpenFaaS?

Es importante saber que OpenFaaS es un sistema de preparación de infraestructura y marco para crear aplicaciones sin servidor. Se originó a partir del marco sin servidor en Docker Swarm y ahora admite otros tipos de backends de infraestructura, como Kubernetes o Hyper.sh. Las funciones en OpenFaaS son contenedores. Cualquier programa escrito en cualquier idioma se puede empaquetar como una función aprovechando las tecnologías de contenedor de Docker. Esto nos permite reutilizar completamente el código existente para consumir una amplia gama de eventos de servicios web sin volver a escribir el código. OpenFaaS es una gran herramienta para modernizar sistemas antiguos para que se ejecuten en una infraestructura basada en la nube.

Datos importante de Openfaas:

  • Sistema de Código Abierto
  • Basado en Kubernetes
  • Escrito mayormente en Go
  • Se instala a través de un simple UI
  • Permite desplegar funciones en *cualquier lenguaje encapsulado en Docker.
  • Portable en Kubernetes instalación.
  • Auto escalado basado en demanda.

@OpenFaaS

OpenFaaS

Flujo de trabajo conceptual

Se puede acceder a la puerta de enlace a través de su API REST, a través de la CLI o mediante la interfaz de usuario. Todos los servicios o funciones obtienen una ruta predeterminada expuesta, pero los dominios personalizados también se pueden usar para cada punto final.

Prometheus recopila métricas que están disponibles a través de la API de Gateway y que se utilizan para el escalado automático.

Al cambiar la URL de una función de / function / NAME a / async-function / NAME, se puede ejecutar una invocación en una cola usando NATS Streaming. También puede pasar una URL de devolución de llamada opcional.

faas-netes es el proveedor de orquestación más popular para OpenFaaS, pero Docker Swarm, Hashicorp Nomad, AWS Fargate / ECS y AWS Lambda también están disponibles. Los proveedores se crean con el SDK de faas-provider.

workflow de openfaas

Gateway

  • Gateway
  • Watchdog
  • Autoscaling
  • Metrics
  • Performance
  • Production
  • FaaS Providers
  • Logs Providers
openfaas-operator

¿Todavía tienes preguntas?

Sí desea sumergirse y obtener más información, diríjase a nuestro Canal Cuemby, nuestra comunidad está creciendo y nuestro equipo esta dispuesto a ayudarte. ¡No dude en enviarnos un mensaje en cualquier momento con sus preguntas y nos aseguraremos de responder!

¡Gracias por visitar nuestro blog! Si te gusta lo que lees, suscríbete.