Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

El día que le dijimos "No" a Anthos

By Mike SparrOct 22, 20206 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

Hace poco tenía agendada una videollamada de una hora para revisar la arquitectura de un cliente que buscaba resolver dos retos: el retraso en las alertas y el gasto en almacenamiento en la nube. Era un cliente fascinante (¡y el caso de uso también!) y uno de los usos más interesantes de IA que he visto.

Al principio me invitaron porque pensaban que Anthos de Google podría ayudarles a resolver uno de sus problemas, y últimamente he estado trabajando bastante en ese terreno. Aunque Anthos podría servirles más adelante, concluimos que no era la solución adecuada para sus necesidades inmediatas.

Vale la pena contar esta historia porque, en mi opinión, es lo que diferencia a DoiT International de muchos partners de soluciones cloud, además de nuestra Cloud Management Platform y servicios sin costo para los clientes. No recomendamos algo que no creamos que sea lo mejor para el cliente, y nuestros equipos tienen libertad para tomar esas decisiones; por eso también nos quieren tanto.

Sobre el cliente

La solución SaaS de esta empresa la usan fábricas en todo el mundo para automatizar el control de calidad. Lo admirable es que encontraron la forma de potenciar a los trabajadores y hacerlos mejores en lo que hacen, en lugar de reemplazarlos por un robot. Esa es la verdadera promesa de la IA.

Las fábricas conectan las cámaras que monitorean sus líneas de ensamblaje y el software de esta empresa analiza el video en tiempo real para verificar que cada paso se ejecute. Si detecta un paso faltante, envía una alerta para corregirlo.

(no es la transmisión real, solo un ejemplo cualquiera de una fábrica)

Tal vez sea el lado geek que llevo dentro, pero quedé fascinado cuando el cliente compartió su pantalla y se conectó a una transmisión en vivo: vimos cómo iba marcando una lista de tareas en una fábrica de radiadores automotrices (girar la rueda en sentido antihorario, apretar tal válvula, prueba de presión, etc.). ¡Verlo en acción fue increíble!

El problema del retraso en las alertas

Uno de los problemas que enfrentaban era un retraso de 4 segundos desde que detectaban un fallo hasta que se notificaba al trabajador. Sus clientes exigían que no superara los 2 segundos, para tener tiempo de detener la operación y corregirla antes de que fuera demasiado tarde. Les dieron un plazo de 6 meses para resolverlo.

Los Engineers de la empresa habían oído hablar de Anthos de Google, una plataforma que permite modernizar aplicaciones en entornos híbridos y multi-cloud. Anthos permite a las organizaciones centralizar y estandarizar la gestión de políticas, seguridad, configuración y aplicaciones en contenedores en todas las grandes nubes, entornos virtualizados on-premise y ahora bare metal (en el edge). Estaban convencidos de que acercar el procesamiento al cliente resolvería el retraso, y además era "el juguete nuevo del momento".

El problema del costo de almacenamiento en la nube

Te imaginarás lo rápido que crece el almacenamiento cuando guardas transmisiones de video (a veces durante años) de cámaras en todas estas fábricas alrededor del mundo. Cada transmisión generaba aproximadamente 700 MB por hora a 720p en formato H.264, incluso después de multiplexarla y comprimirla. Procesaban 130 horas por semana, por fábrica.

La empresa estaba usando buckets de cloud storage en tier estándar y los costos no paraban de subir. También buscaban orientación para mejorar la eficiencia.

Recorrido por la arquitectura

El cliente compartió su pantalla y un diagrama de arquitectura mientras yo y otro miembro de nuestro equipo de cloud architecture observábamos.

"Las transmisiones en vivo entran y las almacenamos en buckets de Google Cloud Storage; luego las procesamos. Construimos una red neuronal de deep-learning a la medida con 1 GPU por transmisión que identifica el inicio y el fin de cada acción. Guardamos los datos generados en Google Cloud Bigtable y la lógica de negocio los interpreta", explicaron. "Hay un retraso de 4.5 segundos y, de esos, más de 3 ocurren en la red neuronal. Dividimos el video entrante en frames para alimentar la red neuronal y luego volvemos a codificar el video".

