Хабрахабр

ИТ-байки розницы — как это было 12 лет назад

Исторически большинство моих проектов тоже в ритейле. Я работаю в КРОК уже 15 лет, сейчас директором по развитию бизнеса в рознице. Безопасники заменили некоторые неважные детали, чтобы не обижать конкретных людей. С согласия заказчика публикую байки про то, на что был похож ритейл по ИТ лет 12 назад от себя и коллег.

Банки делали их в 2006-2007-м, розница — с 2008-го. В 2005 году в Москве вылетела подстанция, и все в стране внезапно поняли, что нужно делать резервные серверные. Потому что затраты на ИТ тогда ещё не казались чем-то таким же важным, как сейчас. Почему так поздно? Оказалось, многие в ИТ уже не верят, что так было. Я вспоминаю историю, как моего заказчика чуть не уволили за простой в два дня по всей сети и заодно за другие особенности ритейла.

Вот вам первая история из серии «да ладно, так не бывает» — про то, как магазин был зарезервирован по аналоговому модему для доступа к Интернету. А так было. ЗССС — дорого, поэтому выбрали войс-модем. Просто тогда был только один провайдер с волокном в этом месте, а из альтернатив — спутниковая тарелка или диалап. Они в это время перекладывали свою ВОЛС, поэтому временно не было резерва. В один прекрасный момент экскаватор рвёт магистраль «Голден телекома». Днём 48 килобит в секунду, ночью 96 килобит в секунду. Три дня магазин работает по модему. Как вы видите по скоростям, это был очень хороший Zyxel, он держался даже на шумной линии.

Транзакция там длинная, если рвётся по тайм-ауту — всё заново. Интернет был нужен для отправки отчётов (при аварии их сразу решили отправлять потом, не приоритет) и для обновления цен по всей базе товаров немаленького магазина. Одна команда разбиралась с ИТ, а вторая в это время по телефону записывала изменения вручную: в офисе и в магазине сидели несколько человек с распечатками. В общем, в первый день пробовали загрузить цены, но ничего не выходило. В договоре с провайдером, кстати, авария не по вине оператора — первые три дня без штрафов, а дальше – 1/724 годовой суммы в час. Чуть позже написали скрипт для импорта XLS-файлов, и стали отправлять почтой куски базы на домашний компьютер одному из админов, а он возил их на машине в магазин. На вопрос о компенсации убытков они махнули рукой и сказали: «Ну, следующий месяц услуги бесплатно!».

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

Крупная розница начинает разбираться в секрете успеха одного из партнёров. Вторая невероятная история про ошибку в ИТ. У него всё получается быстро, просто, и он примерно в 20 раз масштабировал бизнес за последние восемь лет. Дело в том, что у всех бизнес идёт явно по другому пути при той же модели. Итак, начинают разбирать транзакции — и приходит понимание, что в SAP-карточке этого партнёра стоят умолчания, заведённые ещё десять лет назад для тестового клиента. На том рынке это было примерно в десять раз больше, чем должно было быть по логике. В итоге человек получает примерно в два раза больше, чем остальные партнёры. А там немного другие множители по планам и вознаграждению. Выяснили, что это не сговор, а банальная случайность. Розница провела внутреннее расследование. А человек на этой случайности за десять лет построил крупный бизнес.

Точнее, корректировал вручную данные по кассам. На одной из точек как-то воровал директор магазина. Он три месяца был на испытательном сроке на этой должности и систематически создавал в конце дня небольшую дельту между отчётом и фактически принятыми деньгами в кассах. Тогда это было можно, и ручной ввод воспринимался как приоритетный в сравнении со сгенерированным автоматически. Естественно, инвентаризацию делали уже без него. На 28-й день последнего месяца своего испытательного срока он написал заявление (неожиданно для офиса), и по процедуре осталось всего три дня на приёмку магазина. В итоге на него собрали доказательную базу, подали на него в суд. Потери оценили в 700 тысяч рублей чистыми (цена Hyundai Sonata с «полным фаршем» на тот момент), и куда хуже было бы, если бы в этот момент магазин проверила налоговая. Судья звонит:

