Resumen
La escalabilidad de sistemas web hace referencia a un conjunto de técnicas dentro
del campo de la computación, las cuales en conjunto aumentan la capacidad de
procesamiento de un sistema, mejorando así el rendimiento del mismo. Por lo
tanto, la escalabilidad web es utilizada para implementar soluciones flexibles que
soportan: el procesamiento concurrente, la optimización en los tiempos de
atención y el bajo consumo de recursos; proporcionando un desempeño superior
dentro de una plataforma web.
En el año 1999 Dan Kege visualizo que un servidor web tenía que soportar diez
mil clientes simultáneos (Problema C10K), esto fue propuesto debido al gran
crecimiento que había experimentado la web; desde entonces muchas
investigaciones y diversas tecnologías han sido desarrolladas: sofisticados
protocolos, técnicas de balanceo de carga HTTP, servidores especializados,
servidores orientados a eventos; han permitido un gran avance dentro del campo
de la escalabilidad de sistemas web.
Por esto, es importante para el profesional en computación poder conocer e
implementar soluciones de escalabilidad web, las cuales le permitan afrontar
diversas problemáticas que se presenten dentro del campo profesional. El
desarrollo de aplicaciones y sitios web especializados, actualmente es una de las
actividades principales y su utilización dentro del campo empresarial es cada vez
más común, mostrando un crecimiento exponencial.
Este trabajo de investigación propone implementar la escalabilidad horizontal en
servidores web, basándose en la técnica de balanceo de carga HTTP; utilizando
un servidor de balanceo nginx en modo proxy inverso. Este tipo de escalabilidad
soporta el manejo de conexiones TCP concurrentes, distribución de peticiones
HTTP basadas en el balanceo dinámico, y permite la agregación de nuevas
instancias de servidores para soportar el crecimiento continuo.