31-03-2021

Serverless: qué es y para qué usarlo

Serverless es un nuevo concepto cada vez más extendido debido a las ventajas que ofrece. Y aunque su traducción literal sea "sin servidor" esta no es del todo cierta. En esta nueva entrada en el blog te contamos las novedades y te desvelamos las ventajas que ofrecen los servicios Serverless.
Serverless: qué es y para qué usarlo background

¿Qué es un servidor?

Un servidor es una -o un conjunto- de computadoras equipadas con un software capaz de recibir peticiones de otras máquinas y darles una respuesta concordante con su petición.

Disponer de un servidor supone su contratación, la cual comporta unos costes de mantenimiento, tiempo de actividad y recursos. Estos costes tendremos que soportarlos de forma continua, independientemente de que este servidor esté recibiendo solicitudes o esté inactivo.

¿Serverless?

El término Serverless, aunque podamos traducirlo como “sin servidor”, no significa que no se necesite un servidor físico, sino que el servidor deja de ser importante para nosotros como desarrolladores.

Nuestro código, organizado en funciones, correrá en un ambiente de ejecución. Este ambiente de ejecución es iniciado en el momento en que se invoca nuestra función y deja de existir inmediatamente tras la ejecución del código.

Si la función ha de ejecutarse repetidas veces, el proveedor se encarga de generar tantos ambientes de ejecución como sean necesarios.

Servicios Serverless más conocidos

Entre todos los servicios Serverless podemos destacar entre los muchos existentes:

  • AWS Lambda: Este servicio pertenece a Amazon, es el más conocido y tiene soporte para lenguajes como Pyhton, Go, Java, C# o Node.js. Una de las empresas más conocida que utiliza este servicio es Netflix.
  • Azure Functions: Es el servicio serverless de Microsoft y soporta lenguajes como C#, Javascript, F#, Java, Poweshell, Python o Typescript.
  • Google Cloud Functions: Perteneciente a Google, solamente se puede usar código Javarscript para ejecutarse en un entorno Node.js, Python o Go.

Beneficios de Serverless

Las funciones Serverless son fáciles de usar cuando no se requiere guardar estado en memoria. Esto es así porque no controlamos cuando los ambientes de ejecución son creados o destruidos y, por tanto, no podemos asumir que al guardar un dato en la memoria de la función, este permanezca cuando la función sea invocada de nuevo.

Algunos de los beneficios que nos aportará utilizar Serverless, son los siguientes:

  • Menor gestión y mantenimiento: Desarrollaremos el código sabiendo que utilizará el ambiente de ejecución que hemos descrito, lo cual es independiente de actualizaciones, de instalación de software o de gestionar puertos de acceso, entre otras cosas.
  • Pago por uso: Solamente pagaremos por el tiempo en que dura la ejecución de nuestras funciones.
  • Fácilmente escalable: El sistema podrá ser escalado de manera horizontal todo lo que lo necesites. Este crece y decrece en función de su uso y te permite añadir todos los clusters, balanceo de cargas, etc,…conforme lo vayas necesitando.

Casos de éxito: World Roller Games

En Mecexis conocemos de primera mano los servicios Serverless y los implementamos en aquellos proyectos que se ven beneficiados por su uso, como es el caso de los World Roller Games.

Para este proyecto se desarrolló una API, la cual recopilaba información de diferentes competiciones en vivo, tales como los calendarios, participantes, clasificaciones, resultados y medallas, y respondía instantáneamente a las peticiones de la web y widgets oficiales que también desarrollo nuestro equipo.

La elección de este servicio para este proyecto supuso un ahorro significativo por parte del cliente, puesto que no hubo la necesidad de contratación de servidores que soportaran un volumen de peticiones elevadas. El servidor que se usaba crecía y decrecía en función del número de peticiones a la API. Además, utilizar Serverless nos aportó un plus en estabilidad, puesto que pudimos garantizar una operatividad del servicio en todo momento.

Conclusión

Los servicios Serverless, aunque se denomine “sin servidor”, no significa que no necesite de un servidor físico, sino que el servidor pasa a ser una parte menos visible del sistema.

Entre todos los servicios Serverless podemos destacar el AWS Lambda, el Azure Functions y el Google Cloud Functions.

Los beneficios que más remarcamos de este servicio son una menor gestión y mantenimiento, el pago es solo por uso y la facilidad de escalado.

¿Habías oído hablar de este servicio? Síguenos en nuestras redes sociales, Instagram y Facebook, para no perderte otros temas de interés.

Todas las categorías

Desarrollo y diseño web a medida: ventajas y desventajas

Hacer una página web puede ser un proceso intimidante para las empresas. Una de las preguntas más recurrentes durante el proceso de decisión, es decidirse por implementar un CMS tipo Wix, Wordpress, Squarespace o Shopify o apostar por un desarrollo a medida. Desgranaremos las ventajas e inconvenientes más importantes para ayudarte a decidir.

Leer el artículo

Aplicaciones de rastreo: son seguras? para que sirven?

Con la Covid-19, las aplicaciones de rastreo se han convertido en tendencia, pero qué sabemos de ellas? Cómo funcionan? Recopilan información nuestra? Consumen un alto porcentaje de batería?

Leer el artículo

Cómo generar tráfico a tu sitio web: las claves para conseguirlo

Cuando desarrollamos una web para potenciar nuestro negocio, nuestra intención es que, desde el primer momento, tengamos muchos visitantes, pero no siempre ocurre así. Aunque el sitio sea muy bonito, si no se ha diseñado de forma correcta o no dispone del contenido adecuado, parece como si fuese invisible para los buscadores, no atrayendo a nuevos visitantes. Aquí te contamos por qué ocurre esto y, sobre todo, cómo evitarlo.

Leer el artículo