Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: zagk en Mayo 25, 2017, 01:25:03 PM

Título: Aplicación Web de Alto Tráfico
Publicado por: zagk en Mayo 25, 2017, 01:25:03 PM
Hola a todos, buenas tardes, tengo una duda, de hecho una gran duda.

Estoy por desarrollar una aplicación web, de alto tráfico: la aplicación trata literalmente de que alrededor de 50.000 personas graben videos en directo, ya sea desde su móvil android, iOS, winPhone o PC (se hará una aplicación para cada una de estas plataformas) y estos puedan ser visualizados por cualquier persona en directo, desde su teléfono o computadora, pudiendo tener a 100.000 personas visualizando una emisión, etc. Algo así es la aplicación que se está por desarrollar en mi empresa.

Con esto, he pensado incluir los siguientes lenguajes o frameworks: Java para Android, Swift para iOS, para front-end obviamente html, css, jvscript, pero para el back-end no estoy muy seguro de cual soporta un tráfico de esa magnitud o procesar todo ese tipo de información, por lo que estoy decidiendo entre Go y Django, tengo un equipo dispuesto a invertir tiempo en cualquier lenguaje desconocido para implementar esta aplicación, pero no estoy definido por cualquier o.. en que sectores de la aplicación puedo implementar cada uno.

¿Que opinan de los lenguajes/frameworks que he mencionado en comparación con esta aplicación? ¿Cómo ven el desempeño de cada uno de ellos? ¿Qué lenguajes me recomiendan incluir en la aplicación? ¿Cómo y en que lado, sector puedo explotar al máximo cada lenguaje?

Por cierto, tenemos definido al gestor de base de datos a MongoDB.

Espero puedan ayudarme, díganme o sugieranme en qué usar cada lenguaje, en qué se le puede sacar provecho a cada uno de ellos, para qué sirve uno que otro no, etc, etc.

Gracias y espero que puedan ayudarme.
Título: Re:Aplicación Web de Alto Tráfico
Publicado por: ANTRAX en Mayo 25, 2017, 01:30:04 PM
Yo creo que si funcionará, sobre todo porque usas MongoDB, lo que acelerará las consultas con la base de datos.
De todas formas tenes que ver que server vas a usar, no solo el lenguaje influye.
Vas a necesitar un servidor dedicado con mucha ram, balanceador de carga y demás.
Yo iría de a poco montando todo en una VPS y probando el tema de rendimiento con pocos usuarios o haciendo tests de carga y stress para saber cuanta concurrencia soporta tu plataforma

Saludos,
ANTRAX
Título: Re:Aplicación Web de Alto Tráfico
Publicado por: zagk en Mayo 25, 2017, 01:34:13 PM
Si, claro por supuesto la infraestructura en servidores si la poseemos.

Entonces, ¿crees que cualquiera de los 2 lenguajes: Go o Django, o incluso usar los 2, estaría bien para la magnitud de la aplicación?
Título: Re:Aplicación Web de Alto Tráfico
Publicado por: ANTRAX en Mayo 25, 2017, 01:38:26 PM
Si, pero de todas formas antes de lanzarlo al público o al usuario final, se suelen tener diversos ambientes de prueba.
Por lo que he visto en la empresa en donde yo trabajo se suelen usar los siguientes ambientes:

Dev (ambiente de desarrolladores, en donde van subiendo todos los comits)
QA (ambiente de pruebas)
STG (ambiente espejo a producción, que se utiliza para testear concurrencia, performance, stress)
Prod (ambiente de producción que ve el usuario final)

Nunca debes programar sobre el ambiente final, ya que un error podría dejar la plataforma fuera de servicio. Y siempre antes debe pasar por los demás ambientes para revisar que los nuevos updates no levantaron bugs.

Saludos,
ANTRAX