TL; DR : Sí.
Durante los últimos 20 años en infraestructura y sistemas de back-end, el panorama general se ha visto así:
- Utilice un servidor básico, almacenamiento y hardware de red que se puedan replicar de manera bastante homogénea;
- Use una combinación de redundancia física (alimentación, red, servidores) y redundancia virtual (replicación de información) para eliminar puntos únicos de falla (SPOF);
- Utilice demultiplexores (p. Ej., Equilibradores de carga) para distribuir la carga en una matriz de servidores sin estado (o virtualmente coherentes) para manejar cualquier nivel de carga concebible (es decir, cualquier cantidad de tráfico que pueda ingresar en una interfaz determinada);
- Asigne servidores según sea necesario a cualquier matriz de servidores cuya carga exceda un umbral, y desasigne servidores según sea necesario cuando la carga retrocede por debajo de un umbral inferior;
- Amplíe las mismas nociones de “dentro de un solo centro de datos” a “en múltiples centros de datos”, para proporcionar enrutamiento geográficamente inteligente y disponibilidad en todos los centros de datos;
- Empuje los artefactos estáticos y relativamente estáticos (por ejemplo, versionados) hasta el borde (CDN) para obtener ganancias de eficiencia dramáticas;
- Automatiza todo lo anterior.
El concepto de “sin servidor” simplemente significa “crear aplicaciones de una manera que les permita implementarse fácilmente en un entorno como el descrito anteriormente”. El concepto de NoSQL es mucho más amplio (es más un anti-concepto que un concepto), pero muchos de los productos que usan la etiqueta NoSQL están destinados a entornos de productos de escala horizontal.
- ¿Qué es el front end y el back end?
- ¿Qué significa back-end en el sector privado?
- ¿Cuáles son las mejores fuentes para aprender diseño web (front-end) y Node.js (back-end)?
- ¿Cuál es la diferencia entre desarrollo web y diseño web? ¿Qué es el desarrollo front-end y back-end?
- ¿Las API de descanso son más lentas que usar directamente un SDK para interactuar con un back-end?
Al final, sin embargo, los sistemas son tan fuertes como su eslabón más débil, y eso tiende a ser los humanos que operan los sistemas. A medida que la complejidad de los sistemas crece más rápido de lo que la automatización puede alcanzar, la confiabilidad general tiende a disminuir con el tiempo. Cuando la automatización supera la innovación, la confiabilidad general tiende a aumentar con el tiempo.
La automatización es el ingrediente clave de la alta disponibilidad. También puede representar el fin de la industria tal como la conocemos. De cualquier manera, es inevitable, y lo descubriremos pronto.
(P: “¿Las interrupciones no serían cosa del pasado si todos los servicios de back-end se construyeran en sistemas infinitamente escalables como sin servidor y NoSQL?” )