DesignTechnology ¿Y ahora qué es serverless?

Serverless Sin Servidor ; )

http://hypernovalabs.com/wp-content/uploads/2019/05/Serverless-Architecture.jpg

Es un concepto tan abstracto como la nube y con un nombre igual de perverso, pero en la práctica es bastante útil. Este post consiste en una introducción muy simplificada al tema: qué es, para qué se puede usar, ventajas y desventajas, Serverless significa, literalmente, -sin servidor-, y es allí donde mi problema con el nombre empieza, “servidor” puede hacer referencia a:

* El backend de una aplicación, de acuerdo con los conceptos de la arquitectura cliente-servidor.
* El computador, la máquina física, donde corren las aplicaciones, donde están instaladas las bases de datos, etc.

Entonces a qué definición se refiere? Pues bueno, a la segunda. Serverless es un tipo de arquitectura donde los servidores (físicos o en la nube) dejan de existir para el desarrollador y en cambio el código corre en “ambientes de ejecución” que administran proveedores como Amazon, Google, IBM, etc.

Imagine el ambiente de ejecución como un REPL con esteroides. El proveedor define que lenguajes y versiones soporta y usted se encarga de escribir el código en dichos lenguajes. Su código deberá tener un único punto de entrada que ejecuta una única acción, es decir una sola función pública.

Cuando su función es invocada, ya sea por un request HTTP u otro evento, el ambiente de ejecución es iniciado, el código se ejecuta e inmediatamente el ambiente desaparece. Si la función es invocada mil veces, el proveedor se encarga de escalar y generar el número de ambientes necesarios para responder a las mil invocaciones.

Los proveedores cobran por el tiempo de ejecución del código. Mientras más rápido termine su función, menor es el costo que paga. Por lo tanto, se busca que la función sea pequeña y con un único propósito. Por este motivo serverless es relacionada frecuentemente con micro-servicios. Un término más claro que he visto a otros usar en vez de serverless es FaaS(function as a service). Sí, otro “as a Service”.

¿Cuándo usar arquitectura serverless?

Las funciones serverless son sencillas de usar cuando no se require guardar estado en memoria. Debido a que no se tiene control acerca de cuando los ambientes de ejecución son creados o destruidos, no se puede asumir que al guardar un dato en la memoria de la función, este se mantenga allí cuando la función sea nuevamente invocada.

Los siguientes son algunos ejemplos de cuando se está usando tecnologías serverless (por supuesto hay muchos más):

http://hypernovalabs.com/wp-content/uploads/2019/05/web-application-architecture.png

API Gateway

Imagine una aplicación móvil que lista las noticias de todos los portales de información colombianos.
La aplicación móvil puede usar una API Gateway serverless que consulta las noticias de todos los portales y las agrupa en una misma lista y en un único formato que su teléfono consume.
http://hypernovalabs.com/wp-content/uploads/2019/05/saas-integration.png

Una tarea programada


O puede tener una tarea programada que cada 30 minutos se ejecuta, lee y procesa un archivo csv y guarda el resultado en una base de datos relacional.
http://hypernovalabs.com/wp-content/uploads/2019/05/mobile-backend.png

Creación de thumbnails para imágenes


Puede implementar un servicio que cuando sube una foto a un lugar en la nube, una función serverless se ejecuta automáticamente y crea varias versiones de la misma foto en diferentes tamaños.
http://hypernovalabs.com/wp-content/uploads/2019/05/iot-backend.jpg

Orquestacion entre proceso

Functions admite desencadenantes según la actividad en una aplicación basada en software como servicio (SaaS). Por ejemplo, guarde un archivo en OneDrive, que activa una función que utiliza la API de Microsoft Graph para modificar la hoja de cálculo y crea gráficos adicionales y datos calculados.

Leave a Reply

Your email address will not be published. Required fields are marked *

http://hypernovalabs.com/wp-content/uploads/2019/02/HNL-default-green-with-WHITE-320x320.png
Servicios
Subscribirse

Si desea recibir nuestras últimas noticias en su casilla de correo electrónico, simplemente suscríbase a nuestro boletín. ¡No te haremos spam, te lo prometemos!

Copyright by Hypernova Labs. All rights reserved.