Ozon.ru tem quase a mesma idade de Runet, aos 20 anos somos mais velhos que muitos de nossos clientes. A partir da livraria on-line, a empresa cresceu para uma plataforma de comércio eletrônico que integra a infraestrutura de centros de atendimento e aplicativos de logística, web e móveis, e pode suportar os ataques de dezenas de milhões de usuários durante as vendas e os ataques de golpistas online.

Neste post, falaremos um pouco sobre nós: como estamos reconstruindo e desenvolvendo a plataforma, atendendo 1,2 milhão de usuários diariamente. E, ao mesmo tempo, mostraremos o escritório em que o laboratório OZON IT está trabalhando, bem, algumas vistas deslumbrantes de suas janelas.

No ano passado, a divisão de tecnologia da empresa cresceu oito vezes - agora temos mais de 600 pessoas. Em julho, a OZON mudou-se para uma nova sede - está localizada em uma das torres da cidade de Moscou. Ocupamos oito andares (e enquanto você lê isso, pegaremos o nono).


Substituição da pilha
Quanto mais a empresa existir e mais clientes tiver, mais diversificado será o zoológico dos sistemas de TI e mais difícil será mantê-los e desenvolvê-los. Ao longo dos anos, a OZON construiu um dos melhores sistemas de gerenciamento de fábricas de logística e atendimento, enquanto a plataforma de comércio eletrônico permanece um enorme MS SQL com procedimentos e lógica armazenados no banco de dados.
Vivendo com um Microsoft Windows fechado, a pilha do IIS é difícil - essas tecnologias são relativamente baratas na entrada, mas em algum momento elas se tornam insuportavelmente caras para oferecer suporte.

Além da pilha do MS, a equipe de TI herdou muitos sistemas escritos há quase 20 anos no Delphi - eles precisam ser reescritos simplesmente porque não atendem aos requisitos das realidades modernas.
Como resultado, há cerca de um ano, a OZON iniciou uma reestruturação global de TI. Começamos a contratar ativamente desenvolvedores, mudar para código aberto e microsserviços.
A principal tarefa é cortar a lógica que está nos bancos de dados para torná-la escalável. Parte desse trabalho já foi concluída - e, graças a isso, a OZON pode crescer de 80 a 90% ao ano.

Agora, muitos sistemas estão escritos no GO - esse é um compromisso razoável entre desempenho, complexidade e velocidade de desenvolvimento. O idioma é baixo o suficiente para escrever serviços produtivos e, ao mesmo tempo, bastante simples - pode ser ensinado rapidamente. Em Moscou (e na Rússia) não existe o número de GO-shnikov que precisamos, por isso contratamos especialistas que estão prontos para aprender uma nova pilha e ensinar. A abordagem funciona como ganha-ganha - especialistas adquirem conhecimento e finalmente podemos abandonar soluções proprietárias, substituindo-as por nossas. Além disso, para suas tarefas, a equipe provavelmente escreverá uma solução mais ideal do que as disponíveis no mercado.
Se dando bem

Já mencionamos o novo escritório acima, e agora estamos nos instalando gradualmente: os designers pintam as paredes, os desenvolvedores tiram os discos obsoletos dos ímãs e trazem scooters e coleções de latas da Pepsi para trabalhar.

Não temos uma hierarquia e subordinação complexas - e o CEO não tem um escritório. Você pode escrever para ele por e-mail - e obter uma resposta no mesmo dia ou no Slack - lá ele está disponível quase constantemente.
Essa abordagem permite resolver problemas rapidamente e em pequenas equipes. Os principais indicadores do projeto são exibidos em tempo real nas telas do Grafana, que são cada equipe.

Na tela do gabinete do CTO
anatolix , existem
dezenas desses gráficos. Por exemplo, pode-se ver que existem várias dezenas de milhares de pacotes ainda não coletados no armazém. Isso é normal - entregamos mais de 100.000 pedidos por dia e várias dezenas de milhares de pacotes - isso é um atraso em menos de um turno. Mas se o atraso for maior que um dia - isso é um problema. Graças aos gráficos, é imediatamente claro se um problema está se “acumulando” e em qual dos sistemas algo deu errado.

O teste de sustentabilidade da OZON passa várias vezes por ano durante o período de vendas. Então, em novembro, na sexta-feira negra, o número de pedidos aumentou 2,5 vezes - na época era um recorde para toda a existência do serviço, mas as vendas de dezembro quebraram esse recorde.
No sistema de atendimento e logística, onde as mercadorias são classificadas e coletadas em pacotes - sua complexa TI, que não é visível ao usuário, e cargas sérias. E também poderia ser afogado em momentos de pico de carga.

Ao mesmo tempo, o número de produtos está crescendo, o algoritmo de pesquisa (recentemente mudamos para o Elasticsearch) e as recomendações (agora baseadas no Machine Learning) estão mudando, novos recursos estão aparecendo. Nos últimos seis meses, reescrevemos quase completamente o site (do ASP.NET Web Forms para o node.JS), atualizamos aplicativos móveis e agora estamos trabalhando na redução da dívida técnica.

Atualmente, a TI está experimentando um crescimento explosivo - temos pessoas e tecnologias que a OZON nunca viu antes. Tentamos muito e, se algo não voa, recusamos e tomamos uma solução diferente. Então, construímos um cluster Kubernetes e, como em qualquer cluster de cubos, há roteamento de tráfego lá - decidimos usar o moderno Linkerd, que é usado, por exemplo, pelo Twitter. Mas havia problemas constantes com ele: ele cairia ou consumiria todas as CPUs, ou se comportaria de maneira inadequada. Passamos muito tempo na revisão, tentamos consertar algo - e depois jogamos fora e facilitamos o Ingress e o nginx.
Estamos desenvolvendo ativamente a engenharia de dados - há uma enorme lista de tecnologias. Tentamos diferentes armazenamentos de dados, algoritmos e geralmente todas as tecnologias presentes no aprendizado de máquina.

Estamos constantemente entre o desejo de fazer a coisa certa e o ritmo de crescimento dos negócios. As equipes não têm seis meses para pensar nas melhores soluções, porque, para permanecer no local, você precisa correr muito, muito rápido. Trabalhamos no modo: características-características-características - garantindo estabilidade.

No novo ano, a OZON planeja aumentar em 10 vezes as vendas em algumas categorias, e a área de fábricas de atendimento - em 2,5 vezes, lançar novas direções e desenvolver novas.
Em 1998, éramos uma livraria online, depois adicionamos e adicionamos categorias e nos tornamos um hipermercado online. Mas hoje nós superamos isso. A OZON se tornou uma plataforma de comércio eletrônico, na qual não apenas as categorias de produtos e a infraestrutura logística de suporte estão em desenvolvimento, mas também serviços financeiros e cerca de 20 novos projetos.
Em 2018, por exemplo, lançamos um mercado no modo beta - apesar de enquanto o estamos testando, ele já possui centenas de vendedores.
A próxima tarefa na estrutura deste projeto específico é criar um ecossistema, fornecendo ferramentas de vitrine, atendimento e logística, análises e monitoramento da cadeia de suprimentos para os vendedores. Idealmente, no mercado, os parceiros terão acesso a todas as ferramentas que a equipe de comércio da OZON possui e muito mais.
Em geral, nosso departamento de TI tem muito trabalho a fazer. Embora também gostemos de relaxar. A propósito, venha nos visitar - temos festas às sextas-feiras.
