La computación en la nube ha transformado cómo operan los negocios, permitiéndoles escalar los recursos según la demanda sin tener que mantener una costosa infraestructura. La computación sin servidor lleva esto un paso más allá, permitiendo a los desarrolladores ejecutar código sin aprovisionar o administrar servidores en absoluto. Aquí hay una descripción general de esta tecnología emergente y por qué puede ser la próxima evolución de la nube.
¿Qué es la computación sin servidor?
Con la computación en la nube tradicional, se alquilan máquinas virtuales y se paga por el tiempo que están ejecutándose. Esto se conoce como Infraestructura como Servicio (IaaS). Con la computación sin servidor, también conocida como Funciones como Servicio (FaaS), implementa código y el proveedor de la nube lo ejecuta automáticamente sin tener que administrar ningún servidor.
Se le factura en función del tiempo de computación utilizado para ejecutar su código. Cuando su código no se está ejecutando, no paga nada. Esto hace que sin servidor sea perfecto para cargas de trabajo impulsadas por eventos, intermitentes o con demandas de computación variables.
Principales beneficios de sin servidor
Sin administración de servidores: Olvidarse por completo de los servidores permite a los equipos de desarrollo centrarse en la escritura de código, no en las operaciones. El proveedor de la nube se encarga de la planificación de capacidad, implementaciones, escalabilidad, parches y más.
Pago por ejecución: Nunca más pague por capacidad inactiva. Se le cobra en incrementos de milisegundos de tiempo de computación en lugar de tarifas de alquiler mensuales o por horas. Esto puede reducir significativamente los costos para cargas de trabajo infrecuentes.
Auto-escalado: las plataformas sin servidor escalan su código automáticamente, activando más recursos informáticos según sea necesario para manejar la carga. Esto hace que sin servidor sea ideal para cargas de trabajo irregulares o impredecibles.
Desarrollo más rápido: Omita el aprovisionamiento de infraestructura y la configuración de entornos. Simplemente implemente el código y deje que la plataforma se encargue del resto. Esto acelera los ciclos de desarrollo.
Soporte de código abierto: La mayoría de las plataformas sin servidor funcionan con herramientas de código abierto populares como Terraform, lo que permite enfoques de infraestructura como código.
Casos de uso comunes sin servidor
Estos son algunos de los casos de uso más populares para arquitecturas sin servidor:
- Backends web y móviles – Sin servidor es perfecto para API REST, mensajería en tiempo real, procesamiento de archivos y más para aplicaciones web/móviles.
- Procesamiento de datos – Programe trabajos recurrentes para limpiar, transformar y mover datos sin servidores para administrar.
- Pipelines ETL – Construya complejos procesos de extracción, transformación y carga que se auto-escalan para satisfacer la demanda.
- Backends de IoT – Maneje volúmenes altos e intermitentes de datos de dispositivos IoT.
- Chatbots – Cree fácilmente bots que pueden escalar cargas de trabajo conversacionales según sea necesario.
Posibles inconvenientes a considerar
Por supuesto, la computación sin servidor no es perfecta para todas las cargas de trabajo. Algunos inconvenientes clave a considerar incluyen:
Solo estadoless – Las funciones sin servidor deben ser sin estado, lo que puede requerir reestructurar aplicaciones más monolíticas. Los almacenes de datos externos pueden proporcionar persistencia.
- Inicio en frío – Cuando las funciones se ejecutan por primera vez después de estar inactivas, incurren en latencia para iniciar la infraestructura del contenedor, lo que afecta los tiempos de respuesta.
- Sobrecarga de monitoreo – Se requiere un seguimiento distribuido para monitorear aplicaciones sin servidor, ya que se ejecutan en un entorno compartido y opaco.
- Bloqueo de proveedores – Puede haber cierto bloqueo en los servicios propietarios de un proveedor de nube específico. Algunas opciones de código abierto ayudan a aliviar esto.
- Optimización de costos – La facturación de pago por ejecución puede ser compleja de estimar y optimizar, especialmente para cargas de trabajo con uso sostenido.
- Dificultades de depuración – Las funciones efímeras que se ejecutan en un entorno remoto pueden dificultar la depuración en comparación con el desarrollo y las pruebas locales.
En Resumen
Sin servidor representa un gran salto adelante en la abstracción de la infraestructura de los desarrolladores. Si bien todavía es una tecnología emergente, ofrece una propuesta de valor convincente: sin operaciones, escala infinita y bajos costos para cargas de trabajo intermitentes. A medida que las plataformas maduran y abordan los inconvenientes en torno al estado, los inicios en frío y la depuración, se espera que la adopción de sin servidor se acelere en startups y empresas por igual. La siguiente fase de dominio en la nube bien puede estar impulsada por la computación sin servidor.
La computación sin servidor permite a los desarrolladores implementar código sin administrar servidores. Proporciona escalado automático y facturación por pago por ejecución, por lo que es ideal para cargas de trabajo intermitentes o irregulares. Si bien todavía está madurando, sin servidor ofrece una visión del futuro de la nube y hacia dónde se dirige.
Glosario
- IaaS: Infraestructura como Servicio, el proveedor de la nube aloja hardware como servidores y almacenamiento para que usted use. Ejemplos son AWS EC2, Azure Virtual Machines.
- FaaS: Funciones como Servicio, un modelo sin servidor donde implementa fragmentos de código y el proveedor los ejecuta automáticamente. Ejemplos son AWS Lambda, Azure Functions.
- API REST: REST o RESTful APIs permiten que los sistemas accedan y manipulen datos mediante solicitudes HTTP estándar como GET, POST, PUT, DELETE. Común en aplicaciones web y móviles.
- ETL: Extraer, transformar, cargar, el proceso de extraer datos de una o más fuentes, limpiarlos o modificarlos, y luego cargarlos en un destino. Comúnmente utilizado para mover datos a almacenes de datos.