El Manifiesto de Informática Distribuida, el documento secreto que generó el éxito Amazon.
Desvelando las claves del documento de 1998 publicado por el actual director de tecnología de la empresa.
Werner Vogel, actual Chief Technology Officer de Amazon, se unió a la compañía en 2004, cuando esta estaba más que consolidada. Así que aunque dirige el modo en que Amazon desarrolla su tecnología, y cómo la aplica a la distribución, podemos decir que se ha sumado a un modelo más que diseñarlo por sí mismo. Por eso resulta tan interesante que haya publicado este mes el Distributed Computing Manifesto, un documento interno de 1998 que puso las líneas maestras del gigante que conocemos hoy, y que seguramente sirven para explicar su éxito desde el punto de vista de la tecnología informática. Este artículo va dedicado a analizar el contenido del manifiesto, y os dejo además este enlace para que podáis descargar el original en pdf.
Todos conocemos y utilizamos lo que dice ese documento de hace casi treinta años, porque su lógica se ha impuesto a la compra online, y es visible desde el nivel de usuario, y sin duda también para quienes programan o gestionan. No solo Amazon, sino cualquier comercio digitalizado. Pero echar la vista atrás y contemplar el proceso puede ayudarnos a comprender cómo hemos llegado hasta aquí. Vaya por delante que este boletín que escribo está pensado para que la gente común, como yo, entienda los vericuetos de la ciencia y la tecnología sin ser especialista. Si eres informático, te resultará más útil, por su vertiente técnica, el documento original. Si no, verás cómo el modelo informático se reflejó en el mundo físico, mediante comparaciones con el centro comercial real.
Quién asoció la idea de felicidad con una simple caja de embalaje color cartón.
Cómo vender mil, luego cien mil, un millón, y luego mil millones de libros.
Amazon era una librería, pero a medida que crecían sus pedidos y su éxito iba desarrollando una estructura que generaba más y más fallos. Quienes no somos informáticos podemos imaginar el programa de gestión de Amazon como una librería en la que cada vez entran más libros, y clientes que por error los ojean y luego los colocan en la estantería que no es, consiguiendo que se pierdan. Como cada vez entran más libros, necesitas más y más bibliotecarios para buscar los que se han perdido, para poder venderlos o devolverlos, y que no se te acumulen como un coste muerto. Pero para evitar ese coste estás aumentado el coste salarial, o sea, que caminas hacia la quiebra.
Como librería, Amazon usaban una base de datos gestionada por una aplicación, Obidos, que era, por decirlo fácil, como un excel potente. No se puede innovar con excel, solo ir añadiendo más y más campos, fórmulas y complicando tu base de datos. Habían llegado a un cuello de botella peligroso porque efectivamente, cada semana el número de pedidos de libros continuaba creciendo y creciendo, y el número de clientes también. Lo que necesitaban era algo que soportara su volumen de 1998 multiplicado por diez sin colapsar.
Un modelo basado en servicios.
La primera decisión fue separar los clientes, los datos y la gestión comercial, o dicho de otro modo, arquitectura basada en servicios. El cliente, para hacer su compra, ya no dependería del acceso a la base de datos completa. Tendría una respuesta inmediata a su solicititud si encontraba un libro, solo tenía que completar la compra. Pero si no, podía hacer una consulta y recibir una respuesta que no esperaba inmediata. Déjanos un teléfono o un correo y te informaremos. O te avisamos cuando vuelva a haber ejemplares. Esto es un servicio asincrónico, que libera al sistema de mucha carga de trabajo. Y un cambio radical, porque Amazon ya no necesitaba encontrarte libros, sino cualquier objeto que pudiera venderse en el mundo, su trabajo iba a ser encontrártelo y hacértelo llegar. ¿Te suena? Pues ese fue el cambio al modelo basado en servicios.
Hacer cola o pasar rápido por caja.
Los ingenieros llamaron a eso flujo de trabajo distribuido. El sistema informático podía concebirse como un comercio tradicional, coges los libros, los metes en una cesta, vas a la caja, te los pasan por el lector, suma, usas el medio de pago, y completas. Hasta 1998 eso se estructuraba como mensajes, las órdenes de compra online eran como una persona que va a la estantería, coge el libro, camina por el pasillo y va a la caja. Solo hay unas pocas maneras de hacer eso en el espacio físico, y pasa algo parecido en el virtual, cuando hay mucha gente a la vez en un pasillo las cajas van más lentas. El sistema de compra de Amazon se ralentiza. Y no lo olvidemos, cada semana vendemos medio millón de libros más.
Pero qué pasa si divides los datos en dos categorías, una que permanece estable en el tiempo y otra que es variable. Un libro, su título, y autor no van a cambiar nunca. La cuenta de un cliente tampoco, tendrá un nombre y una dirección. Lo que puede cambiar es el medio de pago -pasa de una tarjeta a otra, a usar PayPal u otros-, y las ediciones del libro, años e idiomas. Amazon decidió separar los datos estables en dominios informáticos distintos, el de clientes, el de proveedores y el de catálogo. Eso no lo notaría el cliente final, pero sí el flujo interno de la empresa. Porque en vez de tener un cliente cogiendo libros y pasando individualmente por caja, había una cesta común a varios clientes que hacía su petición a almacén a la vez, luego iba en un carrito hasta el punto de pago. Estos flujos permitían que los pedidos siguieran aumentando y aumentando sin colapsar el sistema.
Seguir el flujo de trabajo
Al aplicar los dos puntos anteriores, modelo basado en servicios y flujo de trabajo distribuido, fue necesaria la supervisión de todos esos procesos. Sigamos pensando en los libros físicos, aunque ahora estuvieran convertidos en un archivo digital, una unidad de la base de datos. Para asegurarse de que tras cogerlo del almacén, juntarlo con otros, y separarlo de nuevo para hacer llegar al cliente final no se perdiera, o llegase a quien no era, se le añadió una matrícula. Mejor dicho, una etiqueta o hastag. Así el sistema informático podía seguirle y saber por dónde había pasado y si iba al lugar correcto.
De librero online a magnate y luego a icono sociocultural de una época.
De forma muy simplificada, este fue el punto de partida de Amazon para pasar de vender libros a vender cualquier cosa desde cualquier punto del mundo. Su modelo fue imitado por AliBaba (AliExpress) integrando proveedores, y teniendo stock propio directo de fabricantes, dividiendo datos y siguiendo flujos. Lo difícil, hoy, sería imaginar un modo de funcionamiento distinto a este. Pero posiblemente, en algún documento interno, y en relación a las inteligencias artificiales, ya esté produciéndose.
La semana que viene haré un alto puntual en Los Hilos del Futuro, que regresarán en enero. Felices navidades a todos.