Debe pensar en el rendimiento y la estrategia de escalado para su aplicación web desde cero.
Infraestructura
- Velocidad de procesamiento: según la forma en que la aplicación de “computación extensa” está tratando, necesita encontrar una forma de aumentar y reducir el número de procesadores asignados a la aplicación, incluidas todas las capas (base de datos, servidor de aplicaciones, etc.)
- Memoria: La mayoría de las aplicaciones web son memoria pesada. Así que asegúrate de asignar más de lo que crees que es suficiente memoria. Además, más memoria le permitirá a la aplicación trabajar fuera de la memoria, haciéndola más rápida y liberando a los desarrolladores de las tareas de administración de memoria.
- IO: La tasa de entrada y salida del disco / s afecta el rendimiento de la aplicación en gran medida. Dependiendo de la cantidad de memoria que asigne, la paginación y las confirmaciones de transacción requerirán IO de alta velocidad durante los picos. Las soluciones de almacenamiento más rápidas, como las unidades de memoria flash, pueden ayudar pero consideran la durabilidad y los planes de respaldo sólidos con esas.
- Red: las aplicaciones web son una red pesada. Durante el pico, debe asegurarse de que todos los componentes de su aplicación puedan comunicarse de manera eficiente entre sí, acortando el tiempo de respuesta. También asegúrese de tener ancho de banda de Internet a escala empresarial disponible para que sus servidores externos y servidores proxy se comuniquen con el resto del mundo.
La virtualización y las plataformas basadas en la nube intentan abordar la escalabilidad de estas cuatro áreas, pero el prototipo antes de bloquearse en una de esas.
Almacenamiento : las aplicaciones web con requisitos de uso y carga inconsistentes requieren soluciones de almacenamiento flexibles y escalables. Considere bases de datos de tipo no-sql para evitar la rigidez del esquema y ciclos de desarrollo más eficientes.
- Quiero abandonar la sexta forma. ¿Qué es lo mejor que puedo hacer?
- ¿Cuál es su consejo universitario para un aspirante, de estilo Hans-Zimmer, compositor híbrido?
- ¿Cuál es el mejor consejo que le puede dar al estudiante de 12º grado?
- ¿Cuál es la mejor manera de utilizar mi tiempo?
- ¿Qué consejo le darías a un joven guitarrista interesado en ganarse la vida tocando y escribiendo canciones?
Aplicación : evite los inconvenientes obvios, como las conexiones de base de datos no cerradas, demasiada dependencia de los servicios de terceros, haciendo demasiado en un solo usuario, etc. en la capa de desarrollo de aplicaciones.
UI y UX : las salas de espera inteligentes, whirlygigs, barras de progreso, vuelven más tarde, etc. muchas estrategias pueden ayudar como soluciones de cinta adhesiva, pero al implementar aquellas que están socavando problemas reales en su aplicación web. Puede usar estas técnicas para que los usuarios sepan cuánto necesitan esperar, etc., pero los usuarios acuden a su aplicación para lograr algo. Por lo tanto, será mejor que haga que su aplicación sea escalable en lugar de confiar en estas interrupciones.