Como entrenar a tu Dragón
Recuerdo que desde mis años de administrador de red, que no hace mucho pero el acceso a internet era vía dial-up (uuuuuu), y después ya dentro de las áreas de diseño de voz y datos, uno de los principales retos era el saber que diablos andaba pasando sobre nuestra red de datos en un momento en específico. Hoy en día el Internet ha avanzado a grandes pasos, aplicaciones móviles surgen, redes sociales, la nube, el comercio electrónico, voz, video, etc, etc. Las redes se han ido adaptando a las capacidades de transferencia de datos, el "Dragón" ha crecido, sin embargo algo ha permanecido en la mayoría de los casos, seguimos sin saber que diablos esta pasando por la red en un momento determinado.
En muchas de las empresas que visitamos nos damos cuenta que la lucha entre las áreas de redes, aplicaciones, servidores, etc, continua en el día a día cuando una aplicación se torna lenta o no funciona de la manera que debiese. En la esquina azul tenemos a los de redes, en la esquina roja a los de servidores, en la amarilla a los desarrolladores y en la verde a los de bases de datos, "tin-tin", y a defenderse a patada y trompón.
Solo por mencionar un caso, hace poco nos habló un cliente para revisar una aplicación que tardaba enormidades en responder afectando a la operación de venta y por supuesto, su teléfono estaba lleno de llamadas de usuarios que amablemente le gritaban quejándose del servicio. El personal de redes estaba super ultra mega seguro que la red no era la culpable pues: "ya le tiramos un ping al servidor y si responde", mmmm, ok,ok, aaahhh un ping no pos si claro (espero que el cliente no este leyendo esto).
Llegamos con nuestros cachivaches y un primer análisis nos mostró ciertamente los tiempos de respuesta observados desde los clientes hasta el servidor a través de sus navegadores era aceptable en todos los segmentos de red. Sin embargo, este primer análisis también arrojó que la aplicación hacía una llamada a un servidor de base de datos que no respondía, pequeño detalle. "Afortunadamente", la aplicación hacia la llamada a un segundo que se localizaba en otro lado de la red y la comunicación era muy deficiente, muchos errores y retransmisiones. Ya ganamos (usaron otras palabras) - dijeron los de base de datos - pues no!. Las gráficas nos indicaban que delay que agregado por este problema no correspondía a la totalidad de los tiempos de respuesta. Un click adicional y se abre la ventana que muestra las consultas a las bases de datos y los tiempos de cada una de estas. Una en particular que se mostraba en un color entre rojo, morado y fiusha, nos llamó la atención. Efectivamente ese query luchaba por acabar con todo, llevándose todas la tablas, registros posibles y todo lo que se le ponía por delante y claro, los tiempos que consumía eran muy considerables. La gente de desarrollo no tuvo más opción que optimizar esta llamada a la BD.
En todo proyecto de mejora de uso de infraestructura de redes y telecomunicaciones hemos observado que se deben implementar tres etapas en cierto orden específico. 1) Visibilidad. No se puede medir ni controlar lo que no se puede ver. Después de cada análisis siempre escuchamos "pero ¿porque hay tráfico de youtube si esa oficina no tiene acceso a Internet" o "¿porque aparece tráfico de syma...c, si hace dos años que ya no lo usamos?. 2) Control. Una vez que se tiene visibilidad se puede comenzar a controlar la aplicaciones. La primera etapa permite observar las aplicaciones reales que corren sobre nuestra red, incluso los pings, y esto a su vez permite el clasificar lo que es importante para el negocio y lo que es importante para los usuarios, como el facebook. La implementación de controles para garantizar los tiempos de respuesta o minimizar el uso de los recursos de telecomunicaciones por alguna aplicaciones, se puede aplicar de manera más sencilla y eficiente una vez que empezamos a conocer a nuestro dragón. 3) Optimización. Ya vemos y ya controlamos, bueno ahora si hay que optimizar. En base a los dos puntos anteriores se puede optimizar lo que realmente se debe de optimizar.
Hay mucha oportunidad en este campo por lo que hemos visto en el mercado. La famosa CIA (Confidencialidad, Integridad y DISPONIBILIDAD) en la cual se basan los esquemas de seguridad, contempla que el tener disponibles los recursos es también un tema de seguridad de la información y seguridad informática. Seguiremos trabajando con todos estos Dragones que siguen creciendo a pasos agigantados sin que alguien los entrene.