Serverless, más allá del Tag Manager

ServerLess

Serverless, más allá del Tag Manager

Cuando te dedicas a la recolección de datos digitales, sueles trabajar con dos herramientas: los tag managers y las guías de etiquetado (documentos donde se indica a los desarrolladores del canal cómo se debe hacer la recolección). Una vez que se ha realizado esa captura de información, ya es cuando se procede a enviarla a herramientas de analítica web, DMPs, DSPs, testing, etc. Si nos paramos a pensar, nuestra capa de acción, en el mejor de los casos, queda vinculada al propio canal mediante el uso del Tag Manager. Pero, ¿qué pasa cuando quieres ir un poco más allá? Cuando quieres hacer algo como traer información de un perfil de usuario de una base de datos o quieres exponer un modelo de riesgo para personalizar la experiencia al usuario. Estas son tareas que están pensadas para hacerse en el back o lo que es lo mismo en un servidor.

Para la gente como yo, que nos dedicamos a trabajar con herramientas SaaS, tener que preocuparnos de un servidor, puede ser un dolor de cabeza. Lo primero que tendrás que hacer será definir un SLA en el que detalles cómo va a ser tu servicio, el tiempo que aseguras que lo vas a tener activo, cuál va a ser tu tiempo de respuesta en el caso de que se caiga, etc. Alguien que se dedique a la parte de sistemas seguro que ese es su día a día, pero para el resto puede ser un dolor de cabeza y un factor determinante para no ofrecer un servicio a un cliente. Hace unos tres años, Amazon Web Services nos sorprendió con un producto llamado Lambda Functions, el cual nos permite programar una funcionalidad y olvidarnos de la capa de infraestructura, permitiéndonos así decir adiós al dolor de cabeza. Este tipo de servicios se conoce como Serverless, que, como su propio nombre nos lleva a pensar, lo que se hace es desacoplar la parte de sistemas (que la gestionaría el servicio en la nube con el que trabajes) y la parte del software. Casi todas las plataformas de computación en la nube se están sumando a esta tendencia, Google con sus Functions, Microsoft con Azure Functions e IBM con OpenWhisk.

Para los que querías empezar a jugar con este tipo de servicios, más allá de hacer los tutoriales Hello World que ofrecen las plataformas, os recomendaría que utilicéis el Framework Serverless. Puede ser que la curva de aprendizaje, al principio, sea un poco mayor, pero os va a permitir tener una mejor visión de lo que podéis hacer, a parte de que con el mismo código os va a ser muy sencillo replicarlo en las distintas clouds.

Un punto que también cabe mencionar, es la forma de tarificar estos servicios Serverless. Se suele hacer por número de ejecuciones de funciones, el tiempo de ejecución y la memoria dedicada para ejecutarla. Lo bueno es que los proveedores suelen ofrecer un volumen de solicitudes gratuitas mensuales que suele rondar el millón, esto nos va a permitir hacer nuestras primeras pruebas de forma gratuita, incluso si tenemos servicios poco demandados, que nuestra herramienta en producción no tenga ningún coste.

Ahora que están tan de moda los casos de uso, os voy a poner un par de ejemplos de cómo las he utilizado. Si habéis trabajado con Google Analytics, sabréis que las cookies que maneja son primera parte y que, por tanto, el ID de usuario queda vinculado al dominio de la web en la que esté implantado. Cuando trabajamos con más de un dominio, tenemos el problema del paso de usuario desde el dominio A al B. Por defecto, solo seremos capaces de controlarlos si se hace mediante un enlace desde el dominio A. Para hacer algo más completo vamos a necesitar, en algún punto, una cookie de tercera parte, las cuales se fijan de lado servidor. Lo que podemos hacer es programar una función Serverless que, al ejecutarse, nos recupere un ID de usuario y lo fije en una cookie. Otro ejemplo es la creación de un sistema de recolección de datos propio, para hacer esto en algún punto vamos a tener que enviar la información desde el canal hasta nuestro sistema de almacenamiento. Para hacerlo, podemos exponer de manera pública, una sencilla API creada a través de funciones Serverless que nos recojan el dato y nos los envíen a nuestra cola de mensajes o lo inserten directamente en la propia base de datos, datawarehouse o sistema de almacenamiento Big Data.

Esto no es más que una pincelada de lo que es Serverless. Dos conceptos que no quiero dejar sin indicar son: Serverless está muy vinculado a un paradigma de arquitectura que es el de micro-servicios, permitiéndonos crear servicios verdaderamente complejos a través de este tipo de funciones y el tipo de programación aplicada es la orientada a eventos.

No en todos los casos podremos utilizar estas funciones Serverless, pero lo que creo que está claro es que son de gran utilidad y su uso se va a ir extendiendo cada vez más. Un buen ejemplo de esto es la conferencia Serverlessconf que, en solo un par de años, ha pasado de hacerse en un pequeño salón de actos a ser un gran evento. Y vosotros ¿ya conocíais el concepto?, ¿en qué casos lo habéis utilizado?

 

*Fuente de la imagen destacada: Serverless Inc.

No hay comentarios

Envíanos tu comentario

quince + 5 =

¡Suscríbete a nuestra newsletter mensual Stay Sharp!

Para más información

CONTÁCTANOS