Pasar al contenido principal

Serverless computing o informática sin servidores

Imagen Blog Serverless Computing

En esta nueva entrada les presentamos una introducción a Serverless, la práctica de desarrollo conocida como ‘sin servidor’, un tema candente en el mundo de la arquitectura de software. Los tres grandes vendedores de la nube: Amazon, Google y Microsoft están invirtiendo fuertemente en Serverless, y hemos visto muchos proyectos de código abierto, conferencias y proveedores de software dedicados al tema. Pero, ¿qué es Serverless, y por qué vale la pena considerarlo?.

Serverless computing, o la informática sin servidores, ofrece una experiencia al usuario simplificada, a partir de la construcción de aplicaciones que saltan el procedimiento de creación o administración de servidores.

De esta manera las aplicaciones o funciones se suben en una plataforma (que hace las veces de servidor); luego serán ejecutadas por múltiples servidores en diferentes ubicaciones, sin requerir mantener una arquitectura compleja y distribuida.

¿De verdad es computación sin servidores?

No... realmente es una plataforma para distribuir y ejecutar funciones de código en un entorno de contenedores de alta disponibilidad y escalables. Pero es más fácil decir Serverless y el término se quedó.

Serverless¿Qué es Serverless?

Serverless permite la ejecución de código en entornos simplificados proporcionados por un proveedor. Serverless sí usa servidores pero su administración, escalamiento, aseguramiento están delegados al proveedor. El desarrollador se enfoca principalmente en su código. Otro nombre dado a la práctica es el de FaaS - Function as a Service, o función como servicio aunque el nombre serverless es más popular.

En el método tradicional, el ingeniero de operaciones debe estar a cargo de labores como el mantenimiento, las actualizaciones, las escaladas de la aplicación y la capacidad que debe mantener el servidor. Con Serverless Computing, todas estas actividades se desarrollan de una manera automática. En esto último, reside la importancia de esta tecnología.

Serverless ComputingVentajas del serverless computing

Al liberar al desarrollador de la complejidad de los servidores, estos pueden dedicar más tiempo a las estrategias de la aplicación, pueden hacer enfoques más objetivos de lo que se está ejecutando, sin tener que prestar tanta atención a la infraestructura ejecución.

Así genera ahorro en materia económica. El método tradicional, obliga a quien desea ejecutar la aplicación, a incurrir en gastos de herramientas, recurso humano, instrucción y tiempo, generando altos costos; sin embargo, con la tecnología serverless computing, se reducen por el simple hecho de la automatización.

Serverless se puede pagar sólo por su tiempo de ejecución, es decir, que para los expertos en marketing viene muy bien a la hora de desarrollar campañas con un período de caducidad. En resumidas cuentas, existe la posibilidad de pagar solamente el tiempo en que se ejecuta el código.

Aplyca como proveedor de soluciones en la nube, a través de la informática sin servidores; ofrece esta tecnología a su alcance y le muestra las formas en que puede sacar mejor provecho de ella.

Características Serverless ComputingPrincipales características del Serverless Computing

Delega la administración de servidores: Los tiempos de ejecución del programa o servicio se definen de manera automática, no requieren de la verificación constante y mucho menos exige la instalación de plugins; simplemente el software se aplica de forma automática.

Proceso de escalado: Generalmente la capacidad de rendimiento y memoria, requiere de un proceso de escalado cuando requiere más recursos. Con la tecnología serverless computing, este proceso se puede ejecutar de forma automática cuando sea requerido.

Automatización: El proceso no requiere la carga de protocolos de contingencia, pues la tecnología cuenta con la tolerancia a los errores de aplicación de desarrollo, es decir, la aplicación proporciona los métodos de atención para tales casos.

Amazon Lambda - Serverless en AWS

AWS Lambda le permite ejecutar código sin aprovisionar o administrar servidores. Solo paga por el tiempo de cómputo que consuma; no hay cargo cuando el código no se está ejecutando.

Con Lambda, puede ejecutar código para prácticamente cualquier tipo de aplicación o servicio de back-end, todo con cero administración. Simplemente cargue su código y Lambda se ocupa de todo lo necesario para ejecutar y escalar su código con alta disponibilidad.

Azure Functions - Serverless en Azure  

El Framework Serverless lo ayuda a desarrollar y desplegar aplicaciones sin servidor usando Azure Functions. Es una CLI que ofrece estructura, automatización y mejores prácticas listas para usar, lo que le permite concentrarse en crear arquitecturas sofisticadas, basadas en eventos y sin servidores, compuestas por funciones y eventos.

El Framework Serverless es diferente de otros frameworks de aplicaciones porque:

  • Administra su código y su infraestructura

  • Es compatible con varios idiomas (Node.js, Python, Java y más)

InfraestructuraFinalmente y a manera de conclusión, es importante entender que esta tecnología se desarrolla enteramente en la nube, es de fácil programación a través de un servidor común y totalmente funcional.

Esta tecnología recoge confiabilidad, rapidez, seguridad, rendimiento, rentabilidad, productividad y desarrollo; en definitiva es una forma de poner en relieve el avance del software.

Las grandes marcas han decidido apostar a esta tecnología, su organización  también puede poner aplicaciones en la nube sin la necesidad de usar servidores tradicionales.

Si su organización tiene interés en implementar Serverless Computing de la mano de expertos, lo invitamos a contactarnos.