Serverless

microservices

¿Qué son los microservices?

Un micro servicio es una pieza de software que se encarga de hacer una tarea especifica dentro de un sistema.

 

En Platzi tenemos en este momento cuatro micro servicios:

  • Enigma (Sistema de discusiones)
  • Vision (Registro de información de referidos - Pagos en un futuro)
  • Blackwidow (Scrapper para enigma)
  • Hermes (Notificaciones via email)

¿Qué es serverless?

Serverless permite abstraer a los usuarios de los servidores, infraestructura y configuración del sistema operativo.

 

En su lugar, se hace uso de servicios de único propósito como puede ser S3 de amazon para almacenar archivos o Auth0 para el manejo de autenticación.

Entendiendo la arquitectura

Arquitectura tradicional

En la arquitectura tradicional el cliente realiza la petición al servidor de la aplicación, esta solicita información a la base de datos, este proceso es el mismo al realizar el proceso de autentificación, solicitar cualquier url, realizar una busqueda, etc.

Arquitectura serverless

En la arquitectura de serverless se delega la lógica de procesos a servicios de terceros, como es el proceso de autentificación, la función de búsqueda entre otros.

  1. Autentificación (BaaS)
  2. Acceso a la data (BaaS)
  3. Cliente (Seguimiento a la sesión del usuario)
  4. Busqueda (FaaS)
  5. Compra (FaaS)

Función como un servicio (FaaS)

Ventajas

  • Correr código en el servidor sin tener que administrar el servidor.
  • No requieren un framework o libreria para trabajar
  • El despliegue es diferente ya que por no tener que administrar el servidor solo es necesario subir el código al proveedor de FaaS y nada más
  • El escalamiento horizontal es automático, elástico y administrado por el proveedor
  • Las funciones son lanzadas por tipos de eventos definidos por el proveedor.
  • También se pueden lanzar eventos como respuesta a peticiones HTTP.

Las funciones tienen algunas restricciones al hablar del estado.

 

Se debe asumir que para cualquier invocación de una función no tiene estado

 

Ellas proveen funcionalidades puras como guardar archivos en S3, transformar las entradas, etc.

Estado

Beneficios

  • Reducción de tiempo de desarrollo.
  • Reducción de costos en infraestructura.
  • Fácil escalabilidad
  • Abstracción de la infraestructura, configuración y mantenimiento de servidores.
Made with Slides.com