Espera, ¿qué? "Por favor, explíquenme por qué vuelven a codificar el video".

"Ah, eso viene de malas decisiones tomadas al inicio: cuando entra el video le quitamos los timestamps. Tenemos que volver a codificarlo después de la inferencia para producir la transmisión anotada".

"¿Cuánto tarda la recodificación?", pregunta mi colega.

"Poco más de 2 segundos", responden.

"¿Y cuánto tardan en detectar un error?"

"Entre 1 y 1.5 segundos".

¡Bingo!

En ese momento quedó claro que mover sus workloads al edge con Anthos no iba a resolver su problema. No era un tema de red, era un tema de aplicación.

Solución propuesta para el retraso

Tras analizar su arquitectura, concluimos que había dos opciones a explorar. La primera, revisar por qué eliminaban los timestamps al ingresar el video y, de ser posible, dejar de hacerlo. La segunda, separar el sistema de alertas de la recodificación y enviar la alerta de inmediato, sin esperar a que terminara de codificarse.

Estuvieron de acuerdo y asignarían a sus Engineers para explorar esos caminos, dejando en pausa la implementación de Anthos, al menos por ahora. También supimos que tenían clientes que, por temas de cumplimiento, no querían que sus transmisiones salieran de la fábrica. Aún hay casos de uso viables que Anthos On-Prem podría resolver en el futuro cercano, pero por ahora queríamos atender lo más urgente.

También identificamos áreas donde podían ahorrar procesando varias transmisiones con una sola GPU; y al separar la inferencia/alertas de la recodificación, quizás no necesitarían máquinas tan potentes.

Solución propuesta para el almacenamiento

Durante el recorrido inicial, explicaron que estaban usando almacenamiento en tier estándar y que aún no aprovechaban los tiers con descuento para uso menos frecuente. Una victoria fácil, en la que coincidimos, era usar la gestión del ciclo de vida de objetos de Google Cloud Storage para mover automáticamente los objetos a tiers de menor costo según su antigüedad o frecuencia de acceso.

Aunque al cliente le gustó la idea y ya planeaba explorarla, quise profundizar un poco más y ver si podíamos sumar más ganancias. Mientras describían el formato H.264, recordé una charla reciente con pioneros de la IA como Ian Longellow y Andrew Ng, entre otros, sobre casos de uso de las generative adversarial networks (GANs) más allá de los "deep fakes", y uno de ellos era mejorar la compresión de video.

Les propuse considerar aprovechar las GANs para reducir aún más la cantidad de datos que deben almacenar al archivar estos videos. Reconocieron el potencial y quedaron muy contentos con nuestras sugerencias. Sus Engineers se llevaron recomendaciones accionables y espero darle seguimiento al avance pronto.

¡Otra revisión de arquitectura exitosa!

Este ejemplo reciente muestra lo que puedes esperar de un Senior Cloud Architect en DoiT International. Le ofrecemos al equipo de Engineering del cliente una capa de soporte personalizada tipo "Stack Overflow" y ayudamos a resolver problemas respondiendo en la mitad del tiempo que la mayoría de los soportes de proveedores cloud. También ayudamos a capacitar a los empleados del cliente con entrenamiento en cloud. Y, como en este caso, apoyamos en la optimización de costos y en revisiones de arquitectura (Infraestructura, Datos, ML o IA, y arquitectura de software).

Si te interesa, te invito a visitar nuestra página de Carreras o a escribirme (con un mensaje) por Twitter o LinkedIn. Buscamos a los mejores y más brillantes, así que el proceso de selección es exigente; pero una vez que estás "dentro", rápidamente descubrirás que DoiT International es único (algo entre una empresa de producto y una de servicios profesionales). Espero trabajar contigo pronto, ya sea como cliente o como colega.