Es irónico que el peor enemigo de nuestros sitios web sean los propios visitantes y porqué llegamos a esta conclusión. Simple la velocidad de nuestros sitios web se ve proporcionalmente disminuida en la medida que mas visitantes tengamos simultaneamente.
Hoy en día nuestros visitantes son cada vez más exigentes una navegación lenta es sinónimo de sitio abandonado, o un portal no accesible por dispositivos móviles o poco intuitivo se suma a la lista de los portales a los cuales no regresare jamas.
Cada uno de estos factores agregan complejidad a la hora de diseñar nuestros portales, pero de los dos factores mencionados el más importante es la velocidad ya que este precede a la accesibilidad, un sitio lento pero bien diseñado es lo mismo que un sitio malo, en cambio un sitio rápido pero con un diseño simple y poco amigable mientras el contenido sea de calidad el sitio es aceptable, esto lo podemos ver a lo largo de toda la web, sitios desarrollados sin gusto y con una pésima arquitectura pero eficientes en la rapidez y calidad de contenido son todo un éxito.
Es por eso que el primer factor que debemos de tener en cuenta a la hora de implementar un sitio web, es nuestro público y la experiencia de navegación que le daremos en nuestro sitio web.
Como podemos ver el el dibujo si por ejemplo nuestro sitio web soporta 3 usuarios por cada segundo debido a que nuestro servidor junto con brindar el servicio web, además posee el servicio de base de datos nuestra capacidad estará siempre restringida a la cantidad de usuarios que visiten nuestro sitio web, ya que cada visita compromete recursos de procesos web y de base de datos.
Dentro del flujo congestión se grafica como un flujo congestionado genera congestión en las respuestas, graficado en los visitantes de rojo.
Un diseño escalable nos permite separar los servicios y los recursos destinados a nuestros visitantes para optimizar los recursos y maximizar el rendimiento de nuestro portal.
Separa los servicios en distintos servidores es el primer avance hacia un diseño escalable, implementando una arquitectura escalable nos permite poder agregar máquinas dependiendo de nuestra necesidad.
Este diseño nos permite poder agregar nuevas máquinas web para aumentar la capacidad de usuarios atendidos por cada segundo.
Incluso nos permite poder agregar nuevas tecnologías adicionales como sistemas de cache externos, clusters georeferenciales, cluster especializados segun dispositivos, etc, etc.
El siguiente dibujo gráfica un sistema un poco más complejo para soportar la escalabilidad de nuestros sitio basado en los servicios, este modelo depende de diversas tecnologías que al operar en conjunto generan un sinfonía perfecta.
Las capacidades de una arquitectura como este último dibujo nos permite entregar una experiencia para los visitantes, placentera a nivel de respuesta, además que nos permite poder crear configuraciones personalizadas para ciertas secciones o portales. Esta arquitectura la hemos implementado a distintos niveles para diversos clientes, entregándonos un desempeño asombroso.