У меня инсталляция SAP 32 терабайта. — Привозите дискетку с системой, мы посмотрим.
— Я не могу. У нас хорошие спецы. Это поезд дискеток.
— Да ладно вам, давайте я телефон наших спецов дам. У вас же 1С там?
— Эээ… Лучше вы к нам приезжайте.
— Нет, к вам мы не поедем.

Форенсику суд собрать не смог, и дело закрыли за недоказанностью.

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

От соседнего здания — воздушный мост уже в заказчика. На склад приходит оптика через соседнее здание. Резервный канал — спутник, терминал прямо на крыше своего склада. Cклад работает круглосуточно, но по ночам радиорелейный мост отваливается. По тем годам — космос как он есть. Там хорошая скорость, 25 Мбит/с. Часть из этого — ограничения скорости света, ещё часть — куча преобразований на демодуляторах, работающих на протоколах с высоким коэффициентом избыточности. Но спутник — это большая сетевая задержка, минимум 0,8 секунды на прохождение сигнала от земли до спутника и обратно. При 0,1 секунды всё как часы, а при 0,8 — начинаются очень долгие обмены пакетами. Аукается в итоге это тем, что складское оборудование начинает работать с задержками. Это уже годами позже появились протоколы, которые одним исходящим пакетом почти всё решают. Работник склада тыкает в паллету сканером, и дальше начинается хендшейк, отправка готовности, установка протокола, отправка пакета, отчёт о приёмке и так далее. В результате работа начинает реально тормозиться, потому что операции становятся долгими. Тогда надо было поменяться кучей данных с удалённой системой. И так каждую ночь. Выстраивается очередь из машин, и к утру все в мыле. Перенести канал невозможно: прокладка кабеля согласована владельцем площадки, а он даже не из России. Просто на соседнем складе вечером дёргают рубильник, и падает оборудование оператора оптики. Несколько месяцев сотрудники склада так и работали, пока не завели себе другого оператора — тоже радиомостом со здания за территорией, потом нормально оптику положили.

Там дико горели Wi-Fi-точки доступа Моторолы. Склад фешн-ритейла, то есть место, где лежит огромная куча одежды в коробках. Они загружались с флешки, поэтому на складе был специальный человек с лестницей, который к ним подлазил. Иногда просто слетала прошивка, а иногда они прямо реально сгорали. Грешили на производителя и сбойную партию, но после тщательного расследования выяснилось, что дело в статических разрядах. За несколько месяцев случилось около 60 инцидентов со сбросом прошивки, и сгорело полтора десятка точек. Немного вибраций, всё это попадало одним концом внутрь, вторым — на линию питания где-нибудь. Пыль от синтетических тканей накапливалась так, что создавала проводник вокруг точки. Если не везло — её пробивало уже серьёзнее. Если до этого слетала прошивка от статического разряда, точка отряхивалась на обслуживании. Потом точки стали опять гореть: смотрим, а заземление отошло от корпусов. Повесили на точки заземление, это решило проблему на полгода. Оказалось, перепады температур под крышей склада были такие, что постоянное сжатие-расширение просто кукожило и раскукоживало всё так, что жёсткая сцепка не выдерживала.

Да и вообще народ был дикий. Частоты на радиомосты, конечно, по-хорошему, надо согласовывать, но тогда так почти никто не делал. Одну из тарелок ЗССС в городской черте на магазине жильцы сбивали несколько раз. Пример. Да, она излучает. Потому что она излучает. Но больше всего излучения вы нахватаетесь в фокусе, когда залезаете на крышу, встаёте ровно по пику диаграммы направленности и бьёте по тарелке палкой. Но вверх, в метре под ней уже можно жить годами.

