¿Qué es la arquitectura sin servidor?
Sin servidor (arquitectura sin servidor) significa que los desarrolladores implementan la lógica del lado del servidor. La aplicación se ejecuta en un contenedor informático sin estado, se activa mediante eventos y está completamente administrada por un tercero. El estado del nivel se almacena en una base de datos u otro medio.
Serverless permite a los desarrolladores centrarse más en la lógica empresarial y menos en la infraestructura.
Serverless generalmente incluye dos campos: BaaS (Backend as a Service) y FaaS (Function as a Service)
BaaS es un sistema sin servidor que depende en gran medida de aplicaciones y servicios de terceros. Método de cálculo del servidor. Los proveedores de BaaS pueden proporcionar cifrado, autenticación de usuarios y uso de bases de datos en la nube. Se puede acceder a estos servicios llamando a la API proporcionada por el proveedor de la nube; estas funciones se pueden integrar más fácilmente en varios tipos de sistemas que desarrollarlas usted mismo.
FaaS es un servicio basado en eventos activado por mensajes. Los proveedores de FaaS generalmente integran varios eventos sincrónicos y asincrónicos (como el SNS de AWS, al suscribirse a estos eventos, se pueden activar funciones específicas, por ejemplo). , la función AWS Lambda ampliamente utilizada actualmente.
Ventajas de la arquitectura Serverless
Costes operativos reducidos:
Serverless es una solución de outsourcing muy sencilla. Le permite delegar la gestión de servidores, bases de datos y aplicaciones e incluso la lógica a un proveedor de servicios. Dado que el número de usuarios de este servicio será muy grande, se producirán economías de escala. La reducción de costos incluye dos aspectos, a saber, el costo de la infraestructura y el costo del personal (operación/desarrollo/mantenimiento).
Reducir los costes de desarrollo:
Serverless, como servicio en la nube, permite comercializar todo el componente de la aplicación.
Escalabilidad:
El escalamiento horizontal es totalmente automatizado, elástico y administrado por el proveedor de servicios. El mayor beneficio de la infraestructura básica es que solo paga por la potencia informática que necesita.
Gestión más sencilla:
La arquitectura sin servidor es obviamente más sencilla que otras arquitecturas. Menos componentes significa menos gastos de gestión para usted.
Uso eficiente de los recursos informáticos:
Según las estadísticas de Forbes, los servidores típicos de los centros de datos comerciales y empresariales solo proporcionan una potencia de procesamiento máxima promedio de 5 a 15. Sin duda, esto es un enorme desperdicio de recursos. Serverless permite a los proveedores de servicios proporcionar nuestra potencia informática para satisfacer las necesidades en tiempo real al máximo y utilizar los recursos informáticos de manera más eficiente.
Desventajas de la arquitectura sin servidor
Gestión del estado:
Para lograr un escalado libre, es necesaria la ausencia de estado y, para servicios con estado, utilice la tecnología sin servidor. Esto resulta en una pérdida de flexibilidad.
Latencia:
Las aplicaciones sin servidor están altamente distribuidas y tienen un bajo acoplamiento, lo que significa que la latencia siempre será un problema y no es realista usar simplemente aplicaciones sin servidor.
Pruebas locales:
La dificultad de las pruebas locales de aplicaciones sin servidor es un tema muy espinoso. Aunque se pueden utilizar varias bases de datos y colas de mensajes en el entorno de prueba para simular el entorno de producción, la integración o las pruebas de un extremo a otro de las aplicaciones sin servidor son difíciles.