Tres ventajas de usar arquitecturas Serverless

Juan Ricardo Herrera Gómez
17 de diciembre de 2019
3 min. de lectura
Tres ventajas de usar arquitecturas Serverless

Como suele pasar en el mundo de la tecnología, apróximadamente cada dos años van tomando fuerza nuevos conceptos cuando crece su adopción en el mercado. Este es el caso de Serverless.

¿Qué es Serverless?

Esta sencilla palabra heredada del inglés tiene un gran significado para el mundo TI. Podemos tomar parte de la definición de Deloitte para entenderlo: “es el proveedor de la nube el encargado de administrar los servidores y proporcionar un servicio de computo efímero para la ejecución de código a pedido, a través de solicitudes y eventos y sólo se le cobrará por esa ejecución”. Este nuevo concepto impacta todo el proceso de desarrollo cambiando la forma en que se desarrollan y despliegan principalmente los servicios del backend buscando una facilidad para la entrega de nuestros desarrollos, principalmente APIs.

Ahora que ya hablamos un poco sobre Serverless, veamos 3 grandes ventajas que podemos aprovechar de este nuevo concepto.

Pago por uso

Sabemos que la nube quita la necesidad de adquirir centros de cómputo físicos para nuestra organización, sin embargo la configuración y el mantenimiento de esta infraestructura sigue siendo una necesidad muy importante en nuestra organización.

Es responsabilidad de la organización mantener funcionando de forma correcta cada servidor que se necesite para el despliegue de nuestras aplicaciones. Esta responsabilidad lleva a cargar costos sobre nuestro presupuesto años tras año para el mantenimiento y soporte de la infraestructura.

[Si quieres conocer más sobre la computación de la nube te recomiendo este artículo]

Cuando hablamos de serverless, lo que buscamos es disminuir estos costos lo máximo posible. Los servicios de tipo serverless como lo son las funciones lambda en AWS, o las cloud functions en Google Cloud Platform nos invitan a realizar desarrollos sin pensar en los servidores sobre los cuales se van a desplegar nuestras aplicaciones.

Lo único que tenemos que saber es qué recursos son los necesarios (memoria) para mantener un estado correcto de nuestra aplicación. Con esta configuración, sólo vamos a pagar por el uso del servicio ahorrando los costos de mantener infraestructura dedicada y dar soporte sobre la misma.

Evitar conocimientos especializados para la operación

Uno de los costos que deben de tener en cuenta las organización es el soporte que se requiere para dar mantenimiento sobre lo que ya se encuentra funcionando y sobre los nuevos productos que se van a desarrollar.

Este servicio en algún momento se convierte en soporte especializado, puesto que los conocimientos requeridos para este proceso se van volviendo más escasos con el paso del tiempo y la salida de nuevas tecnologías al mercado, por lo tanto cabe la posibilidad de que se incremente su valor en el mercado.

Una forma de evitar que esto nos ocurra es realizando despliegues sobre infraestructura serverless, de esta forma una vez se despliegue el producto, el mantenimiento de la infraestructura se convierte en responsabilidad del proveedor cloud con el cual tengamos el servicio. Esto implica igual realizar una automatización de los despliegues a nivel de código para posteriormente obtener estos beneficios.

Para poner un ejemplo, podemos pensar en el servicio fargate de AWS o el servicio App Engine de GCP donde una vez desplegada la imagen de docker o la aplicación, el servicio está disponible para usarse y no va a necesitar un mantenimiento o soporte por parte de nuestra organización.

Si lo comparamos con el servicio de EKS, sí vamos a necesitar un equipo de soporte que ante cualquier eventualidad sobre los servidores o sobre cualquier otro componente de la infraestructura debe reaccionar; y usar ese soporte especializado es escaso y costoso.

Reducción en los costos y tiempos de desarrollo

Dentro de la construcción de software hay componentes que podrían ser incorporados a través de servicios serverless. Para poner un ejemplo, tenemos el API Gateway de AWS el cual ya se encuentra como servicio para ser utilizado por cualquier organización. Anteriormente, sin un componente serverless de este tipo en el mercado, lo natural era desarrollar a partir de algún producto o librería un API Gateway propio y desplegarlo para incorporar esta capacidad en nuestros proyectos.

[En la siguiente Lección te contamos Cómo crear una API Gateway con Zuul2]

Con el uso de servicios serverless nos vamos a ahorrar el tiempo que antes era invertido en estos desarrollos y avanzar en las funcionalidades propias del negocio que son las que al final van a permitir a las compañías generar una ganancia al desplegarlas en producción en un menor tiempo y por ende un menor costo.

Después de ver estas tres grandes ventajas de construir nuestros productos mediante arquitecturas serverless, lo siguiente es comenzar a probar estas tecnologías y sacarle provecho a estas bondades.

También dejamos como recomendación que antes de usar este tipo de servicios, comencemos con casos de uso pequeños y posteriormente ir incrementando su uso, así la experiencia nos irá guiando sobre buenas prácticas y nos ayudará a identificar en qué partes de nuestro producto nos generan más valor.

Para terminar, los invito a continuar leyendo sobre los pro y las contra de utilizar arquitecturas serverless y no llevarnos alguna sorpresa en el camino.

Descarga el eBook con la guía básica sobre Open Banking

 

Te puede interesar

Otros artículos de Tecnologia e Innovación

Suscríbete

No Comments Yet

Let us know what you think