Ventajas y desventajas de servicios y framework serverless

Clase 4 de 25Curso de Serverless Framework en AWS

Resumen

¿Cuáles son las ventajas de los servicios serverless?

Los servicios serverless ofrecen un sinfín de beneficios que pueden transformar completamente la manera en que piensas y manejas el desarrollo en la nube. Uno de los puntos más destacados es la rápida escalabilidad que ofrecen. Esto significa que la infraestructura se adapta automáticamente a la cantidad de tráfico que recibe tu aplicación, facilitando la rápida asignación de recursos cuando la demanda es alta. Este escalamiento y ajuste de recursos no solo es ágil, sino también económicamente ventajoso.

  • Eficiencia en costos: El costo escalará con el uso, lo cual es ideal para negocios en crecimiento.
  • Facilidad de despliegue: Las funciones serverless, como AWS Lambda, permiten realizar ediciones directamente desde la consola, optimizando tanto tiempo como costos operativos.
  • Eficiencia y buenas prácticas: Facilitan integrar buenas prácticas a través de herramientas de AWS y simplifican procesos de desarrollo gracias a la integración sencilla con otros servicios dentro del ecosistema AWS.

¿Cuáles son las desventajas de los servicios serverless?

A pesar de todos los beneficios que serverless tiene para ofrecer, también hay ciertas limitaciones a tener en cuenta. Una de las más discutidas es el "cold start" o arranque en frío, que puede causar latencia percibida por los usuarios.

  • Cold start: El tiempo para iniciar un recurso es perceptible y afecta la experiencia del usuario aunque existen técnicas para mitigar esto.
  • Restricciones en proveedores de servidores: No todos los proveedores de nube ofrecen un ecosistema serverless como AWS, Google Cloud Platform (GCP) y Azure. Por lo tanto, la elección del proveedor es crucial.
  • Capacitación requerida: Aunque te felicito por tomar un curso en serverless, esta tecnología puede no estar al alcance de todos los desarrolladores sin una adecuada formación.

¿Cuáles son las ventajas del serverless framework?

El serverless framework es un impulsor clave en el desarrollo serverless, agilizando y simplificando muchas tareas que de otro modo podrían ser complicadas.

  • Comunidad robusta: Al ser de código libre, una gran cantidad de recursos están disponibles en línea, desde foros hasta blogs.
  • Simplicidad en el uso del YAML: Utiliza un archivo serverless.yml, de fácil lectura y uso, ideal para definir funciones.
  • Integraciones y agnosticismo de la nube: Permite integraciones complejas y es compatible con varios proveedores de nube, facilitando un desarrollo ágil.

¿Cuáles son las desventajas del serverless framework?

También el serverless framework presenta sus propias desventajas, que deben ser consideradas antes de decidir su implementación.

  • Calidad del código variable: Gran parte del código comunitario puede tener errores o estar anticuado, afectando la productividad.
  • Limitaciones de infraestructura: Aunque es fácil de usar, el YAML no ofrece la misma flexibilidad para extender la infraestructura como otras herramientas (e.g. Terraform, Pulumi).
  • Dependencia de CloudFormation: Esto puede ser una ventaja o desventaja según el gusto por esta herramienta, ya que serverless framework utiliza CloudFormation para definir la infraestructura como código.

Finalmente, el serverless framework cuenta con una amplia variedad de plugins que pueden facilitar mucho el despliegue a producción, aunque esto puede complicar la elección de un camino claro para implementar funcionalidades. Las ventajas y desventajas del entorno serverless evidencian que, si se aprovechan correctamente, pueden representar una revolución en el desarrollo y operaciones en la nube. ¡No dejes de explorar esta apasionante tecnología!