OZON изнутри: feels like a startup

в 13:14, , рубрики: e-commerce, Блог компании OZON: life in tech, офис, офисная жизнь, Разработка под e-commerce, Управление e-commerce, управление разработкой

Ozon.ru — почти ровесник Рунета, в свои 20 лет мы старше многих наших клиентов. Из книжного интернет-магазина компания выросла в e-commerce платформу, которая объединяет инфраструктуру fulfillment-центров и логистики, веб и мобильные приложения, выдерживает и набеги десятков миллионов пользователей во время распродаж, и атаки интернет-мошенников.

OZON изнутри: feels like a startup - 1

В этом посте мы немного расскажем про себя: о том, как перестраиваем и развиваем платформу, одновременно обслуживая 1,2 млн пользователей ежедневно. А заодно покажем офис, где трудится IT-лаборатория OZON, ну и пару шикарных видов из его окон.

OZON изнутри: feels like a startup - 2

За последний год технологическое подразделение компании выросло в восемь раз — сейчас у нас больше 600 человек. В июле OZON переехал в новую штаб-квартиру — она располагается в одной из башен Москва-сити. Мы заняли восемь этажей (и пока вы это читаете, захватываем девятый).

OZON изнутри: feels like a startup - 3

OZON изнутри: feels like a startup - 4

Замена стека

Чем дольше существует компания и чем больше у нее клиентов, тем многообразнее зоопарк IT-систем и сложнее их поддерживать и развивать. За годы работы OZON выстроил одну из лучших систем логистики и управления fulfillment-фабриками, в то же время платформа e-commerce оставалась массивным MS SQL с хранимыми процедурами и логикой в базе.

Жить с закрытым стеком Microsoft — Windows, IIS тяжко — эти технологии относительно дешевы на входе, но в какой-то момент становятся невыносимо дорогими в поддержке.

OZON изнутри: feels like a startup - 5

Помимо MS стека, в наследство команде IT досталось множество систем, написанных почти 20 лет назад на Delphi— их переписывать нужно просто потому, что они не отвечают требованиям современных реалий.

В итоге около года назад в OZON началась глобальная перестройка IT. Мы начали активно нанимать разработчиков, переходить на опенсорс и микросервисы.

Первоочередная задача — распил логики, которая находится в базах, чтобы сделать ее масштабируемой. Часть этой работы уже проделана — и в том числе благодаря этому OZON может расти на 80-90% в год.

OZON изнутри: feels like a startup - 6

Сейчас многие системы пишутся на GO — это разумный компромисс между производительностью, сложностью освоения и скоростью разработки. Язык достаточно низкоуровневый, чтобы писать производительные сервисы, и в то же время достаточно простой — ему можно быстро научить php-разработчика. В Москве (да и в России) нет такого количества GO-шников, которое нам нужно, поэтому мы нанимаем специалистов, готовых осваивать новый стек, и учим. Подход работает как win-win — специалисты приобретают знания, а мы можем наконец отказаться от проприетарных решений, заменив их собственными. Причем для своих задач команда, вероятнее всего, напишет решение более оптимальное, чем имеющиеся на рынке.

Обживаемся

OZON изнутри: feels like a startup - 7

Про новый офис мы уже упомянули выше, и сейчас постепенно обживаемся в нем: дизайнеры разрисовывают стены, разработчики разбирают устаревшие харды на магнитики и приносят на работу самокаты и коллекции банок из-под Pepsi.

OZON изнутри: feels like a startup - 8

У нас нет сложной иерархии и субординации — а у генерального директора нет кабинета. Ему можно написать на емейл — и получить ответ в тот же день, или в Slack — там он доступен практически постоянно.

Такой подход позволяет решать проблемы быстро и небольшими командами. Ключевые показатели проектов отображаются в реал-тайм на экранах с Grafana, которые стоят у каждой из команд.

OZON изнутри: feels like a startup - 9

На экране в кабинете CTO anatolix таких графиков десяток. Например, видно, что на складе сейчас несколько десятков тысяч еще не собранных посылок. Это нормально — в день мы развозим больше 100 000 заказов, и несколько десятков тысяч посылок — это бэклог меньше, чем на смену. Но если бэклог больше, чем на день — это уже проблема. Благодаря графикам сразу видно, «копится» ли какая-то проблема и в какой из систем что-то пошло не так.

OZON изнутри: feels like a startup - 10

Тест на устойчивость OZON проходит несколько раз в год в период распродаж. Так, в этом ноябре в «Черную пятницу» число заказов увеличилось в 2,5 раза — на тот момент это был рекорд за все время существования сервиса, но декабрьские распродажи этот рекорд побили.

В системе fulfillment и логистики, где товары сортируются и собираются в посылки — свои сложные IT,  которые пользователю не видны, и серьезные нагрузки. И оно тоже могло захлебнуться в моменты пиковых нагрузок.

OZON изнутри: feels like a startup - 11

Параллельно растет количество товаров, меняется алгоритм поиска (недавно мы переехали на Elasticsearch) и рекомендаций (теперь на основе Machine Learning), появляются новые фичи. За последние полгода мы почти полностью переписали сайт (с Win Forms на node.JS), обновили мобильные приложения и сейчас работаем над сокращением технического долга.

OZON изнутри: feels like a startup - 12

IT сейчас переживают взрывной рост — у нас есть люди и технологии, которых OZON ранее никогда не видел. Мы многое пробуем, и если что-то не полетело — отказываемся и берем другое решение. Так, мы строили кластер Kubernetes, и как в любом кубер кластере, там стоит роутинг трафика — мы решили использовать модный Linkerd, которым пользуется, например, Twitter. Но с ним были постоянные проблемы: он то падал, то выжирал все ЦПУ, то вел себя неадекватно. Мы потратили уйму времени на ресерч, пытались что-то запатчить — а потом выкинули и сделали проще на Ingress и nginx.

Мы активно развиваем data engineering — там список технологий огромный. Пробуем разные хранилища данных, алгоритмы и вообще все технологии, которые есть в machine learning.

OZON изнутри: feels like a startup - 13

Мы постоянно находимся между желанием сделать максимально правильно и темпами роста бизнеса. У команд нет полугода на обдумывание лучших решений, ведь чтобы оставаться на месте, нужно бежать очень-очень быстро. Мы работаем в режиме: фичи-фичи-фичи — обеспечение устойчивости.

OZON изнутри: feels like a startup - 14

В новом году OZON планирует увеличить продажи в некоторых категориях в 10 раз, и площадь fulfillment-фабрик — в 2,5 раза, запустить новые направления и развивать недавно созданные.
В 1998 году мы были интернет-магазином книг, потом добавляли-добавляли-добавляли категории и стали онлайн-гипермаркетом. Но сегодня мы и его переросли. OZON стал e-commerce платформой, в рамках которой развиваются не только товарные категории и поддерживающая их инфраструктура логистики, но и финансовые услуги и еще около 20 новых проектов.

В 2018 году, например, мы в бета-режиме запустили маркетплейс — несмотря на то, что мы пока его тестируем, на нем уже сотни селлеров.

Следующая задача в рамках этого конкретного проекта — создать экосистему, предоставив витрину, fulfilment и логистику, инструменты аналитики и мониторинга supply chain для селлеров. В идеале, на маркетплейсе партнерам будут доступны все инструменты, которые есть у команды коммерции в OZON, и даже больше.

В общем, нашему IT-департаменту предстоит много работы. Хотя отдыхать мы тоже любим. Кстати, приходите в гости — по пятницам у нас вечеринки.

OZON изнутри: feels like a startup - 15

Автор: skoooorik

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js