Más estabilidad y rendimiento gracias a un escalado mejorado
Nos entusiasma anunciar algunas novedades en las que hemos estado trabajando durante las últimas semanas. Esperamos que estos cambios sirvan para estabilizar aún más la plataforma y hacerla todavía más rápida.
¡Entremos en materia!
Autoescalar los servidores de subida es un poco más difícil que hacerlo con los de encoding, porque,
en cuanto nos llega un gran volumen de subidas, estas quedan ligadas a determinadas máquinas. Esto
significa que cualquier escalado que hagamos como respuesta no tendrá efecto sobre las subidas que
ya están en curso. Por eso, de vez en cuando hemos visto altas demandas de E/S cuando llegaban
grandes oleadas de subidas, tras las cuales muchos drones de encoding escalaban e intercambiaban
entrada y salida con unos pocos servidores de subida.
Ahora hemos reemplazado 2 servidores de subida c1.medium por 3
m1.xlarge. De entrada, esto nos da 6 veces el
rendimiento de E/S que teníamos antes, y eso ha funcionado muy bien para absorber estos picos de
subida sin ningún problema. También estamos considerando otras estrategias para reducir todavía más
la E/S en nuestras máquinas de subida, como enviar de inmediato todos los archivos entrantes a
Amazon S3 y dejar que los drones los descarguen desde allí. Asimismo, estamos estudiando formas de
distribuir y autoescalar las responsabilidades de subida. Y también seguimos de cerca
esas máquinas con SSD.
¡Te mantendremos al tanto!
Hemos reescrito nuestro Autoscaler. Esta versión nueva y mejorada ya es capaz de analizar una cola y decidir cuántas máquinas necesita lanzar (en paralelo) para no quedarse atrás. Además, ahora escala de forma mucho más agresiva. El resultado es una reducción drástica de los tiempos de cola. Por ejemplo, durante la última semana y media no tuvimos ningún tiempo de cola de /image/resize superior a 5 minutos ni ningún tiempo de cola de /video/encode superior a 18 minutos. Y ese caso de un tiempo de cola de 18 minutos solo ocurrió porque dos de nuestros clientes más grandes hicieron sus importaciones masivas de video al mismo tiempo, lo que generó una cola de video de 130 GB. Durante ese periodo, pasamos de 2 a 39 máquinas de encoding de ocho núcleos en menos de 20 minutos.
¡Pero eso no es todo! Ahora también puedes consultar los tiempos de cola actuales del redimensionamiento de imágenes y del encoding de video en nuestra página de estado.
Además, también hemos reescrito el código que gestiona la lista y la búsqueda de Assembly en el sitio web. El resultado es un aumento notable del rendimiento. También implica que los tiempos de espera agotados ya no deberían poder dar lugar a páginas vacías, un problema que algunos de nuestros clientes nos habían reportado. Y, por último, ahora dirigimos las consultas pesadas (pero menos críticas) a esclavos de solo lectura, para garantizar que la producción no se vea afectada por búsquedas, análisis o informes pesados.
Cuéntanos qué te parecen todos estos cambios. Nos emociona ofrecerte un producto cada vez más estable y con mejor rendimiento. Ten por seguro que tenemos muchas más mejoras preparadas, ¡incluidas algunas funciones nuevas! 😄