За 3500 баксов за штуку на один из складов привезли в Россию одни из первых полноценных мобильных терминалов. Про диких людей ещё вспоминается отличная история с терминалами на складе. С ними можно было делать любые операции на складе. Фактически это были защищённые по военному классу смартфоны. «Начальник, нэ работаэт!». И вот работники склада регулярно приносили их с повреждёнными экранами. Чтобы не работать. Нет, ИТ-команда розницы понимала, что они их как-то портят, и скорее всего, — злонамеренно. Как раз тогда в рознице почти повсеместно начали внедрять видеонаблюдение, и айтишники решили чуть ускорить проект на складе. Чего никто не понимал — это как они это делают с учётом корундового экрана и, главное, зачем, если у них оплата посдельная, и они сами себе этим режут заработок. Они поменяли часть устройств местами и посмотрели, что происходит. У них там стояли и муляжи, и настоящие камеры. «Спорим, ты слабак, наждачкой пользоваться не умеешь?» — вот примерно такой был мотив. Первая сцена: сидят двое на подножке погрузчика и пытаются наждачкой стереть экран. Оказалось, что реальная причина повреждений — заточенные монеты, которыми удавалось нанести хоть какой-то вред устройству. Они так разыгрывали новых работников. Он был единственной точкой опоры и просто сплющился. Но один такой потеряли полностью — на него просто поставили погрузчиком груз в несколько центнеров. Кстати, эти Ханивелы работали на складе без потерь, пока рядом сменилось два поколения Моторол. Но продолжал передавать данные, то есть пострадала только периферия.

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

А это требовало широких резервных каналов. В это же время ходили разговоры, что в магазинах будут внедряться терминалы сбора данных на новомодном вайфае. Переключались на неё, когда переходили на резерв — поднимали их терминалы-телефоны на удочках из окон, чтобы лучше ловило. К счастью, в этот же момент появился Skylink: это широкополосная сеть (CDMA-800), и она зависела от состояния атмосферы куда меньше спутника.

Но есть одна замечательная история про это. Сейчас мы много занимаемся консалтингом розницы в КРОК, но тогда практика в России была не очень распространена. Было видно, что многие процессы можно улучшить за счёт правильной организации логистики и ИТ, и это прямо очень сильно снижало себестоимость заказа. Примерно десять лет назад мои уважаемые коллеги разработали бизнес-модель, которая бы убила тогдашнего единственного онлайн-продуктового оператора. Зашли на пилот, взяли участок земли даже, но после определённых изменений в составе правления проект похоронили. Сейчас нечто подобное использует Яндекс.Еда, но десять лет назад всё это смотрелось очень, очень странно. Параллельно предложили тому самому нашему единственному онлайн-оператору. Решили продать модель, просто описали в виде здоровенного проекта и поехали в Англию. Звучало как переговоры с Яндексом: «мы посмотрим, и если поймём, что сами не сделаем, то, может быть, купим». Его манагеры назначили встречу, попросили показать разные части процессов. Там несколько этажей, по бокам здания лифты, и бегают люди туда-сюда. Но история не про это, а про то, что в ходе переговоров решили поехать на их склад. Лифты — узкое место, перед ними огромные очереди. То есть разнорабочий берёт тележку, дальше начинает гонять по этажам и комплектовать заказ. Тогда на это пять минут посмотрели, потом предложили на встрече: И это много лет так работает.

  1. Прямо сегодня сделать все левые лифты только на подъём, а все правые лифты только на спуск. Это очень упростит погрузку-разгрузку.
  2. Потом заняться физическим разделением тележек и людей. Пускай в лифте ездят только тележки с заказами, а заранее закешированные люди ждут их на этаже.
  3. Как почувствуете эффективность — вот, купите талмуд, где написано, как делать другие вещи нормально, а не такие азы алгоритмизации.

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

Казались фантастикой до определённого момента. Очень много раз слышал байки про то, что можно перепутать тест с продом. Среди прочего подняли новую тестовую инсталляцию SAP из трёхмесячного бэкапа и развернули её в отдельный тестовый сегмент, чтобы передать разработчиком на тесты. Итак, в ночь с 31 декабря на 2 января (судя по состоянию страны, это одна сплошная ночь), как обычно это происходит в ритейле, была профилактика и апдейты. 2 января начинаются звонки в поддержку: Сегмент заизолирован.

