Como é que um gigante europeu do comércio eletrónico com uma receita de 5 mil milhões de euros transforma as suas capacidades tecnológicas em competitividade operacional?
O evento para desenvolvedores de Taiwan, MWC (Modern Web Conference), voltou ao formato físico este ano, com mais de 60 palestras em três dias, tornando-o maior do que antes. Trazer experiência de desenvolvimento estrangeiro para Taiwan é a intenção original do MWC. Este ano, ele se concentra em apresentar a experiência de empresas multinacionais, convidando JP Morgan e Zalando para compartilhar em Taiwan. Andrew Howden é o chefe da equipe de SRE integrado da Zalando, responsável por melhorar a confiabilidade da experiência de transação. Ele também é membro da equipe de prontidão para manutenção técnica da Online Shopping Week, auxiliando colegas no estabelecimento de processos de gestão de riscos técnicos e prontidão para manutenção.
Quando um cliente adiciona um produto ao carrinho de compras (este é o ponto de partida quando o produto começa a ser negociado com o cliente), este é expedido do armazém de acordo com a encomenda e entregue ao operador logístico (este é o ponto final da plataforma que contém o produto). O cliente neste processo Sentimento, Zalando chama de experiência de transação, inclui o processo desde quando o cliente pode ver o produto entrando no carrinho de compras na plataforma até a exibição da remessa. Este processo de experiência de transação envolve 4 departamentos de negócios, 10 equipes e mais de 100 desenvolvedores. A equipe SRE integrada da Zalando foi criada para resolver os problemas especiais do processo de experiência de transação.
Em 2019, após dois anos experimentando o SRE em pequena escala, Zalando decidiu desenvolver o SRE em uma estratégia operacional para toda a empresa e estabelecer um departamento de SRE em grande escala.
Foi neste ano que Andrew Howden ingressou na Zalando como engenheiro SRE. Em 2021, ele se tornou um dos principais engenheiros e participou do plano de fluxo de trabalho de prontidão para operação de projeto e manutenção. a confiabilidade de milhares de sistemas, o que envolve conhecimento da arquitetura técnica, áreas de negócios e processamento de eventos por trás de diferentes sistemas.
Período de inicialização antecipada: construa rapidamente um shopping com pacote de software PHP e duas pessoas podem gerenciar todo o site
Se você quiser entender a evolução tecnológica de Zalando, é preciso voltar a 2008. O Google acabava de lançar o sistema Android, e o iPhone da Apple se popularizou e lançou uma nova App Store. Os dois fundadores da Zalando, Robert Gentz e David Schneider, fundaram a empresa de comércio eletrônico fast fashion no outono daquele ano, na esperança de vender sapatos online. Inesperadamente, poucos dias após a sua criação, a empresa enfrentou uma crise financeira.
Zalando não tinha muito dinheiro em mãos e teve que encontrar maneiras de economizar. Os dois fundadores alugaram um apartamento sublocado em Berlim como escritório e armazém. Como estavam apenas começando e não tinham muitos clientes, eles tentaram diferentes experiências de negócios. Mais tarde, descobriram que o frete grátis e o direito de devolução em 100 dias eram os dois destaques mais populares para os clientes, o que também se tornou as primeiras vantagens da Zalando na expansão. o mercado de comércio eletrônico. As duas garantias de entrega da Zalando tornaram-se mais tarde o padrão que os clientes esperam de outras plataformas de comércio eletrônico.
Naquela época, para construir rapidamente uma plataforma de transações de comércio eletrônico e porque era fácil encontrar engenheiros de desenvolvimento familiarizados com PHP, a plataforma de comércio eletrônico Zalando de primeira geração usava o software de comércio eletrônico Magento desenvolvido em PHP. Este software é como o antigo. Nos primeiros dias do WordPress, você mesmo podia combinar módulos funcionais de terceiros.
A estratégia da Zalando em seus estágios iniciais era “Mova-se rápido, quebre as coisas”. Zalando não tinha equipe de manutenção, muito menos uma equipe de plataforma, e contava com apenas 1 ou 2 funcionários para gerenciar todo o site.
Dois anos depois, em 2010, apareceu o primeiro iPad, a Netflix lançou 12,000 filmes, as redes sociais começaram a aparecer nos telemóveis e a Zalando entrou num período de rápido crescimento. Ultrapassou a Alemanha e começou a entrar em outros países, expandindo-se sucessivamente. . Para a Holanda, França e outros países. Naquela época, Zalando tinha 20 funcionários em tempo integral e muitos clientes altamente fiéis.
Em 2010, redesenvolvi toda a plataforma de e-commerce utilizando Java.
No entanto, o software de e-commerce PHP escolhido quando foi fundado começou a ter problemas e não pôde ser expandido ainda mais. Embora a equipe de desenvolvimento tenha feito o possível para modificar o código e a arquitetura do programa subjacente, ainda não havia como resolver o problema. problema. No final, toda a arquitetura teve que ser cortada e retrabalhada, e Zalando redesenvolveu toda a plataforma de comércio eletrônico, desde uma combinação de banco de dados PHP e MySQL até um aplicativo monolítico em grande escala usando linguagem Java e banco de dados PostgreSQL.
Zalando mudou de um software de comércio eletrônico antigo para uma nova plataforma, naquela época ele ficou “apenas” fora do ar por 90 minutos. “Esse era um tempo aceitável naquela época. a mídia famosa." Andrew Howden brincou dizendo. As expectativas e os padrões das pessoas em relação à tecnologia mudarão com o tempo e o espaço. Este é um exemplo típico.
Porém, a equipe naquela época não era grande, mas também começou a encontrar problemas ágeis. Como realizar lançamentos com mais segurança? Para manter um certo grau de controle, eles desenvolveram uma lista de verificação de implantação, que deve ser confirmada sempre que for lançada. Embora retarde a liberação do código atualizado, pode tornar o processo de liberação mais confiável e manter a satisfação do cliente. .
Em 2014, Zalando continuou a expandir em escala e este ano também mudou completamente para um design de site responsivo (RWD). Este ano é o ano em que nasceu a tecnologia de contêineres Docker.
A receita anual cresceu 4 vezes em 4 anos e os desafios técnicos por trás das três estratégias principais
De 2010 a 2014, as receitas da Zalando quadruplicaram, para 22 mil milhões de euros (aproximadamente NT$ 750 mil milhões).
Andrew Howden destacou que a chave para o crescimento positivo do desempenho da Zalando vem de três estratégias principais. A primeira é a estratégia de “escala”, que envolve tomar todos os meios necessários para expandir o sistema de software, até mesmo cortar completamente a versão antiga e criar uma nova. A segunda estratégia é a “localização”. O âmbito do serviço da Zalando foi expandido para vários mercados, desde Suécia, Dinamarca, Finlândia, Noruega, Bélgica, Espanha, Polónia até à Áustria. Faça ajustes locais com base nas diferenças de idioma, moeda, requisitos de conformidade legal e necessidades de manutenção de cada país.
Outra estratégia fundamental é a “diferenciação”. A Zalando também começou a se transformar em um modelo de loja de departamentos, introduzindo um sistema de parceria para permitir que fornecedores terceirizados vendam seus próprios produtos na plataforma Zalando.
“O maior teste que essas três decisões trarão para a tecnologia é que o software que foi originalmente desenvolvido apenas para uso interno deve agora ser fornecido a terceiros. Ele também deve ter capacidades de escala e atender às necessidades locais de cada país”, enfatizou Andrew Howden. .
Nos três anos seguintes, a Zalando contou com diversas contramedidas técnicas para se lançar rapidamente em vários países. Por um lado, introduziu o ERP de nível empresarial e, por outro lado, começou a desenvolver sites oficiais localizados em cada país e também. construiu uma loja online capaz de lidar com pedidos e transações em grande escala.
No entanto, estas três estratégias tornaram os sistemas desenvolvidos por Zalando cada vez mais complexos. Por exemplo, em 2010, havia apenas 7 unidades de implantação. Em 2012, havia mais de 100 equipes de implantação, e o gerenciamento e a coordenação de versões tornaram-se um grande desafio.
Para simplificar a complexidade, Zalando exige que cada software seja desenvolvido usando apenas três tecnologias principais: Java, Tomcat e PostgreSQL.
O nascimento da primeira equipe de plataforma
Além disso, Zalando também começou a construir sua primeira equipe de "plataforma" para gerenciar engenharia de sistemas, engenharia de banco de dados, engenharia de software de plataforma e também fornecer diversas consultorias de segurança.
Por exemplo, eles construíram uma ferramenta deployctl para gerenciar o processo de lançamento e também usaram a ferramenta de monitoramento de gerenciamento de rede de código aberto zmon (semelhante ao Nagios) para monitorar regularmente se todos os softwares e sistemas estão operando normalmente.
Com essas práticas de suporte definidas por organização, ferramentas e tecnologia, Zalando conseguiu lançar semanalmente na época. Cada versão é testada por uma equipe de Garantia de Qualidade para garantir a correção, e uma pequena equipe fornece suporte de plantão.
No entanto, à medida que o número de pessoas na equipe de desenvolvimento cresce, cada vez mais trabalho precisa ser coordenado para cada versão. À medida que os sistemas se tornam cada vez maiores e as informações de manutenção relacionadas estão espalhadas por todo o lado, torna-se cada vez mais difícil para os engenheiros obterem eficazmente informações relevantes sobre o trabalho que estão a realizar.
Para controlar os lançamentos dos engenheiros, a equipe da plataforma adotou medidas cada vez mais rígidas, mas inesperadamente, isso por sua vez diminuiu a velocidade de lançamento. Andrew Howden disse: "Embora a equipe da plataforma tivesse boas intenções, isso limitou inesperadamente a capacidade da empresa de inovar e se tornar líder de mercado. A equipe da plataforma começou a se aproximar da confiabilidade."
O tempo se concentrou em 2014. Após o nascimento do Kubernetes, ele rapidamente se tornou popular. A versão oficial 1.0 foi lançada no ano seguinte, o que também deu origem ao estabelecimento da organização CNCF. Esta organização assumiu muitos projetos de tecnologia relacionados à nuvem. como gRPC, etcd, RunC, Envoy e Jaeger e outras tecnologias. 2014 foi também o ano da oferta pública inicial (IPO) da Zalando.
Em resposta à nova visão após o IPO, migrar para a nuvem para operações em vários países da Europa e adotar a tecnologia nativa da nuvem
O IPO traz mais fundos para a Zalando e dá-lhe maiores capacidades, mas também significa maior pressão para o desenvolvimento. Andrew Howden disse que a Zalando deve crescer mais rapidamente e expandir-se mais rapidamente, e deve inovar.
A nova visão da Zalando é criar uma “plataforma de moda” que possa conectar um grande número de pessoas com a moda, permitindo que parceiros terceirizados e lojas vendam diversos produtos de moda nesta plataforma.
No entanto, as decisões técnicas de Zalando nos últimos anos desenvolveram-se gradualmente numa arquitectura técnica relativamente fiável, mas difícil de alterar. Esta arquitectura "estável" não consegue acompanhar a nova visão após o IPO.
A fim de apoiar o futuro layout das operações multipaíses em toda a Europa, no final de 2014, Zalando decidiu abraçar totalmente a nuvem pública, introduziu a tecnologia de contêiner Docker e começou a usar a arquitetura de microsserviços para substituir a antiga arquitetura monolítica.
No ano seguinte à sua listagem, em 2015, a Zalando começou a desenvolver uma estratégia de plataforma de e-commerce. Queria transformar-se num fornecedor de plataforma tecnológica no ecossistema de e-commerce e começou a exportar os seus próprios serviços técnicos para parceiros e parceiros do ecossistema.