Comprender las ventajas y desventajas de trabajar con servicios serverless es fundamental antes de construir aplicaciones en la nube. De igual forma, conocer los puntos fuertes y débiles de Serverless Framework como herramienta de desarrollo permite tomar decisiones informadas. A continuación se desglosan los aspectos más relevantes que se abordan en la clase, diferenciando claramente entre el paradigma serverless y el framework que lo potencia.
¿Qué ventajas ofrece serverless en AWS?
Al no aprovisionar servidores ni sistemas operativos, las aplicaciones serverless escalan de forma extremadamente rápida [01:00]. Esto significa que los recursos se crean automáticamente según la demanda o el tráfico en cualquier momento del día. Esa capacidad de escalado automático genera una excelente relación costo-beneficio: a mayor cantidad de usuarios, el negocio crece para suplir ese tráfico y la facturación de AWS refleja únicamente el consumo real [01:26].
Otro punto destacable es la sencillez para desplegar y operar. Con funciones Lambda, por ejemplo, es posible editarlas y desplegarlas directamente desde la consola de AWS, además de configurar variables de entorno o secretos mediante servicios como Parameter Store [01:52].
¿Cómo mejora serverless el proceso de desarrollo?
Trabajar dentro del ecosistema serverless impulsa la adopción de buenas prácticas ampliamente usadas en la industria [02:14]. Además, la integración con otros servicios de AWS resulta natural. Herramientas como API Gateway, SQS y DynamoDB se conectan de manera fluida con las funciones Lambda, lo que amplía las posibilidades de arquitectura sin complejidad adicional [02:30].
Un dato importante: todas estas ventajas se pueden mapear directamente con los seis pilares del AWS Well-Architected Framework [02:49], un marco de referencia que guía el diseño de aplicaciones seguras, eficientes y resilientes en la nube.
¿Cuáles son las desventajas de serverless?
El primer punto a considerar es el cold start o arranque en frío [03:10]. Cuando un servicio serverless se invoca por primera vez, existe un tiempo de aprovisionamiento que el usuario puede percibir como latencia. Sin embargo, a partir de esa primera ejecución, los recursos posteriores no requieren este arranque. Existen técnicas para mitigar su impacto y reducir la percepción de lentitud.
¿Todos los proveedores ofrecen ecosistema serverless?
No todos los cloud providers cuentan con un ecosistema serverless completo [03:50]. AWS, GCP y Azure son los tres principales y ofrecen un gran conjunto de herramientas. Otros proveedores pueden tener opciones limitadas o inexistentes, lo que representa un riesgo de dependencia del proveedor.
También hay que considerar que no todo el mundo está preparado para trabajar con serverless [04:15]. Requiere un cambio de mentalidad y conocimientos específicos. Finalmente, existen restricciones técnicas a nivel de sistema operativo, memoria RAM y timeouts que limitan la ejecución del código en la nube [04:42].
¿Qué ventajas y desventajas tiene Serverless Framework?
Serverless Framework es una herramienta de código libre con una gran comunidad detrás [05:08]. Esto significa acceso a foros, blogs y documentación actualizada constantemente. Su archivo de configuración, el serverless.yml, utiliza sintaxis YAML que resulta fácil de leer y cercana al desarrollador [05:24].
- La cantidad de conocimiento necesario para desarrollar aplicaciones es mínima.
- Permite integraciones con herramientas de continuous integration y continuous delivery.
- Es agnóstico de la nube: funciona con AWS, GCP y Azure [05:56].
¿Cuáles son sus limitaciones como herramienta?
Al depender de contribuciones de la comunidad, parte del código disponible en internet puede contener bugs o estar desactualizado [06:26]. Además, aunque el serverless.yml es práctico, no permite extender la lógica de infraestructura con la misma profundidad que herramientas como Terraform, Pulumi o el CDK de AWS [06:50].
Otras consideraciones relevantes:
- Se requieren conocimientos previos de cloud y serverless para aprovechar la herramienta [07:04].
- Depende directamente de CloudFormation para definir recursos e infraestructura como código [07:22].
- La gran cantidad de plugins disponibles puede generar confusión al no tener un camino único de implementación [07:40].
Ahora que conoces los pros y contras tanto del paradigma serverless como de Serverless Framework, comparte en los comentarios qué otros cloud providers conoces y si cuentan con ecosistema serverless.