Вы инсталляцию развернули в закрытом сегменте?
— Да.
— Точно?
— Да, зуб даём.
— А проверьте ещё раз, пожалуйста.
— … Да, в закрытом. — Почему цены квартальной давности?
— Нет таких акций уже!
Звонок спецам:
— Привет, парни! Хотя подожди…

Она общая между ними. Единственный мостик между закрытым тест-сегментом и продом был в системе мониторинга. И достучался в итоге через мониторинг до кассовой подсистемы. А SAP даже в той ещё ревизии оказался очень хитрой штукой: он стучался сначала в свои адреса, а потом, когда не получал ответа, стучался вообще во все доступные. А тестовая база примерно четырёхмесячной давности, ну SAP и залил цены на прод. И увидел, что её пора обновить. Потом сам прод залил туда новые цены. Возможно, ему было тяжело, но он справился. С трудом. Возможно, тест почувствовал себя обиженным и снова залил свои. И так продолжалось несколько раз.

Наличие его говорило о том, что розничная сеть смотрит очень далеко в будущее. Вообще, конечно, в те годы SAP был редкостью. Среди кассовых решений боролись несколько десятков (!) крупных офлайн-решений, причём наших и западных, проприетарных и свободных. Все делали 1С, допиливали его на коленке и ещё раз допиливали. Из кадровых систем боролись SAP, Босс-Кадровик и 1С. Предлагали кучу всего, и каждое решение всё равно надо было допиливать. Вторая была более-менее понятным минным полем с известными багами, а третья — вроде как получше, но неразведанная и иностранная, и подорваться можно было где угодно. 1С все тогда боялись, она была сырая. Мой коллега работал в жёстком дискаунтере, поэтому сразу поставили всё это на централизованную систему. Боролись даже сами архитектуры — централизованная и децентрализованная. Резервный компьютер был под столом. Чтобы минимизировать количество оборудования в магазине, кроме касс ставили всего один модуль (компьютер и маршрутизатор) — и всё. Админ не нужен был на точке. Маршрутизатор по мере необходимости привозили со склада вместе с молоком, потому что каждый день завоз. По соплям в сети многие помогали сами на месте, компьютерная грамотность людей была очень даже хорошая. Кто-то типа директора или товароведа знал, как менять модуль и включать его. SAP-практика была 11 человек (для сравнения, у крупнейшего ритейлера страны тогда было порядка 2800 магазинов и более 2000 айтишников). На всю сеть из почти 700 магазинов и 3500 касс в ИТ-отделе было менее 100 человек, и это включая разработчиков, консультантов, админов, делопроизводителей и ИТ-финансистов. Это было почти космосом по тем временам, но породило несистемную конфигурацию. Они же первыми в ритейле внедрили параллельную отчётность на in-memory и OLAP-технологиях. 6 на 4. Переход с SAP 4. 7 и дальше не модернизироваться. 7 занял полгода, а потом ребята решили вообще остановиться на 4. А больше до них никто так не делал, и наши коллеги — представители вендора — не знали, как себя при этом вести: тогда они даже дали доступ ко всем SAP-нотам (это то, за что обычно и платят, основа поддержки), а потом уже другим стали давать только доступы к critical и security-нотам. Первыми в стране отказались от вендорской поддержки.

