Serverless para Startups
Published: 2022-04-22 14:01:44

## Quick resumen:
Las Startup se centran en mejorar la experiencia de usuario, y las iteraciones entre desarrollo y las implementaciones deben ser agiles. 
La arquitectura serverless no solo mejora el tiempo de salida al mercado sino que le permite a las startup centrarse en el desarrollo del producto al no tener q preocuparse por la gestion de recursos.
 



_En pocas palabras : que es serverless?_


Básicamente, utiliza un proveedor de nube para administrar completamente su infraestructura.
No tienes que preocuparte por servidores, escalabilidad, tolerancia a fallos, etc...
Todo está gestionado por el proveedor de la nube.
Referencia de AWS:
https://aws.amazon.com/es/serverless/

_Un poco de historia:_
Si bien se venia hablando de arquitecturas serverless, el hito que marca el nacimiento de lo que hoy conocemos fue el lanzamiento de Lambda en 2014.
Anteriormente, los equipos de operaciones asignaban los recursos en función de la previsión de la demanda, que tenía problemas generales, y los cálculos no debían exceder las capacidades del sistema. AWS Lambda lo ayuda a manejar las capacidades restrictivas del sistema al ofrecer recursos informáticos que se amplían o reducen en tiempo real.  

Según [Martin Fowler](https://martinfowler.com/articles/serverless.html) , hay dos áreas superpuestas que abarca serverless,

- Serverless se utilizó por primera vez como un concepto que describe la aplicación con servicios integrados de terceros y aplicaciones alojadas en la nube que administran la lógica del lado del servidor. Dichos servicios a menudo se describen como el "Backend (móvil) como servicio" o BaaS.

- Serverless también se puede describir como una arquitectura en la que la lógica del lado del servidor se escribe desde cero y se ejecuta en contenedores de cómputo sin estado que se desencadenan por eventos y se administran completamente por servicios de terceros. A menudo se lo conoce como "Funciones como servicio" o "FaaS", y uno de los ejemplos más significativos de su implementación es AWS Lambda.



 _Ventajas de la arquitectura sin servidor_
**Reduccion de costos:** la principal ventaja de la arquitectura sin servidor es que no pagamos por el hardware o cuando no se utilizan nuestros servicios. 
Parches y updates :Con la arquitectura serverless, esto corresponde completamente a su  proveedor de nube.
Revisiones más rápidas : una arquitectura serverless puede reducir el tiempo necesario para la implementación de " salir al mercado ".
**Simplificacion del codigo :** al usar FaaS, los desarrolladores pueden crear funciones simples que se realizan de forma independiente para lograr un solo rol.
**Escalabilidad :** planea crear una aplicación que es muy popular y, después de una campaña de marketing, explota. Nada de qué preocuparse allí. La arquitectura sin servidor tiene la capacidad de escalar automáticamente según el volumen de tráfico actual.


_Pero no todo es color de rosas:_
**Menor control:** su proveedor de la nube controla toda su infraestructura, lo que puede causar problemas si tienen algún problema por su parte. Problemas como tiempo de inactividad del sistema, límites inesperados, cambios de costos, pérdida de funcionalidad, actualizaciones de API forzadas y más.
**Migracion de proveedores:** los proveedores de la nube no son intercambiables, pueden tener los mismos servicios, pero lo más probable es que se implementen de manera diferente. Si desea pasar de un proveedor a otro, se verá obligado a realizar algunos cambios de código o incluso cambios de arquitectura.
**Complejidad :** las cosas se vuelven complejas cuando tienes muchas funciones. La complejidad puede surgir en el código, la arquitectura o incluso simplemente en la depuración.
**Pruebas :** las funciones de prueba unitaria no son tan difíciles, porque no tienen estado y están aisladas. La dificultad viene cuando hay que hacer pruebas de integración entre dos o más funciones.

**Entonces, serverless es el futuro de las startups?**
Serverless es el presente!
Cada vez son mas las empresas que optan por este modelo de arquitecturas, y los proveedores que les facilitan el camino.
AWS tiene su programa [Startups y AWS](https://aws.amazon.com/es/startups/?nc1=h_ls) en el cual brinda asesoramiento y apoyo para poder empezar.