Hoy prefiero decir aplicaciones en la nube a aplicaciones web, porque el rendimiento de las consultas es un asunto muy importante para cualquier aplicación en línea, web o no.
Consultas
Un ingeniero primero debe conocer las consultas, transacciones o disparadores más importantes y pesados que tendrá la aplicación. Si él sabe eso, puede, incluso antes de escribirlos, pensar en cómo evitarlos y su futura lentitud, por ejemplo, creando una arquitectura especial de tablas involucradas (sí, porque a veces deberíamos hacerlo mejor de lo que enseña el modelo ER), usando soluciones sin sql o tratando de poner algunos datos en el lado del cliente.
- ¿Cuál es la infraestructura detrás de Quora?
- ¿Cuál es el mejor entorno de programación en línea (IDE) para desarrollar aplicaciones web adecuadas para alguien que no ha programado durante diez años?
- ¿Cuál es una buena plataforma que me permite crear una aplicación web sin escribir ningún código?
- ¿Qué es un WebSocket en términos simples? ¿Cómo puede un servidor enviar datos a un cliente sin una conexión abierta larga?
- ¿Es Ruby on Rails el mejor marco web para crear aplicaciones web?
Quiero decir que debes tratar de evitar escribir las pesadas consultas que sabes que existirán. Tienes que ser muy creativo, listo para usar.
Caché de aplicaciones
A veces, la caché de los frameworks o la caché de los servidores no son suficientes, por lo que los ingenieros deben escribir el propio sistema de caché de las aplicaciones para evitar realizar transacciones lentas. Debe estar muy bien diseñado.
Servidor de base de datos
Los ingenieros también deberían pensar en múltiples bases de datos y servidores de bases de datos equilibrados. Impacta mucho el diseño de la arquitectura de la aplicación.
Vigilancia
Antes del lanzamiento y durante la planificación, los ingenieros deben saber cómo supervisarán las consultas lentas y las acciones lentas mientras se ejecuta la aplicación. A veces, las soluciones de bases de datos pueden no ser suficientes y debe diseñar algo.