¿Cómo un gigante europeo del comercio electrónico con unos ingresos de 5 mil millones convierte sus capacidades tecnológicas en competitividad operativa?
El evento para desarrolladores de Taiwán MWC (Modern Web Conference) volvió a un formato físico este año, con más de 60 discursos en tres días, lo que lo hace más grande que antes. Llevar la experiencia de desarrollo extranjero a Taiwán es la intención original del MWC. Este año se centra en presentar la experiencia de empresas multinacionales, invitando a JP Morgan y Zalando a Taiwán para compartir. Andrew Howden es el jefe del equipo SRE integrado de Zalando, responsable de mejorar la confiabilidad de la experiencia de transacción. También es miembro del equipo de preparación para el mantenimiento técnico de Internet Shopping Week, y ayuda a sus colegas a establecer procesos de preparación para el mantenimiento y la gestión de riesgos técnicos.
Cuando un cliente añade un nuevo producto al carrito de la compra (este es el punto de partida para que el producto comience a comercializarse con el cliente), este se envía desde el almacén de acuerdo con el pedido y se entrega al operador logístico (este es el punto final de la plataforma que contiene el producto). En este proceso, el Sentimiento del cliente, Zalando lo llama experiencia de transacción, incluye el proceso desde que el cliente puede ver el producto entrando al carrito de compras en la plataforma hasta mostrar el envío. Este proceso de experiencia de transacción involucra 4 departamentos comerciales, 10 equipos y más de 100 desarrolladores. El equipo SRE integrado de Zalando se creó para resolver los problemas especiales del proceso de experiencia de transacción.
En 2019, después de dos años de probar la SRE a pequeña escala, Zalando decidió convertir la SRE en una estrategia operativa para toda la empresa y establecer un departamento de SRE a gran escala.
Fue en este año que Andrew Howden se incorporó a Zalando como ingeniero de SRE. En 2021, se convirtió en uno de los ingenieros principales y participó en el plan de flujo de trabajo de preparación de operaciones de diseño y mantenimiento. Quería desarrollar un conjunto de evaluaciones de autoservicio para mejorar. la confiabilidad de miles de sistemas, lo que implica el conocimiento de la arquitectura técnica, los campos comerciales y el procesamiento de eventos detrás de diferentes sistemas.
Período de inicio temprano: cree rápidamente un centro comercial con un paquete de software PHP y dos personas podrán administrar todo el sitio
Si se quiere entender la evolución tecnológica de Zalando hay que remontarse al año 2008. Google acababa de lanzar el sistema Android, y el iPhone de Apple se hizo popular y lanzó una nueva App Store. Los dos fundadores de Zalando, Robert Gentz y David Schneider, fundaron la empresa de comercio electrónico de moda rápida en el otoño de ese año, con la esperanza de vender zapatos en línea. Inesperadamente, a los pocos días de su creación, la empresa se encontró con una crisis financiera.
Zalando no tenía mucho dinero disponible y tuvo que buscar maneras de ahorrar. Los dos fundadores alquilaron un apartamento en Berlín como oficina y almacén. Como recién estaban empezando y no tenían muchos clientes, probaron diferentes experimentos comerciales. Más tarde descubrieron que el envío gratuito y el derecho de devolución de 100 días eran los dos aspectos más destacados entre los clientes, lo que también se convirtió en las primeras ventajas de Zalando en su expansión. el mercado del comercio electrónico. Las dos garantías de entrega de Zalando se convirtieron más tarde en el estándar que los clientes esperan de otras plataformas de comercio electrónico.
En ese momento, para construir rápidamente una plataforma de transacciones de comercio electrónico y porque era fácil encontrar ingenieros de desarrollo que estuvieran familiarizados con PHP, la plataforma de comercio electrónico Zalando de primera generación utilizó el software de comercio electrónico Magento desarrollado en PHP. Este software es como el antiguo En los primeros días de WordPress, usted mismo podía combinar módulos funcionales de terceros.
La estrategia de Zalando en sus primeras etapas era "Moverse rápido, romper cosas". Zalando no tenía equipo de mantenimiento, y mucho menos un equipo de plataforma, y dependía sólo de 1 o 2 empleados para administrar todo el sitio web.
Dos años después, en 2010, apareció el primer iPad, Netflix también lanzó 12,000 películas y las redes sociales comenzaron a aparecer en los teléfonos móviles. La actuación de Zalando entró en un período de rápido crecimiento, avanzó más allá de Alemania y comenzó a ingresar a otros países, expandiéndose sucesivamente. A Holanda, Francia y otros países. En aquel momento, Zalando contaba con 20 empleados a tiempo completo y muchos clientes muy fieles.
En 2010, desarrollé toda la plataforma de comercio electrónico utilizando Java.
Sin embargo, el software de la suite de comercio electrónico PHP elegido cuando se fundó comenzó a tener problemas y no pudo ampliarse más. Incluso si el equipo de desarrollo hizo todo lo posible para modificar el código y la arquitectura del programa subyacente, todavía no había forma de resolver el problema. problema. Al final, hubo que reducir y reelaborar toda la estructura, y Zalando volvió a desarrollar toda la plataforma de comercio electrónico desde una combinación de bases de datos PHP y MySQL hasta una aplicación monolítica a gran escala que utiliza el lenguaje Java y la base de datos PostgreSQL.
Zalando cambió de una versión antigua de su software de comercio electrónico a una nueva versión de la plataforma. En ese momento, estuvo fuera de servicio "sólo" 90 minutos. "Era un tiempo aceptable en aquel entonces. Si sucediera ahora, sería así. Sería una catástrofe que atraería la atención de los medios", bromeó Andrew Howden. Las expectativas y los estándares de la gente respecto de la tecnología cambiarán con el tiempo y el espacio. Éste es un ejemplo típico.
Sin embargo, el equipo en ese momento no era grande, pero también comenzó a encontrar problemas ágiles ¿Cómo realizar lanzamientos de manera más segura? Para mantener un cierto grado de control, desarrollaron una lista de verificación de implementación, que debe confirmarse cada vez que la publican. Aunque ralentiza la publicación del código actualizado, puede hacer que el proceso de publicación sea más confiable y mantener la confianza del cliente. .
En 2014, Zalando continuó expandiéndose y este año también cambió por completo a un diseño de sitio web responsivo (RWD). Este año es el año en que nació la tecnología de contenedores Docker.
Los ingresos anuales se han multiplicado por 4 en 4 años y los desafíos técnicos detrás de las tres estrategias clave
De 2010 a 2014, los ingresos de Zalando se cuadriplicaron hasta alcanzar los 22 millones de euros (aproximadamente NT$750 millones).
Andrew Howden señaló que la clave para el crecimiento positivo del rendimiento de Zalando proviene de tres estrategias principales. La primera es la estrategia de "escala", que implica tomar todos los medios necesarios para expandir el sistema de software, incluso eliminar por completo la versión anterior y crear una nueva. La segunda estrategia es la "localización". El alcance del servicio de Zalando se ha ampliado a múltiples mercados, desde Suecia, Dinamarca, Finlandia, Noruega, Bélgica, España, Polonia hasta Austria. Realice ajustes localizados según las diferencias de idioma, moneda, requisitos de cumplimiento legal y necesidades de mantenimiento de cada país.
Otra estrategia clave es la "diferenciación". Zalando también ha comenzado a transformarse en un modelo de grandes almacenes, introduciendo un sistema de asociación que permite a terceros proveedores vender sus propios productos en la plataforma Zalando.
"La mayor prueba que estas tres decisiones traerán a la tecnología es que el software que originalmente fue desarrollado sólo para uso interno ahora debe entregarse a terceros. También debe tener capacidades de escala y satisfacer las necesidades locales de cada país", enfatizó Andrew Howden. .
En los siguientes tres años, Zalando se basó en varias contramedidas técnicas para lanzarse rápidamente en varios países. Por un lado, introdujo un ERP a nivel empresarial y, por otro, comenzó a desarrollar sitios web oficiales localizados en cada país. Construimos una tienda en línea capaz de manejar pedidos y transacciones a gran escala.
Sin embargo, estas tres estrategias han hecho que los sistemas desarrollados por Zalando sean cada vez más complejos. Por ejemplo, en 2010 solo había 7 unidades de implementación. En 2012, había más de 100 equipos de implementación y la gestión y coordinación de versiones se convirtió en un gran desafío.
Para simplificar la complejidad, Zalando requiere que cada pieza de software se desarrolle utilizando sólo tres tecnologías principales: Java, Tomcat y PostgreSQL.
El nacimiento del primer equipo de plataforma.
No solo eso, Zalando también ha comenzado a construir su primer equipo de "plataforma" para gestionar la ingeniería de sistemas, la ingeniería de bases de datos, la ingeniería de software de plataformas y también brindar diversas consultorías de seguridad.
Por ejemplo, crearon una herramienta de despliegue para administrar el proceso de lanzamiento y también utilizaron la herramienta de monitoreo de administración de red de código abierto zmon (similar a Nagios) para rastrear periódicamente si todo el software y los sistemas están funcionando normalmente.
Con estas prácticas de apoyo definidas por la organización, las herramientas y la tecnología, Zalando pudo realizar lanzamientos semanales en ese momento. Cada versión es probada por un equipo de Control de Calidad para garantizar su corrección, y un pequeño equipo brinda soporte de guardia.
Sin embargo, a medida que crece el número de personas en el equipo de desarrollo, es necesario coordinar cada vez más trabajo para cada versión. A medida que los sistemas se vuelven cada vez más grandes y la información de mantenimiento relacionada está dispersa por todas partes, a los ingenieros les resulta cada vez más difícil captar de manera efectiva información relevante sobre el trabajo que están realizando.
Para controlar los lanzamientos de los ingenieros, el equipo de la plataforma adoptó medidas cada vez más estrictas, pero inesperadamente, esto a su vez ralentizó el ritmo de los lanzamientos. Andrew Howden dijo: "Aunque el equipo de la plataforma tenía buenas intenciones, inesperadamente limitó la capacidad de la empresa para innovar y convertirse en líder del mercado. El equipo de la plataforma comenzó a acercarse a la confiabilidad".
Centrándonos en 2014, Kubernetes rápidamente se volvió popular después de su nacimiento. La versión oficial 1.0 se lanzó al año siguiente, lo que también dio lugar al establecimiento de la organización CNCF. Esta organización se hizo cargo de muchos proyectos de tecnología relacionados con la nube, como gRPC. etcd, RunC, Envoy y Jaeger y otras tecnologías. 2014 fue también el año de la oferta pública inicial (OPI) de Zalando.
En respuesta a la nueva visión tras la IPO, pasar a la nube para operaciones en varios países de Europa y adoptar la nube nativa.
La IPO aporta más fondos a Zalando y le da mayores capacidades, pero también significa una mayor presión de desarrollo. Andrew Howden dijo que Zalando debe crecer y expandirse más rápido, y debe innovar.
La nueva visión de Zalando es crear una "plataforma de moda" que pueda conectar a un gran número de personas con la moda, permitiendo a socios y tiendas externos vender diversos productos de moda en esta plataforma.
Sin embargo, las decisiones técnicas de Zalando en los últimos años se han convertido gradualmente en una arquitectura técnica relativamente confiable, pero difícil de cambiar. Esta arquitectura "estable" no puede seguir el ritmo de la nueva visión después de la IPO.
Para respaldar el diseño futuro de las operaciones multinacionales en toda Europa, a finales de 2014, Zalando decidió adoptar plenamente la nube pública, introdujo la tecnología de contenedores Docker y comenzó a utilizar la arquitectura de microservicios para reemplazar la antigua arquitectura monolítica.
Un año después de su salida a bolsa, en 2015, Zalando comenzó a desarrollar una estrategia de plataforma de comercio electrónico. Quería convertirse en un proveedor de plataformas tecnológicas en el ecosistema del comercio electrónico y comenzó a exportar sus propios servicios técnicos a socios y socios del ecosistema.