Proporcionar escalabilidad para aplicaciones ASP.NET

Por Iqbal Kan

La popularidad de ASP.NET, el marco de trabajo de aplicaciones web de Microsoft, sigue creciendo a pasos agigantados entre los desarrolladores, empresas y TI. Sin embargo, hay un área de dificultad: escalar aplicaciones ASP.NET listas para usar simplemente no es posible.

La escalabilidad tiene dos significados en este contexto. En primer lugar, debe poder manejar de manera efectiva las cargas máximas de usuarios porque cada aplicación pasa por picos y valles en términos de la cantidad de usuarios que inician sesión en cualquier momento. Cuando diseña la infraestructura, desea diseñar la aplicación para que pueda manejar las cargas máximas de manera tan eficiente y rápida como las cargas no máximas.

En segundo lugar, debe poder aumentar la capacidad total de su sistema. Hoy en día puede que tengas sólo 5,000 usuarios. En seis meses, dentro de un año, es posible que tenga 10,000, 15,000 o 20,000, y en unos pocos años podría terminar con 100,000 usuarios. Ser capaz de crecer con el número de usuarios sin detener la aplicación es de lo que se trata la escalabilidad. Significa que puede agregar más usuarios sin afectar negativamente el rendimiento de manera notable o, si hay alguna degradación, debe estar dentro de un rango aceptable.

Leer artículo completo

Una aplicación ASP.NET típica se implementa en uno o más servidores web que están vinculados entre sí en una granja de servidores web, con un equilibrador de carga que distribuye el tráfico a todos los servidores web. En teoría, cuantos más servidores web agregue, más solicitudes debería poder procesar por segundo. La arquitectura de una granja web está destinada a brindar escalabilidad a ASP.NET. Esa es la teoría; la realidad es un poco diferente.

El problema de las aplicaciones ASP.NET es que, si bien la tecnología web proporciona una arquitectura elegante de granjas web y equilibradores de carga, las tecnologías de almacenamiento de datos no han seguido el ritmo. Ciertamente, puede escalar una aplicación web agregando más servidores o aumentando la potencia de los servidores individuales con más memoria y potencia de CPU.

Pero al hacerlo, el almacenamiento de datos no puede escalar en las mismas proporciones. Se escala, pero no tanto como el nivel de aplicación web. En consecuencia, cualquier cosa en su aplicación ASP.NET asociada con el almacenamiento o el acceso a datos es un posible cuello de botella de escalabilidad. Más concretamente, un servidor de base de datos no se adapta ni a sesiones ni a datos de aplicaciones.

Leer artículo completo
© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.