Ambos estilos de arquitectura tienen como objetivo reducir el tiempo de comercialización [1] [2], permitir manejar los requisitos cambiantes con menos esfuerzo y reducir los costos de operación en entornos con mayor carga .
¿Qué son los microservicios?
Los microservicios son una forma específica de construir arquitecturas orientadas a servicios: los servicios tienden a ser más pequeños y los protocolos son livianos. REST + JSON, por ejemplo, son protocolos muy comunes en una arquitectura de microservicio, pero también AMQP.
- ¿Cuáles son las mejores alternativas para los servicios de Google Cloud Platform para desarrolladores en términos de costos y rendimiento?
- ¿Es cierto que todo estará en la nube en el futuro y no habrá computación de escritorio?
- ¿Las nubes son esponjosas o duras en la naturaleza?
- ¿Un servidor en la nube depende del hardware de un único servidor físico?
- ¿Por qué Facebook no proporciona servicios similares a AWS o Google App Engine?
¿Qué es sin servidor?
Las arquitecturas sin servidor consisten en dos conceptos diferentes [3] [4]
- Función como servicio (FaaS)
- Backend como servicio (BaaS)
Ver, Propósitos del estilo de arquitectura sin servidor:
Cuando utiliza un BaaS, ya no está creando API con las que habla su aplicación cliente. En cambio, su aplicación cliente se comunica con la base de datos directamente con una capa de autenticación ligera y genérica frente a la base de datos.
A menudo, el backend de una aplicación debe realizar tareas asincrónicas de larga ejecución, aquí es donde entra FaaS . Una función como solución de servicio le brinda la posibilidad de cargar un código que debe ejecutarse en un evento específico. Por ejemplo, cuando se ha insertado un registro en BaaS.
Las arquitecturas sin servidor son más eficientes para compartir recursos. Por ejemplo: una aplicación del cliente A podría usar el mismo BaaS multitienda que la aplicación del cliente B, C y D. Posteriormente, todos estos clientes compartirán los costos de operación del BaaS . Además, los clientes de FaaS pagan por el recuento de ejecución de una función en contraste con los microservicios en los que usted paga por los procesos en ejecución, independientemente de si hay alguna carga o no.
En mi opinión, existe el riesgo de que arruines tu arquitectura con un conjunto de funciones que no se pueden mantener (cuando usas FaaS) y que termines sin un pegamento cuyas funciones dependen unas de otras.
Notas al pie
[1] Propósitos del estilo de arquitectura sin servidor
[2] Propósitos y compensaciones del estilo de arquitectura de microservicios
[3] Propósitos del estilo de arquitectura sin servidor
[4] Arquitecturas sin servidor