Ocado, impulsada por la tecnología, es pionera en el mercado de comestibles en línea y un nombre familiar. La compañía hace un uso extensivo de Internet de las cosas (IoT), computación y robótica basadas en la nube y de borde, y recientemente invirtió en la entrega autónoma en la acera.
Su servicio de cumplimiento y logística, Ocado Smart Platform, es utilizado por Morrisons en el Reino Unido y otras tiendas de comestibles en todo el mundo. Ocado también tiene una asociación estratégica con Marks & Spencer y se está expandiendo activamente a nivel mundial.
James Donkin ha trabajado en Ocado durante 16 años. Como director de tecnología (CTO) de Ocado Technology, supervisa un equipo de 1000 ingenieros de software y desarrolladores de hardware.
El primer papel de Donkin en Ocado fue en la planificación de rutas. En ese momento, Ocado ejecutaba una gran cantidad de paquetes de software que, según dice, “no estaban hechos a la medida de nosotros”. La empresa quería que todo su software funcionara de manera integrada pero, como señala Donkin, esto es difícil de lograr si la organización ejecuta productos independientes listos para usar.
Una arquitectura multinube
En los últimos años, Ocado ha cambiado a una arquitectura basada en la nube respaldada por múltiples proveedores. Ahora desarrolla su propio software y hardware y utiliza servicios de Amazon Web Services (AWS), Google Cloud Platform (GCP) y Microsoft Azure, según corresponda, para proporcionar la TI que necesita para operar el negocio.
“Tenemos una estrategia multinube. Cada nube se usa para lo que mejor hace”, dice Donkin. Por ejemplo, Ocado tiene una larga historia de trabajo con Google. Comenzó con las aplicaciones de productividad de oficina de Google. Con el tiempo, dice, el uso de GCP se ha vuelto “supertransformador”.
En lugar de desarrollar sus propios microservicios y aplicaciones web, Ocado implementa sus aplicaciones en AWS. GCP se utiliza para el análisis de datos. Los datos se pasan de las aplicaciones de AWS a GCP a través de un bus de mensajes.
Al considerar el almacenamiento de datos y el viaje que deben realizar, Donkin dice: “Los datos comienzan en el sitio en un brazo robótico o en una cuadrícula. Queremos que los datos terminen en la nube porque hay muchos gastos generales en el mantenimiento de los sistemas en el sitio. No queremos que la gente tenga que cambiar dispositivos especializados”.
Ya sea para el control de un vehículo de reparto autónomo o un robot recogedor en un centro de atención al cliente de Ocado, para Donkin, cualquier tecnología en el borde debe ser una caja blanca que simplemente se puede desconectar y reemplazar, sin necesidad de conocimientos especializados. “Lo predeterminado es tener datos almacenados en la nube, a menos que haya restricciones de latencia o ancho de banda”, dice.
AWS aloja los microservicios de Ocado que están aislados y controlados por interfaces de programación de aplicaciones (API). Donkin dice que el servicio de transmisión de datos sin servidor Kinesis de Amazon se usa para enviar datos a Google, donde Google BigQuery se usa luego para el análisis y pronóstico de datos.
“El objetivo de un flujo de datos es aterrizar en BigQuery, que luego crea un modelo que se puede enviar a AWS o a un dispositivo informático perimetral”, dice Donkin.
Tiempo real en la nube
Ocado comenzó con casi nada alojado en la nube. Los sistemas de control de máquinas en sus centros de cumplimiento de clientes se alojaron en el sitio. “Estos grandes sistemas de control cerebral estaban en las instalaciones”, dice Donkin. “No creíamos que pudiéramos hacer un control en tiempo real en la nube, pero durante el año pasado, tuvimos mucho éxito con el control en la nube”.
Hace algunos años, cuando Donkin visitó el Mobile World Congress, quedó impresionado por una demostración en la que se logró el control de dos brazos robóticos que hacían malabares con pelotas a través de una red móvil 5G en la nube pública. Para Donkin, la demostración mostró que el control en tiempo real de las máquinas era posible a través de una conexión a la nube 5G.
“No creíamos que pudiéramos hacer control en tiempo real en la nube, pero durante el año pasado, tuvimos mucho éxito con el control en la nube”
James Donkin, Tecnología Ocado
Desde una perspectiva de análisis y almacenamiento de datos, tales avances plantean una serie de preguntas interesantes sobre dónde deben vivir los datos. Como señala Donkin, se están produciendo muchos desarrollos en el borde para permitir el procesamiento de datos basado en el borde.
Por ejemplo, los robots de Ocado utilizan análisis de video, pero Donkin señala que se requiere una canalización para reducir la cantidad de video almacenado.
“No querrás capturar cada movimiento de cada robot”, dice. “Necesitas descubrir qué es útil. Si es posible modelar operaciones normales, estas actividades no requieren captura. Entonces, solo la fuente de datos de actividades inusuales requiere transmisión a la nube”.
Heurística de video para datos de nube baja
Donkin dice que una unidad de procesamiento de gráficos (GPU) integrada en una cámara de video podría actuar como una parte frontal de dicha tubería de procesamiento de datos. “Si transmite todo su video a la nube, usa mucho ancho de banda. La heurística se puede utilizar para capturar datos de forma inteligente”, añade.
Tener una GPU en la cámara de video permitiría que los sistemas de visión artificial ejecuten heurísticas localmente de modo que la cámara pueda preprocesar la transmisión de video y pueda transmitir datos de manera inteligente. Esto es análogo a cómo un timbre inteligente solo comenzará a grabar video en la nube después de detectar movimiento o presionar un timbre.
En teoría, el volumen relativamente pequeño de actividad de video anómala recopilada puede transmitirse desde el dispositivo de borde, a través de la LAN que ejecuta el centro de atención al cliente y cargarse en la nube. Aquí, el aprendizaje automático ayuda a mejorar el modelo de datos, que luego se transmite para actualizar la heurística en el dispositivo perimetral.
Donkin ve el papel de los centros de datos en las instalaciones como “el medio apretado” entre la nube pública y el procesamiento en el perímetro. El desarrollo de aplicaciones nativas de la nube reduce la necesidad de contar con un amplio equipo de técnicos internos del centro de datos. Mediante el uso de análisis avanzados y aprendizaje automático en la nube, junto con dispositivos de borde inteligentes, es posible reducir el volumen de datos que deben almacenarse y procesarse en las instalaciones.