Lamoda изнутри: зачем интернет-магазину 300 инженеров

    Привет, Хабр! Меня зовут Валентин, я CTO в Lamoda, где работаю почти с момента основания компании. Все эти годы мы всей командой так быстро бежали вперед, что не было возможности немного остановиться и рассказать о себе. Думаю, время пришло.



    Может показаться, что Lamoda – один из пионеров российского интернета, но нам всего семь лет. С момента основания в 2011 году по сегодняшний день наша компания выросла с 11 сотрудников до более чем пяти тысяч. Каждый месяц к нам на сайт заходит >10 млн человек. Фактически мы были стартапом-новичком в устоявшемся российском IT, а в итоге за такой короткий срок смогли догнать и превзойти многих заслуженных ребят.

    Я надеюсь, что мы понемногу расскажем вам о наших самых полезных и интересных достижениях, неудачах, опыте и том, с какими задачами наша команда сталкивается каждый день. Будем считать этот пост нашим знакомством.

    В 2011 году мы самостоятельно развивали только подготовку контента и закупку стока для продажи, все остальное было на аутсорсе. Сейчас мы все делаем сами. Мы курируем эксплуатацию собственного пятиуровневого склада размером с футбольное поле, три контакт-центра и доставку покупателям. Несмотря на то, что в России очень высокая IT-культура, крупные компании только начинают погружаться в то, как выстроить подобную инфраструктуру, а в Lamoda по этому пути успешно идут уже много лет.

    Итак, из чего состоит техническое закулисье Lamoda? По сути это пять больших подразделений:
     
    • департамент разработки (отдел автоматизации бизнес-процессов и отдел разработки онлайн-магазина)
    • отдел сопровождения IT (инфраструктура и безопасность)
    • отдел внедрения и поддержки ERP-системы
    • отдел поддержки сервисов
    • департамент данных и аналитики



    Все в GO


    Эта история о ребятах, которые разрабатывают e-commerce платформу, а в свободное от работы время гоняют на мотах и водят экскурсии по барам крафтового пива.
     
    Именно в отделе разработки e-commerce платформы создают все то, чем покупатели Lamoda пользуются ежедневно: десктопную и мобильную версию сайта и приложения для iOS и Android. Сложность работы не в реализации функциональности для пользователя, команде нужно максимально быстро, но без потери качества и стабильности раскатывать новые фичи и поддерживать проекты в четырех странах: России, Казахстане, Украине и Белоруссии. На сегодняшний день сотрудники этого отдела в состоянии запускать по сервису каждую неделю, если это необходимо, и работают под девизом: «Все в GO».


    Команды в основном разбиты по платформам (desktop, mobile site, mobile apps), также существуют четыре команды для backend сервисов. Каждая команда включает в себя фронт- и бэк-разработчиков, аналитиков, тестировщиков и менеджера продукта.

    Чтобы доставлять изменения как можно чаще, мы практикуем такой подход к итерациям разработки: в начале спринта выдвигаем гипотезу, а выпуская новые фичи в production, проверяем ее, тем самым понимая, идет ли нововведение на пользу продукту и становится ли жизнь пользователей Lamoda лучше. Например, не так давно мы научились показывать, какое количество просматриваемого человеком товара было куплено за последнее время.  Для этого мы взяли продуктовую задачу, нашли в ней MVP и определили наиболее быструю стратегию реализации. Перед тем, как выкатить все в продакшн, мы определили, что критерием успешности будет увеличение конверсии. По результатам A/B-теста конверсия выше в той группе, где была внедрена фича.

    Какое-то время назад в Lamoda начался массовый и стремительный переход на микросервисы. Что нам это дает? Первое — низкий порог вхождения для нового разработчика или специалиста из другой команды. Второе — легкая поддержка и изменение микросервисных систем, чтобы рабочий процесс был наполнен интересностями, а не только болью. Но небольшое количество монолитов (например система, которая отвечает за распределение заказов) у нас по-прежнему живет, и от них на данный момент трудно и неудобно избавляться.

    Собираем Lamoda с нуля без SMS и регистрации


    Всем известно, что не бывает работы без фейлов. Каждый раз, решая задачу и запуская код, мы надеемся, что вот оно, счастье, а потом нет – снова опыт. Говоря об опыте, стоит отметить тот факт, что сотрудники отдела разработки e-commerce платформы, как истинные бойцы, умеют в прямом смысле собирать Lamoda с нуля. Случалось такое, что из-за неверных сетевых настроек наш кластер решал, что он больше не кластер, и отказывался существовать. Повезло, что это было ночью, и за четыре часа нам удалось вдохнуть в Lamoda жизнь. Есть у нас и другие истории.



    Тимур Нурутдинов, руководитель разработки e-commerce платформы:

    Перед началом работы над новой функциональностью мы, как обычно, сели оценить, какие ресурсы нам нужны. В проект были вовлечены четыре команды. Мы учли приоритеты других задач, график отпусков коллег и трудозатраты. В итоге у нас получилось 32 недели.

    Восемь месяцев на реализацию одной фичи. Это звучит дико. С помощью нехитрых изменений нам удалось сократить time to market до 4 недель, и вот что мы сделали.

    Фишка платформенных команд в том, что они в состоянии делать и фронт, и бэк. Так работают и у нас в отделе. Но на бэке бывает необходимость вносить изменения во многие интегрированные системы, и компетенции платформенной команды этого не позволяют. Мы начали проект Sizes, касающийся предоставления клиенту максимально подробных размерных сеток, и не захотели ждать. Для начала пришлось разобраться, в какие системы необходимо внести изменения, затем мы собрали небольшую команду с подходящими компетенциями. Так мы сняли блок на ожидание ресурсов от других платформенных команд и получили продуктовую команду. Что касается задач, то мы действовали своим проверенным методом — разбили большие таски на более мелкие, делали их, выкатывали в прод и проверяли свои гипотезы на пользователях, чтобы понимать, в верном ли направлении  движемся. После такого удачного эксперимента с созданием продуктовой команды мы планируем организовать команды по направлениям, когда сотрудники образуют единый юнит и развивают определенное направление, например доставку.
     

    Автоматизация склада и 15-минутные интервалы доставки


    Ребятам из автоматизации некогда скучать, и задачки тут нетривиальные. Например, как залить на сайт миллионы товаров с одинаково высоким уровнем качества контента (автоматизация фотостудии), как обрабатывать и учитывать все заказы с сайта, принимая во внимание сотню маркетплейс-партнеров и четыре страны СНГ, как за три часа собрать заказ на пятиэтажном складе, как реализовать доставку клиенту на следующий день в выбранный им 15-минутный интервал в 600 городах только в России. А на десерт здесь подают продажу всего этого хозяйства B2B-партнерам и Marketplace-направление.
     
    Работа ведется в основном на PHP, для автоматизации склада мы используем Java плюс Docker/Kubernetes, Atlassian stack, PostgreSQL, RabbitMQ.







    У нас в отделе работает бакетная система для планирования спринтов: 60% – это проектный бакет, 20% – технический долг, приоритетным багам отдается 10% спринта, и 10% на то, что что-то обязательно прилетит извне. Кроме всего прочего, backlog grooming, online planning poker, stand-up, retro, code review 360, сбор и анализ базовых метрик, проведение мониторинга (Prometheus, Grafana, Icinga, Kibana), в общем все как в лучших домах Парижа командах разработки.

    Вот пара забавных историй от Павла Савельева, руководителя отдела автоматизации бизнес-процессов.

    Невозможно все протестировать и учесть, потому что в каждом бизнес-процессе так или иначе участвуют люди. А люди, как известно, разумные существа и всегда стараются придумать хитрые штукенции, которые облегчат им жизнь. Но когда эти самые придумки идут вразрез с описанным бизнес-процессом, случаются веселые истории.

    Однажды мы заметили, что система, отвечающая за распределение товара на складе, получает в сотню раз больше сканирований в течение минуты, чем обычно. Оказалось, что сотрудники склада нашли хак системы и решили облегчить себе работу. Уходя на обед, они зажимали кнопку на сканере, чтобы их не выбрасывало из пользовательской сессии. И этот их ворк-хак работал бы и дальше, но в одном из тотов (специальный ящик для товаров на складе) оказалось много мелких айтемов. Сканер, подобно пулемету Максима, обрабатывал товары из злополучного тота, что привело к резкому скачку нагрузки, глюкам системы и обнаружению явного бага со стороны разработчиков. Баг мы, конечно, пофиксили, но думаю, что сотрудники склада не позволят нам скучать и придумают что-то новенькое.

    Второй случай также произошел на складе. Эта история называется «43 веселые футболки». Не всегда сходу удается распознать сложность алгоритма, тем более когда решаешь задачу о рюкзаке и тебе нужно оптимальным образом разместить в определенном объеме N предметов (задача трехмерной упаковки). Оказалось, что если к нам на склад попадают 43 совершенно одинаковые футболки, система, отвечающая за упаковку товара, генерирует столько комбинаций распределения для данного кейса, что ей банально не хватает памяти. Мы пересмотрели алгоритм и нам больше не страшны одинаковые футболки — но что будет, если на упаковку попадут сотни пар носков, которые производители решат продавать по одному? Об этом стоит задуматься…

    В любой непонятной ситуации ориентируйся на данные


    Перемены, касающиеся аналитики в Lamoda, назрели уже давно, и в этом году мы затеяли объединение разрозненных подразделений аналитики со своей аналитической инфраструктурой и привычками в один большой департамент. Зачем? Основная причина в том, что сотрудники, находящиеся в разрозненных командах аналитики, часто делают одну и ту же работу, но по-разному, и затем не вполне ясно, на какие данные ориентироваться. Разные данные – это в целом нормально, потому что команды исходят из разных задач и предпосылок, но нужно тратить много времени на то, чтобы в них разобраться.

    Сотрудники департамента – истинные евангелисты того, что все решения в компании должны приниматься на основе данных, поэтому каждый день здесь с энтузиазмом изучают бизнес-явления в данных, анализируют и извлекают ценность из данных, оценивая, как их можно применить. Основной инструмент это – SQL, а также Spark, Hadoop, Python для анализа данных, Excel, SAP BusinessObjects – для отчетности и Tableau – для визуализации.

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

    Сергей Гилев, руководитель департамента данных и аналитики:

    Перед департаментом аналитики на данный момент стоят две большие задачи: первая — это консолидация разнородного хозяйства, которое у нас было до объединения. Для дальнейшей эффективной работы нам необходимы единые метрики, аналитическая инфраструктура и процессы. Вторая цель — это проект по созданию аналитических дашбордов, описывающих «здоровье» определенного процесса или всей компании в целом. Таким образом мы стремимся значительно улучшить доступность данных для людей, принимающих решения, и привить всем наш подход к работе: в любой непонятной ситуации ориентируйся на данные.

    История большого переезда: как мы запустили свой собственный склад незаметно для клиентов


    Постепенный отказ от аутсорса привел нас к тому, что пора было вводить в эксплуатацию собственный склад. Кроме всей подготовки по автоматизации операционных процессов на новом складе, мы ставили перед собой цель не уменьшать ассортимент и ни в коем случае не останавливать продажу. Наши специалисты разработали решение, основанное на создании дополнительных «виртуальных» складов. Таким образом, на всем протяжении переезда у нас функционировали склады трех типов: старый, новый и «в пути». Так как перевозка товаров производилась постепенно группами фур, то сток, который оказывался в очередной партии, перемещался в «виртуальный» склад. У нас было расписание погрузок и разгрузок, поэтому мы точно знали, сколько времени сток будет находиться в пути и ориентировали клиентов на корректную дату доставки заказа.

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

    Работа по запуску собственного склада кипела три месяца, в течение которых ни один клиент не пострадал.

    Подготовка к Black Friday или как мы выживаем в период шопингомании


    Несколько лет назад мы боялись «Черной пятницы» как страшного монстра. Мы понятия не имели, как отреагируют наши системы на такой поток заказов. Но постоянная работа над рефакторингом и развитием инфраструктуры стабилизировала наши системы и сделала их максимально предсказуемыми. Последняя «Черная пятница» была самым скучным днем в году. Специалисты ключевых систем и DevOps просто сидели за столом, играли в видеоигры или смотрели фильмы и только одним глазком следили за состоянием нашей инфраструктуры. Но подготовка к этому дню проходит несколько иначе.

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




    War room — наш оперативный центр на Black Friday

    Решения, которые мы принимаем, чтобы выжить в «Черную пятницу», зависят от узких мест, с которыми мы сталкиваемся во время тестирования. Несколько лет назад мы физически заменили сетевые коммутаторы, чтобы исключить проблему с пропускной способностью. Еще одно действие, которое мы обычно выполняем с целью снижения нагрузки – это отключение подсистем, которые не являются критичными.

    Итоги


    Все эти годы мы старались постоянно улучшать и упрощать наш рабочий процесс, собирая обратную связь с сотрудников компании, налаживая каналы «bottom-up» и всецело поддерживая свежие задумки и концепции.

    Кто-то скажет, что Lamoda – это абсолютный зоопарк технологий и систем. Мы сами часто шутим на эту тему и говорим: «Лучше спросите, что мы не используем». Но в этом вопросе существенным фактом выступает то, что у нас происходит постоянная эволюция стека и технологий, и при этом отсутствует их бездумный выбор. В этом нам помогает Architecture review каждого нового сервиса и проекта, ориентир на имеющуюся экспертизу сотрудников, а также ведение Technology Radar, детали и свои аргументы по которому мы с удовольствием расскажем в очередном посте. И также с удовольствием похоливарим на эту тему.

    Lamoda

    98,00

    Russian Fashion Tech

    Поделиться публикацией
    Комментарии 123
      +1
      Я правильно понимаю, что вместо того чтобы взять готовое решение автоматизации склада вы написали свое? Чем ваше решение отличается от существующих?
        +5
        Изначально мы и взяли существующее решение и оно отлично работало. Однако со временем оказалось, что наши бизнес-процессы отличались от тех, которые было возможно реализовать в системе — например, разные процедуры оформения в разных странах. И относительно уникальное оборудование со своей спецификой работы, под которую, конечно же, в существующих решениях ничего не заточено. При этом скорость расширения и изменения бизнеса настолько высокая, что поспевать за ней можно только с собственной разработкой.
        0
        А Вы готовитесь к встрече с этой задачей?

        В перечень вошли десять групп товаров, подлежащих обязательной маркировке средствами идентификации, с указанием сроков введения такой маркировки. К таким товарам отнесены табачная продукция, духи и туалетная вода, различные предметы одежды, обувные товары, фотокамеры и другие. По мнению инициаторов, чипирование будет способствовать снижению оборота контрафактной продукции в России.

        Введение обязательной маркировки для табачной продукции установлено с 1 марта 2019 года, парфюмерии – с 1 декабря 2019 года, шины и покрышки пневматические резиновые новые – с 1 декабря 2019 года, верхняя одежда и белье постельное, столовое, туалетное и кухонное – с 1 декабря 2019 года, фотокамеры – с 1 декабря 2019 года, обувь – с 1 июля 2019 года.
          +3
          Мы готовимся ко всему, что требует от нас законодательство.
            +9
            Законодательство требует 4.5 кв.м. на одного сотрудника работающего за компьюетром. Соблюдаете?
              +4
              Как бывший сотрудник, работающий за компьютером, могу сказать, что места было даже гораздо больше.
                0
                Это вместе с туалетами, коридорами и кофепоинтами?
                  0

                  Для примера наша команда сидит в уголке на 8 посадочных мест. Размер оного на глаз где-то 6х8м. Сидим по периметру в центре уголка зона, в которой без проблем вся команда размещается на стендап

                    0
                    Я думал, что у нас плохо. У вас еще хуже )
                  0
                  Законодательство требует 4.5 кв.м. на одного сотрудника работающего
                  Здесь же есть «лазейки» — учитывается вообще общая площать всех помещений, и делится на количество сотрудников. Поэтому просто посчитайте один только склад, и законодательно всё уже выполняется :)
              0
              Круто. А как все же решили задачу заливки контента в миллион позиций на сайт? У нас объем был не так велик, но все равно мы делали «двойные» таблицы (с активной номенклатурой и номенклатурой для замены), заливали в «20» потоков (по числу ном. групп). А потом аккуратно все меняли, с учетом того, что у пользователей в текущей корзине \ заказах. Самое неприятное было с той номенклатурой, которая с одной стороны, выходит из ассортимента, а с другой висит в корзине…
                0
                На сайт мы заливаем все в реальном времени в одни и те же таблицы. Мета информация по продукту и сток могут обновляться независимо друг от друга.
                +3
                С дебютным постом в блоге на Хабре! :)
                  +2
                  Спасибо :)
                    +2
                    спасибо!)
                    +4

                    Я надеюсь на фотках какой-то оперативный центр или обучение, а не рабочие места?

                      +2
                      Вы угадали, это действительно наш оперативный центр, так называемый War room на Black Friday, где мы собираем лиц ответственных по всем направлениям, обвешиваем комнату плазамами, показывающими текущее состоение продакшена и максимально оперативно реагируем на происходящее. Мы про это обязательно расскажем.
                        0
                        Вопрос слегка неуместен, но через какое WiFi-оборудование предоставлен доступ в сеть в данном помещении, и сколько там человек максимум может работать?
                        +1
                        Это штаб дежурства на Black Friday, рабочие места находятся в уютном опенспейсе.
                        Есть фотки по завершению дежурства, более весёлые =)
                          +13
                          С каких это пор опенспейс стал уютным?) Или это нужно трактовать как «все опенспейсы ужасны по определению, но у нас самый уютный из всех этих ужасных»?)
                            –8
                            Тут зависит от личного опыта и предпочтений.
                            Ужасный опенспейс, когда он тесный или вы сидите рядом с коллцентром.
                            Из предпочтений, да опенспейс комфортнее кабинета, где музыка из ваших наушников мешает работать всем окружающим.
                              +12
                              Ну да, в опенспейсе такого нет) Там шарканье коллег вокруг, постоянные разговоры и мельканье фигур в боковом зрении заглушают эту неприятную музыку у соседа из наушников) Как замечательно, что есть опенспейс))
                                +2
                                Самое классное быть в опенспейсе с сотрудниками из другого отдела.
                                  +1
                                  Самое классное быть в опенспейсе с сотрудниками из другого отдела.


                                  Ога, с продажниками и техподдержкой.
                                +1
                                Я думаю, что у любой команды (отдела) есть разумный лимит на размер.
                                И нет никакой проблемы посадить команду (отдел) в отдельный кабинет.

                                Касательно болезней. Больше, конечно, вопрос к вентиляции, чем к опенспейсам как таковым. Если она плохая — ничего не спасет. Все будут неэффективно работать и болеть. Что в кабинетах, что в опенспейсе
                              +9
                              уютном опенспейсе

                              Какой знатный оксюморон. Опенспейс не может быть уютным по определению.
                                +4
                                Мне нравятся опенспейсы и это не было препятствием для работы ни в одной компании, извините, что мой взгляд на комфортное рабочее пространство отличается от вашего
                            +2
                            На фотографии последней — это рабочие места? Бедные шеи/позвоночники ваших программистов. Да и места что-то не густо.
                              0
                              Это штаб дежурства на Black Friday. Добавили подпись к фотографии, чтобы не сбивала с толку.
                                +1
                                image
                                Рабочие места вот такие.
                                  +4
                                  Растения призваны отгородить работников от постоянно мелькающих мимо сотрудников? Мило)
                                    +9
                                    Почему бы я не пошел в такой офис работать:

                                    1. Нет визуальной изоляции. Много людей в одной общей зоне. Перевести взгляд от монитора можно разве что на растение, чтобы не встретиться лишний раз взглядом с другим работником.

                                    2. Нет звуковой изоляции.

                                    3. Опенспейс — рассадник болезней.
                                      –2
                                      Картинка_с_гомером_про_Лунапарк.jpg
                                        0
                                        Эта?
                                        Заголовок спойлера
                                        image
                                          0
                                          тьфу, блин, Бендер, конечно!
                                        +3
                                        Учитывая, что я только что специально посмотрел на офисы в Яндекс или Гугл и в плане рассадки людей большой разницы не нашел, скажите тогда, в какой бы Вы пошли????
                                        Просто многие постоянно, извините, но «ноют» о том, что опенспейс это плохо… В плане, когда рядом сидят бухгалтера и разработчики — это плохо, но, если отделы разделены, а в Ламоде явно разделены, то что Вы хотите? Это уже про «зажрались»? Может каждому разработчику по кабинету???
                                          +2
                                          Выше написал про вентиляцию.

                                          Касательно того, что все так делают. Это дань моде и экономии средств работодателя.
                                          Ничего общего с комфортом опенспейсы не имеют. Понятно, что можно и в отдельных кабинетах устроить ад: запретить открывать окна, поставить советскую мебель. Или дать разработчикам «слабые» компьютеры.
                                          Но, в целом, в среднем, опенспейсы хуже отдельных кабинетов.
                                            +1
                                            А покажите пример компаний, в которых рабочие места организованы как вам нравится?

                                            Я поработал в разных местах, от кабинета на четверых в совдеповском здании, до опенспейса на 30 человек, зато в приличном офисе в центре города. Второй вариант мне понравился больше. Вариант «кабинеты по 4 человека в приличном офисе в центре города» мне кажется невозможным экономически.
                                              0
                                              Вариант «кабинеты по 4 человека в приличном офисе в центре города» мне кажется невозможным экономически.

                                              А может эта… не нужны кабинеты в приличном офисе в центре города? Это какое-то продолжение политики гиперцентрализации (как, впрочем, все едут на ПМЖ в Москву со всей страны, т.к. только там нормально оплачиваемая работа). Даешь центры притяжения на периферии. Кстати, ездить не на ОТ в центр — это прям совсем боль.

                                              от кабинета на четверых в совдеповском здании, до опенспейса на 30 человек, зато в приличном офисе в центре города. Второй вариант мне понравился больше

                                              Ну, опять же — что сравнивать.

                                              Как несколько вариантов (не образцовых, но что-то взять можно):
                                              EPAM (1) nowystylgroup.ru/projects/epam
                                              EPAM (2) 42.tut.by/467196?crnd=58559
                                              S7 archi.ru/russia/image_large.html?id=135001
                                              DINO SYSTEMS www.officenext.ru/projects/project-30457-dins
                                                0
                                                > А может эта… не нужны кабинеты в приличном офисе в центре города?

                                                Это да, я сейчас работаю в пригороде. Как бонус пробок почти нет, потому что они почти всегда в обратном направлении.
                                                  0

                                                  А все живут рядом ?

                                                  +1
                                                  А может эта… не нужны кабинеты в приличном офисе в центре города?

                                                  Имелся в виду не прямо географический центр города, а что-то более-менее транспортно доступное. Чтобы не надо было ехать до конечной станции метро, а потом еще на развозке до территории бывшего завода, распроданного на "бизнес-центры".


                                                  Как несколько вариантов (не образцовых, но что-то взять можно):

                                                  Обычные варианты. Если на то пошло, давайте хотя бы разделять "опенспейс здорового человека" и "курильщика", а то обычно на Хабре хейтят любые опенспейсы в принципе, без поправок, что могут быть годные варианты.

                                                    0
                                                    Меня устроило бы использование любого кольца (лучше ОТ — МЦК, кольцевая метро, но можно и ТТК/МКАД) для того, чтобы добираться на работу. А скоро еще и МЦД построят.
                                                    Действительно наиболее противный фактор — чтобы не было больше 1-2-х пересадок или какой-нибудь адищенской служебной развозки в деревню с автобусом раз в день в каждый конец.
                                                    0

                                                    Если Гугл и Яндекс откроют офисы в Балашихе, через некоторое время там будет все тоже самое… никто не будет из Химок ездить, будут снимать квартиры в Балашихе, в если офис в центре Москвы то большинству примерно одинаково добираться

                                                      0
                                                      Суда по ссылкам вам больше нравится сидеть в коробке из-под холодильника чем в опенспейсе?
                                                    +1
                                                    ИМХО, вкусовщина. Зато, когда сидишь в кабинете один, заставить себя работать сложнее. А так, все вокруг уткнулись в мониторы и тихонько кнопки давят — проще настроиться. Мой личный трекер это подтверждает. Главное, чтобы за спиной постоянно не ходил кто-то туда-сюда, что решается расстановкой мебели и перегородок. И чтобы никто не орал через все помещение, что решается наличием переговорных. И не вонял пельменями, что решается наличием кухни.

                                                    В конце концов, в школе/универе все сидели в «опенспейсе» — и вполне эффективно занимались делом. Совсем не то, что домашние задания делать в гордом одиночестве: то поесть, то погулять, то в окно посмотреть, то ручку порасписывать…
                                                      0
                                                      В школе класс — максимум — 20-30 человек. К тому же, дети — это маленькие люди. У взрослых с одной стороны и потребности больше, да и перемен нет. Но и терпения/выносливости больше.

                                                      В универе же — вообще огромные аудитории, с огромными объемами воздуха внутри. Поэтому несравнимо с опенспейсом.
                                                        0
                                                        Практические занятия проходят в аудиториях до 40 человек, при этом студент что-то да должен делать, а вот аудитории на 100+ человек — для нижней чакры студента.
                                                          0
                                                          Абсолютно поддерживаю. Я уж не говорю, что во многих универах есть учеба в группах до 20-ти человек (лабораторные всякие, семинары, практикумы).
                                                      +1
                                                      В моей компании опенспейс это максимум 4 человека в помещении квадратов 15-20 пространства на человека. Планировано таким образом что проходные корридоры вне этих офисных помещений. Почти все столы стоят возле окна — искусственное освещение 90% времени вообще не требуется. Вентиляция хромает местами, но у меня есть окно, которое я открываю и закрываю как хочу, так что жить можно.

                                                      > Просто многие постоянно, извините, но «ноют» о том, что опенспейс это плохо…

                                                      Я работаю в довольно большой техкомпании (не IT), более 1000 инженеров, проводили психологическое тестирование (https://www.16personalities.com/personality-types) 80+% инженеров — интраверты. И это насколько мне известно типично.
                                                      Вы и другие люди можете игнорировать этот факт, насаждать опенофис с лозунгом как хорошо для кооперации, погружать человека в среду из которой ему хочется поскорее свалить/взять лишний больничный чем сфокусироваться и выполнять работу.

                                                      Я вот временами хожу на собеседования в другие компании, предлагали такую же постоянную позицию но зп +10% близка к потолку местного рынка (больше только у консультантов которые работают уже за почасовой рейт). Офис примерно такой как на фото тут. Я отказался.
                                                        0

                                                        Ну я же писал что я не поддерживаю большие муравейники по сути… но кабинет для 4 человек экономически редко возможен…

                                                          0

                                                          Я сейчас работаю в кабинете в числе 20 человек, жить можно.

                                                        0
                                                        Не знаю, как у кого, по мне опенспейсы — это просто ужас и кошмар для кодеров, а очередная статья о том, как они плохи, выходит в научных и бизнесовых журналах примерно раз в месяц.

                                                        Сидим в кабинетах по 2-4 человека, до этого работал в компании, где можно было себе урвать по личному кабинету. Ощущения — отличные. Если приходится работать у клиента в опенспейсовом стойле — оккупирую переговорки, ухожу с ноутбуком на скамейки рядом с офисом, кафешки неподалеку, был период когда уходил работать в ботанический сад. Никогда не пробовал работать в кубиклах, но подозреваю, что тоже сильно приятней этих долбаных футбольных полей.
                                                          0

                                                          Был две недели назад в Яндексе, на встрече. По крайне мере там где я был были кабинеты на 4-10 человек.

                                                            0
                                                            Мне нравилось в каждом кабинете по 2 разработчика.
                                                            Так было 3 года в немецкой фирме.
                                                      +2
                                                      Довольно стандартная ситуация — рассказать о достижениях и банальных вещах, но не рассказать о том, что действительно интересно.

                                                      1. Микросервисы — это круто.
                                                      Что это и зачем они нужны всем понятно. Расскажите про тестирование, развертывание, поддержку их инфраструктуры.
                                                      2. Мы внедрили кучу технологий «как в лучших домах».
                                                      Напишите, что они вам дали.

                                                      Получился неплохой набор баек с упоминанием технологий.
                                                      Ну и фотографии интересные)
                                                        0
                                                        Про микросервисы в Lamoda подробно рассказал Андрей на BackendConf
                                                        www.youtube.com/watch?v=hRcTvC6bznA&feature=youtu.be&list=PLl9pILEeZ62KwnhS2AEdbeovGR8Q_LBW1
                                                          +5
                                                          Я ожидаю от поста на Хабре чего-то полезного, а не «тут ничего нет, ищите где-то еще».
                                                          И возможности задать вопросы и написать комментарии, а не просто посмотреть видео.
                                                          Видео постараюсь посмотреть, по возможности )
                                                          Это не упрек, просто поясняю, не обижайтесь.
                                                            0
                                                            все здорово и понятно, спасибо за ссылку. Остался главный вопрос, почему отказались от MySQL в пользу PostgreSQL?
                                                              0
                                                              Внутренняя экспертиза в компании была значительно выше в PostgreSQL. Поэтому сделали такой выбор и до сих пор не пожалели.
                                                            +4
                                                            Мне кажется, не стоит в первой же статье ждать целый роман о всех аспектах развития компании…
                                                              0
                                                              Спасибо! Дальше будем писать более техническое, с деталями. А ваши вопросы лучше помогают понять, что именно «действительно интересно». О чем ещё хотелось бы узнать?
                                                                0
                                                                По всем технологиям интересно, как именно преодолевали их недостатки, с какими проблемами столкнулись. Не нужно примеров кода и настроек ;), просто информация.
                                                                Просто получилось все в кучу. Вроде и технических деталей добавили, по получилось ни о чем.
                                                                  +1
                                                                  очевидно(у всех же одинакого?), что Ламода столкнулась с дефицитом ресурса разработчиков. Расскажите от лица Product Ownera и от лица PM, как решали? Там есть у Вас упоминание про спринты, но хотелось бы больше информации.
                                                                  Какие есть продукты в Компании, как выстраивали и договаривались о приоритетности продуктов и проектов, в контексте нехватки системных аналитиков, например, или тестировщиков, такого плана вещи…
                                                                +4
                                                                Микросервисы позволяют делегировать ответственность за архитектурные решения с разработчиков (микро)сервисов на архитектора системы. Более того, во многом архитектурные проблемы делегируются из «compile time» (на самом деле design time) в runtime, когда кто-то должен идти и выяснять, каким образом процент дропа unknown unicast на одном из свитчей транслируется в понижение конверсии по программе лояльности.

                                                                Каким образом переход на микросервисы должен был улучшить состояние «блуждающих сетевых факапов» я не совсем понимаю.
                                                                  –11
                                                                  захочешь денег — и не так раскорячишься)))
                                                                  а вообще все работают — и собственно в чем что-то выдающееся?
                                                                  что являетесь прослойкой между производителем и покупателем?

                                                                  скорее бы производители напрямую начали продавать — для выгоды покупателей избегая вот таких прослоек)))
                                                                  да это им сложно — но зачем мне скидываться вашим учредителям на виллу в сен-тропе?
                                                                    +4
                                                                    Вы как-то наивно на мир смотрите. Не каждый производитель может обеспечить нормальную логистику, например. Особенно в такой большой стране, как Россия. Нам пришлось создавать свою службу LM Express. Задача производителей – производить, а не развозить. Та же история с доставкой еды – ресторан не курьерская служба, поэтому взорвались сервисы для этого.
                                                                      +3
                                                                      Вот производителям-то больше всего нужно сидеть и торговать в розницу. А парк машин, чтобы отвозить людям на примерку, они каждый год Деду Морозу заказывают. С одеждой и обувью вариант «торговать производителю» не работает вообще, в отличие от техники, например. Потому что вещи нужно мерить. Даже для примерки всегда заказываю кучу размеров, потому что ориентироваться на размеры, указанные производителем, ну вообще нельзя.
                                                                        +5
                                                                        Не скидывайтесь. Езжайте на фабрику и покупайте там. )
                                                                        +2
                                                                        Работал с вами, как подрядчик для одного внутреннего андроид приложения для курьеров:) Было весело! Но интересно всегда, как внутри работают такие большие компании
                                                                          +12
                                                                          О! Члены АКИТ паблисити занялись. Пост — оно конечно интересно, но сущности общественной опасности компаний типа lamoda не меняет. Расскажите лучше — вы поддерживаете АКИТ и его цели по борьбе с трансграничной торговлей?
                                                                            +3
                                                                            Конечно, для этого они в Акит и пришли. Пытаются организовать локальную монополию
                                                                              0
                                                                              Ну, а что мы хотели от кровавого капитализма? В самой его дикой форме?
                                                                              Во всех сферах жизни происходит укрупнение капитала и монополизация рынка (ну, край — три-четыре вендора остается) — это какой-то социальный закон. Ныть — бессмысленно. Нужно что-то делать (если что — к революциям не призываю и чту УК РФ).
                                                                                +1
                                                                                Закидать Х@ями на Хабре — сойдет за «Нужно что-то делать»? :)
                                                                              0
                                                                              С одной стороны, вроде бы IT отношения к АКИТ не имеет.
                                                                              С другой стороны, сравнение цен на товары за рубежом и в России показывает, что объяснить разницу только пошлинами, налогами и логистикой не получается.
                                                                              Либо компании получают сверхприбыли…
                                                                              Либо они неэффективны. А вот тут уже IT имеет самое прямое отношение.
                                                                                0
                                                                                … сравнение цен на товары за рубежом и в России показывает ...

                                                                                Когда показывает, а когда и нет. Вот, товар на Амазоне стоит 24000, а в АКИТ — 25500. «Cверхприбыли» составили чуть больше 6%.
                                                                                  0
                                                                                  Кавычки можно убрать:
                                                                                  This is especially true for web-only retailers, which often see net margins as low as 0.5 to 3.5%.
                                                                                    0
                                                                                    Ну, там 24000 — минимально возможная цена, плюс, для США может быть добавлен налог с продаж, а за доставку в Россию Амазон возьмет $143. Возвращаясь к комментарию выше, я думаю, что такую разницу все же можно объяснить «только пошлинами, налогами и логистикой».
                                                                                      0
                                                                                      Вы взяли один конкретный товар, который, скорее всего, распространяется местным дистрибьютером, и пошлины, налоги и логистика уже оплачена им.
                                                                                      Соответственно к трансграничной торговле данный товар никакого отношения не имеет.
                                                                                        0
                                                                                        А сколько товаров я должен был взять?

                                                                                        Просто вы говорите: "… сравнение цен на товары за рубежом и в России показывает, что объяснить разницу только пошлинами, налогами и логистикой не получается." Я это понимаю как «в России все дороже». Предложение про «компании получают сверхприбыли» наводит на мысль, что, по вашему мнению, не просто дороже, а сильно… прямо до неприличия (в разы, например). И вы еще упомянули АКИТ, что, видимо, обозначает, что АКИТ — главный виновник этого.

                                                                                        Однако, по моему опыту, не все товары дороже, а некоторые, иногда, даже чуть дешевле. В местных магазинах цены, в общем случае, не зависят от того, АКИТ это, или нет. Я привел пример такого товара. Разница в цене на подобные товары лично для меня гораздо более критична, чем на всякую мелочь, типа кабелей или бамперов для телефона. Ну, потому что в абсолютных цифрах разница будет больше. И вот для подобных товаров я каких-то особых перекосов, как правило, не вижу.
                                                                                          0
                                                                                          Например, такой класс товаров, как одежда важнее дорогих мониторов. Поскольку без монитора 4к uhd Вы обойтись можете, а вот без одежды и обуви — никак. С детскими товарами ситуация аналогичная.
                                                                                          Я вовсе не говорю, что в «России все дороже». АКИТ препятствует нормальной трансграничной торговле теми товарами, которые не представлены в России фирменными дистрибьюторскими центрами или не производятся в России, для получения сверхприбылей(либо такой прибыли нет, просто их схемы очень неэффективны).
                                                                                          И еще, если тут все гладко, зачем АКИТ так бьется за соответствующие законы?
                                                                                            0
                                                                                            Речь, видимо, идет о какой-то очень специальной одежде и очень специальных детских товарах? Потому что одежда и детские товары как класс, есть, их много и разных.

                                                                                            И еще, если тут все гладко, зачем АКИТ так бьется за соответствующие законы?

                                                                                            Ну, если оно лоббирует законы, которые ему выгодны, это выглядит логично. Наоборот разве бывает?

                                                                                            Мне непонятен другой момент: если эти законы пока еще не вступили в действие (речь же о снижении объема необлагаемых пошлинами покупок?), то почему эти товары, как вы говорите, в России дороже уже сейчас и были дороже до того, как о законах вообще зашла речь? За счет какого механизма АКИТ все это время заставляло компании, не являющиеся ее членами и не являющиеся официальными дистрибьюторами ломить цены? И почему сверхприбыли получает АКИТ, если продают эти товары не только они?
                                                                                              0
                                                                                              Что значит есть?
                                                                                              Вы цены сравнивали? В Британии и России, например?
                                                                                              Я про США и Китай даже не говорю, тут все понятно.

                                                                                              Мне непонятен другой момент: если эти законы пока еще не вступили в действие (речь же о снижении объема необлагаемых пошлинами покупок?), то почему эти товары, как вы говорите, в России дороже уже сейчас и были дороже до того, как о законах вообще зашла речь? За счет какого механизма АКИТ все это время заставляло компании, не являющиеся ее членами и не являющиеся официальными дистрибьюторами ломить цены? И почему сверхприбыли получает АКИТ, если продают эти товары не только они?

                                                                                              Сверхприбыли получают все монополисты.
                                                                                              Механизм простой — не имея возможности покупать за границей, люди покупают тут. Но, внезапно, появились зарубежные инет магазины, доставляющие в Россию. И оказалось, что можно купить то же самое в 2-3 раза дешевле.
                                                                                              И некоторым это не понравилось. И они стали лоббировать соответствующие законы.
                                                                                              Для них это логично, но людям это не нравится. И удивляться тому, что это негативно влияет на репутацию организации и компаний, входящих в нее, не приходится.
                                                                                                0
                                                                                                Вы цены сравнивали? В Британии и России, например?
                                                                                                Сравнивал, 2-3 раз там, как правило, нет, если не брать варианты «акционный товар в иностранном магазине vs отдельный оборзевший местный перепродавец». Стоимость доставки во многих случаях выводит разницу в ноль. Время доставки таково, что разница в цене должна быть очень весомой, чтобы оправдать необходимость ожидания. А вы пример какой-нибудь можете привести, чтобы это было что-то не очень специальное и не по акции?

                                                                                                Я про США и Китай даже не говорю, тут все понятно.
                                                                                                А вот это, извините, похоже на демагогию. Что именно понятно?

                                                                                                И оказалось, что можно купить то же самое в 2-3 раза дешевле.
                                                                                                Опять же, нужны примеры. Потому что лично я никаких 2-3 раз не вижу.
                                                                              0
                                                                              Кстати, о прослойках. Часто между конечным покупателем и lamoda есть еще одна прослойка -ГСП (группа совместных покупок). Им нужны фото и описание товаров, которые они выкладывают в соцсетях. Соответственно, для этого они пользуются услугами разнообразных онлайн парсеров.
                                                                              Некоторые сайты отдают парсерам данные сами, чтобы не иметь лишней нагрузки и способствовать распространению своего товара через социальные сети.
                                                                              Некоторые просто не обращают внимания.
                                                                              Некоторые активно сопротивляются административными и техническими средствами.
                                                                              А как к таким вещам относится Ламода?
                                                                                0
                                                                                Ламода вполне лоялно относится к такого рода интеграциям. У нас есть несколько десятков партнеров для которых мы готовим свои фиды.
                                                                                +3
                                                                                Извините, а вы входите в АКИТ?

                                                                                p.s. Ничего такого, просто важная для меня информация…
                                                                                +2
                                                                                -Мы самые клевые!
                                                                                -А почему?
                                                                                -А просто клевые и все!
                                                                                Хотелось бы более подробной информации о стеках, причины выбора того или иного, сервисах, какие проблеммы возникают.

                                                                                Опять же 300 инженеров, зачем так много? Раздут штат или действительно есть необходимость?
                                                                                  +1
                                                                                  ЛМ — старый стартап с миллиардными инвестициями.
                                                                                  Входят в группу компаний, старающихся превалировать на локальных рынках.
                                                                                  300 инженеров для них не так много. Возможно, делятся своими наработками внутри группы.
                                                                                  Такие компании про рентабельность стараются не вспоминать, главное — не останавливать свой рост в ожидании новых инвесторов.

                                                                                    0
                                                                                    Главное — не останавливать свой рост, а то конкуренты набегут (а раз растешь, то и конкурентов рано ил поздно купишь или разоришь).
                                                                                      +1
                                                                                      Немного не так. Растут не из-за конкурентов, а чтобы хоть как-то обосновать отрицательную рентабельность перед инвесторами.
                                                                                      0
                                                                                      там дооолгие (емнип, германские) деньги. с 2011 по примерно 2015 (если не изменяет склероз) были «планово-убыточными»
                                                                                    0
                                                                                    Круто! Буду ждать технических подробностей
                                                                                      0
                                                                                      Учитесь, как разводить лпров на ИТ бюджеты и повторяйте ;)
                                                                                      100500 лайков.
                                                                                      Но, в итоге кончат, как юлмарт.
                                                                                        0
                                                                                        Хорошо, если так. А то ведь и Wildberries купить могут, а там все, крышка.
                                                                                        +1
                                                                                        Знаете, что круто? Что вы сумели влезть на рынок одежды/обуви, дико застойный со времён рынка «Лужники», и сделать всё современно и классно. Уважаю.
                                                                                          –1
                                                                                          Уважаете за рекламные бюджеты, которым могут позавидовать 99% представителей рынка одежды/обуви?
                                                                                          0
                                                                                          Спасибо за статью. А поиск на сайте на чём сделан?
                                                                                            0
                                                                                            Сейчас основаня технология поиска — Solr и мы в процессе перехода на Elasticsearch.
                                                                                              0
                                                                                              а зачем переходить? это же по сути одно и то же?
                                                                                                0
                                                                                                Движок Apache Lucene действительно тот же, но мы думаем, что нам будет проще масштабировать Elasticsearch.
                                                                                            +1
                                                                                            Ваша компания входит в АКИТ. Шли бы вы отсюда лесом.
                                                                                              0
                                                                                              Меня очень смущает наличие отдельных отделов по разработке и эксплуатации.

                                                                                              Не создаёт ли это лишние барьеры и перекидывание ответственности за факапы? Как это ложится на концепцию DevOps/SRE?

                                                                                              P.S. к нам на лекции приходил коллега от вас, из lamoda. Мосягин вроде? С его слов звучало, что прям у вас там круто
                                                                                                +1

                                                                                                Я понимаю, что рейтинг заметки +75 и видимо люди что-то в ней находят, но для меня все рассказано сродни камедиклабовскому "а я Никита, ворую носки из ашана". Информационно- познавательная ценность прочитанного почти нулевая.

                                                                                                  0
                                                                                                  Вам 7 лет? Я думал, года два, только недавно столкнулся с агрессивной рекламой компании.
                                                                                                    0
                                                                                                    если у вас ЧП такая же, как везде, то неудивительно, что никакого роста нагрузки вы не получили
                                                                                                      0
                                                                                                      На первой фотографии реальный склад LaModa или это просто иллюстрация?
                                                                                                        0
                                                                                                        Это реальный склад Lamoda — вот еще пара фотографий. Мы обязательно напишем отдельную статью про наш fulfilment center.

                                                                                                        image

                                                                                                        image
                                                                                                          0
                                                                                                          Реальный
                                                                                                          0
                                                                                                          ERP и CRM системы у вас тоже самописные, или внедрен SAP, например?
                                                                                                            0
                                                                                                            ERP: Основная Microsoft Dynamics и несколько 1C. Сами дорабатываем обе.
                                                                                                            CRM: все самописное и распределенное по нескольким системам.
                                                                                                              0
                                                                                                              А можно в одной из статей рассказать о взаимодействии ERP и CRM?
                                                                                                          0
                                                                                                          Как-то примерно в 2015-2016 году Lamoda подписала меня на свои рассылки, от которых никак невозможно было отписаться. С тех пор она ассоциируется у меня исключительно со спамом.
                                                                                                            0
                                                                                                            Когда я в 2013 работал в topbrands, он почему-то считал себя конкурентом Ламоде :)))
                                                                                                              0
                                                                                                              Как происходит послепродажная работа с клиентами? Много вопросов поступает после покупки? Как с ними работаете?
                                                                                                                0
                                                                                                                1) PHP в проекте чисто исторически? Планируется ли полный переход на Go?
                                                                                                                2) Не увидел на картинке что-либо в духе Redis/Memcache. Используется ли?
                                                                                                                3) Для полнотекстового поиска кроме Elasticsearch что-то еще использовалось? Например Sphinx?
                                                                                                                4) У каждого товара есть набор характеристик. Как технически построена система поиска товаров по заданным характеристикам? Находится ли это в памяти и обновляется в реалтайме или идет предрасчет? Какой объем базы с товарами и как быстро система сможет найти к примеру «красная рубашка 42 размера»? Как контролируется справочник характеристик что бы менеджер не создал к примеру «цвет: красный» повторно?
                                                                                                                  0
                                                                                                                  Отвечу пока на первые три вопроса:
                                                                                                                  1) Ламода стартовала именно с PHP. Нет, полный переход не планируется.
                                                                                                                  2) Redis есть, а вот Memcache нет и вряд ли будет. Подробнее можете посмотреть на нашем тех радаре: radar.thoughtworks.com/?sheetId=https%3A%2F%2Fdocs.google.com%2Fspreadsheets%2Fd%2F1tV4uowMRiCRfPQd5X_LvMu3GTMTfcg0AxLxel_Y7UWQ%2Fpubhtml%3Fgid%3D0%26single%3Dtrue о котором, кстати, статья уже готовится, скоро будет с пояснениями и деталями
                                                                                                                  3) Сейчас используем Solr, но переезжаем с него Elasticsearch, а в истоках так вообще был и Sphinx
                                                                                                                    0
                                                                                                                    1) Из-за легаси? Или PHP вполне себе выполняет нужные от него задачи?
                                                                                                                    3) Правильно ли я понимаю, что с Sphinx съехали по причине более сложной поддержки? На сколько Elasticsearch честно выполняет свои функции? Помнится Аксенов его критиковал за некоторый обман.
                                                                                                                    0
                                                                                                                    Технически мы используем поисковый движок solr для поиска по нашим товарам. Вся информация обновляется в реальном времени с некоторой задержкой. С нашей базой в миллионы товаров, мы ориентируемся на SLA в 30-50мс. Что касается справочника характеристик, то система управления товарами имеет статически заданный набор атрибутов и не позволяет менеджерам создавать их дубли.
                                                                                                                      0
                                                                                                                      А какая величина задержки?
                                                                                                                      Для одного проекты мы пилили поиск по товарам в Sphinx. Одна из проблем как раз обновления индекса. При частом потоке обновлений (а это проект агрегатора, магазины выгружают товары через YML сразу пачками) пересчет дельта индекса (реалтайм индекс оказался слишком медленным) происходил слишком часто. Правильно ли я понимаю, что у нас нет массовых апрейтов?
                                                                                                                      Экспериментировал тут с roaring bitmaps в попытке получит большую скорость на малых системных ресурсах: Какие реализации могут быстро искать пересечение множеств (система тегов)?. Были ли у вас подобные попытки (например на С/С++/Go/etc)? Или эластик на столько хорош, а железа на столько хватает, что нет смысла этим заморачиваться?
                                                                                                                        0
                                                                                                                        Есть delta обновления. Сейчас каждые 15 минут, но мы движемся в сторону полного реалтайма. Полный реиндек тоже есть, происходит несколько раз в сутки.

                                                                                                                        Попытки поискать что-то более оптимальное были, но в конечном счете elastic выглядит предпочтительнее, тем более, что у нас в компании накоплен хороший опыт по его эксплуатации.

                                                                                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                                                  Самое читаемое