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

Django: 9 motivos por los que es un gran framework para desarrollo web

Django es una opción que ha demostrado su eficacia como un Framework confiable de desarrollo para construir sitios web rápidos y escalables. También es una de las opciones más populares que existen para los desarrolladores que quieren crear sitios web con código Python. He aquí por qué Django podría ser la opción correcta para usted también.

Leer el artículo

AWS Cognito: Ventajas y desventajas de este producto de Amazon

Cognito es un producto de Amazon Web Services (AWS) diseñado para simplificar la gestión de usuarios y el acceso a la identidad para aplicaciones móviles, inicios de sesión en sitios web o cualquier otro tipo de cuenta de usuario accesible por Internet. Tanto si estás pensando en implementar Cognito como si ya utilizas este servicio de AWS, es importante entender las ventajas y desventajas de esta tecnología antes de avanzar.

Leer el artículo

Servicios relacionados

Descubre los servicios relacionados con este artículo.

Ver más

Aplicaciones web

Nuestras aplicaciones web son desarrolladas mediante el estudio de las características y motivaciones de tu público objetivo. Con nuestra experiencia, creamos una aplicación web que te conecte con tu audiencia.

  • HTML + CSS + Javascript
  • Django
  • Python
  • Flutter
  • Firebase
Ver servicio

Aplicaciones móviles

Nuestras aplicaciones móviles son creadas mediante el análisis de vuestras necesidades y preferencias. Así pues, elegimos la mejor tecnología para crear las aplicaciones móviles que te conecten con tu público objetivo.

  • Flutter
  • Firebase
  • Python
Ver servicio

Páginas web

La presencia de tu marca en internet no se limita solo en estar, es un canal directo con tus clientes con la capacidad de elevar tu negocio al siguiente nivel. Establecer una relación con tu cliente va mucho más allá de la elección de una plataforma.

  • HTML + CSS + Javascript
  • Python
  • Django
  • Vue.js
Ver servicio

Tienda online — E-commerce

El desarrollo de un e-commerce puede abrir las puertas de tu negocio al mundo. Siendo un mercado tan competitivo este reto solo es posible con un gran equipo detrás como Mecexis.

  • Carticious
  • Python
  • Django
  • HTML + CSS + Javascript
  • Vue.js
Ver servicio

Outsourcing

Tanto si tienes un volumen extra de trabajo en tu proyecto de desarrollo o diseño, o como si necesitas un equipo especializado para implementar una tarea dentro de tu equipo, estamos preparados para ayudarte.

  • Django
  • Python
  • Flutter
  • HTML + CSS + Javascript
  • Vue.js
  • Lambda
  • Firebase
Ver servicio