Если в 2005 году накрыло подстанцию, то в 2010 году уже горели торфяники в области вокруг города. Теперь про Disaster Recovery. 56 дней в офисе крупной розницы кондиционеры работали с перегрузкой, то есть не справлялись. А горели они потому, что была нетипичная жара. Ввели в строй все кондиционеры, включая резерв. Но началось так: сначала просто поднялась температура по городу. Через четыре дня стало понятно, что история будет долгой, и наши клиенты из розницы начали ждать блэкаута. Более-менее хватило. Там погиб аккумулятор. Электрики запустили профилактику дизеля, он прочихался и умер. В это же время администрация здания, где компания сидела арендатором, установила им квоту на электричество — их входящий луч был рассчитан с небольшим запасом на типовое потребление, и питания на всех не хватало с учётом кондиционеров. Кое-как починили, перекоммутировали и убедились, что дизель сможет запуститься и проработать. Каждое утро приезжали бензовозы заправлять его. Ребята привезли этот дизель в контейнере, поставили рядом и включили. Повесили термометр, раз в час бегунок поддержки спускался с седьмого этажа на первый записывать его показания. Нужно было мерить температуру ЦОДа, а он тогда был без мониторинга. Когда первый сотрудник поддержки навернулся в темноте и чуть не уехал в больницу, им сразу выделили денег на автоматический мониторинг ЦОДа. А света на лестнице вечерами и ночью уже не было: в здании отключили всё некритичное. Это была очень непопулярная мера, и никто не понимал, зачем же так издеваться над людьми. Потом стало ещё хуже, квота дальше понизилась: дошли до того, что отключали часть кондиционеров в офисе и ставили вентиляторы. В итоге ребята пережили и вынесли для себя много уроков про DRP, но полностью независимую площадку начали делать только через год. Но иначе упал бы ЦОД, а у них централизованная архитектура.

Цитата:
И напоследок байка про справедливость, которой желаю всем читателям.

Это было в первую неделю июля, потому что летом падает спрос, и люди пропадают из Москвы. Итак, когда-то сеть была первым ритейлером, который запускал акции «Возьми 2 по цене 1» и «Возьми 3 по цене 2» на федеральном уровне. Маркетинг решил, что нужно что-нибудь продать по акции так, чтобы люди пришли в магазины. А в субботу в июле самый большой спад по неделе. Мы всё настроили, перепроверили, запустили. Например, стоят упаковки яиц в два раза дешевле — народ пойдёт за ними и, глядишь, наберёт полные сумки. Звонок:
— У нас диски посыпались! В пятницу вечером сижу в ресторане с друзьями. Аааааааааа!
Последний раз диски сыпались за три года до этого. SAP упал! Ночь, магазины закрываются. Тогда мы восстановились за несколько часов. И вот выясняется, что, чтобы полностью развернуть таблицу, свободного места стойки не хватает. Решили подниматься из бэкапа. Купили железок, собрали, но полностью всё восстановили только к утру понедельника. Ночью решили восстанавливать уже кусками и класть всё на внешние жёсткие диски. Во вторник внеочередное собрание совета директоров, мне приходит отдельное письмо, что явиться обязательно. Полсубботы почти ничего не работало (включая склады), следующие полдня и воскресенье — работало только бизнес-критикал, то есть без акций и всего остального. Прихожу:

Увольнять будете?
Финдиректор долго на меня смотрит, молчит. — Добрый день. Вот тот документ, вот расчёты. Потом говорит:
— К тебе вопросов нет.
Ещё молчит, потом продолжает:
— Помним, ты нас предупреждал про резервную стойку. Финдиректор вздыхает:
— Эх, хорошо. Время прошло, можешь сказать, что нужно сейчас для полного резерва?
Я показываю документ, у меня всё давно посчитано. Дорого, но всё равно меньше, чем мы на выходных сэкономили.
И подписывает.

Во-первых, не уволили, хотя это обычный кейс для смены работы CIO. Я стою в лёгком шоке. И что такое «сэкономили»? Во-вторых, дали зелёный свет на DRP. Но самое удивительное в том, что ИТ-отдел в проблеме никто не обвинял, даже слова не сказали. Потом, после совета уже выяснилось, что маркетинг обсчитался, и если бы акция запустилась, то был бы убыток больше, чем от простоя. С расчётами и графиками, что будет, и что надо сделать уже вчера. Потому что мы предупреждали. Регулярно.

Наверное, это единственный известный мне случай, когда в такой ситуации не искали козла отпущения именно в ИТ.

Ещё байки

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»