Читать книгу Право на позитив (А Пробаперов) онлайн бесплатно на Bookz
Право на позитив
Право на позитив
Оценить:

4

Полная версия:

Право на позитив

А Пробаперов

Право на позитив

Предисловие автора

У каждой идеальной системы есть своя скрытая точка отказа. В ИТ-инженерии это называют «человеческим фактором» — уязвимостью, которую невозможно полностью изолировать ни одним программным кодом.

В моей первой книге — «Право на ошибку», — я исследовал каскадный сбой человеческих судеб. Мы смотрели на мир, порты которого закрылись навсегда, заставив героев проходить через суровый экзистенциальный Пост в условиях тотального Изгнания из Рая благополучия. Александр Пробаперов искал там Root Cause — корневую причину глобальной катастрофы.

Но чтобы до конца понять, как рушится Эдем, нужно сначала увидеть, как он строился. И книга, которую вы держите в руках, — это хроника нашего утерянного цифрового Рая. Добро пожаловать в середину 2010-х годов. Время, когда небоскрёбы Москвы-Сити звенели лощёным глянцем, экономика работала на максимальной разрядности, а биткоины майнились ради шутки за просмотры рекламы и воспринимались как ничего не значащие цифровые фантики. В эту эпоху Александр ещё не знал, что такое ночные смены на бетонном логистическом складе и удушливый стыд перед финансовой моделью жены. Он был успешным руководителем проектов в лаборатории качества QualityLab, педантично выстраивающим архитектуру идеального, стабильного будущего.

Всё шло строго по ТЗ, пока Система не столкнулась с Лилит этого офисного Эдема — парнем по прозвищу Позитивчик.

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

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

С моей стороны возражений нет. Включайте голову и открывайте первую главу.

А. Пробаперов

Глава 1. Инициализация и точка отказа типа Dyson

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

После скромных ИТ-отделов госсектора переход в крупную независимую ИТ-компанию QualityLab, специализирующуюся на аутсорсинге QA и консалтинге процессов качества ПО, выглядел как чистый, безошибочный апгрейд карьеры. Александр занял позицию руководителя масштабной программы проектов. Его департамент нанимали крупнейшие игроки рынка для проведения независимого аудита, объективной самооценки и поддержания аптайма их критических систем. Первым и самым статусным клиентом в его пуле стал топовый международный банк, чья автоматизированная банковская система (АБС) нуждалась в тотальной проверке перед масштабным обновлением.

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

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

Навстречу ему, едва не сбив с ног, вылетел молодой парень. На вид ему было около двадцати пяти лет. Лицо горело пунцовым логом ярости, а вся upper-половина туловища — от воротника модной рубашки до ширинки классических брюк — была покрыта плотной, хаотичной взвесью водяных брызг, словно он только что попал под гидроабразивную струю. Парень яростно отряхивался, продолжая шипеть сквозь зубы проклятия в адрес «гребаных инноваций».

Как выяснилось через несколько минут на официальном представлении команды, Александр стал свидетелем фатального сбоя пользовательского сценария в узле, который ИТ-архитекторы обычно называют «точкой отказа из-за человеческого фактора».

Виновником инцидента оказался Серёга Данилыч — ведущий QA-лид по нагрузочному тестированию со стороны компании QualityLab. В среде инженеров его интеллект и профессионализм ценились на вес золота: Данилыч умел загонять в ступор самые отказоустойчивые распределённые базы данных заказчиков, имитируя миллионы одновременных транзакций. Но при этом Серёга обладал уникальным, специфическим мировоззрением, за которое к нему намертво прилипло системное прозвище «Позитивчик». Он умел видеть любую, даже самую критическую ситуацию в комедийном ракурсе и разговаривал с миром открыто, развязно, даже когда ситуация требовала максимальной официальности или деликатности.

В этот раз Позитивчик пал жертвой агрессивного промышленного дизайна. В туалетах бизнес-центра недавно провели дорогой ремонт, демонтировав старые сушилки для рук — те самые привычные металлические коробки с соплом внизу, висевшие над раковинами. Вместо них клининговая служба установила новейшие высокоскоростные сушилки Dyson Airblade.

Проблема заключалась в топологии пространства. Новые Dyson располагались на уровне пояса, прямо в ряд с писсуарами. Их футуристическая форма с узким глубоким пазом и серой пластиковой нишей визуально отправляла неопытному пользователю ложный интерфейсный сигнал. Данилыч, погружённый в размышления об индексах таблиц Oracle для банковского проекта и полностью проигнорировавший поясняющие пиктограммы на корпусе, подошёл к аппарату и воспользовался им строго по привычному навигационному вектору — как писсуаром нового типа.

Инфраструктурный ответ последовал незамедлительно. Чувствительные инфракрасные датчики Dyson среагировали на появление «объекта» в зоне сканирования, и сушилка мгновенно активировала два плоских потока воздуха, летящих со скоростью 600 километров в час. Физика процесса сработала без потери пакетов данных: встречный каскадный поток воздуха мгновенно вернул всю жидкость обратно в лицо и одежду пользователя, выполнив принудительный реверс.

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

Данилыч, ничуть не смущаясь мокрых пятен на груди, протянул Саше руку:

— Привет, шеф! Извини за спецэффекты, я просто провёл натурные испытания новой клининговой архитектуры нашего БЦ. Скажу сразу: интерфейс — говно, обратная связь бьёт прямо в девелопера. Но к нагрузкам банковского ядра я готов!

Александр пожал влажную ладонь и впервые почувствовал лёгкий укол подспудной тревоги. Его будущий Рай, заархивированный в красивые графики презентаций для заказчиков, прямо сейчас столкнулся с живым человеком. И этот человек не собирался укладываться в рамки сухих ТЗ.

Глава 2. Протокол «С моей стороны возражений нет»

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

Масштабные независимые тесты АБС были запланированы на август, но точной даты «часа Х» никто не знал. Банковские клерки темнили, бесконечно пересогласовывали графики релизов и ссылались на изменчивые требования бизнеса. Для Александра, как руководителя программы проектов со стороны компании QualityLab, это означало работу в условиях критического дефицита времени. До августа его команде требовалось совершить невозможное: изучить терабайты запутанных межбанковских процессов, распутать потоки данных, понять распределение пиковых нагрузок и написать монолитную, беспроигрышную методику всех видов тестирования. Время таяло, как лед в стакане с офисным американо.

Чтобы максимально ускорить интеграцию и сбор информации, аналитиков и лидов Александра подключили к святая святых заказчика — внутреннему корпоративному чату мессенджера под строгим названием «ТОП-менеджмент».

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

— Правило одно, — Александр обвёл команду тяжёлым взглядом руководителя, державшего периметр. — Основной сценарий нашего взаимодействия в этом чате — пассивное логирование. Мы — сторонние наблюдатели. Сидим тихо, смотрим на процессы, фиксируем архитектурные сущности. При крайней необходимости — изредка задаём короткие, уточняющие вопросы по функционалу ПО. Не отвлекаем топ-менеджеров банка без реальной, подчёркиваю, экстренной необходимости. Всем понятен регламент?

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

Практика, как это часто бывает в ИТ-консалтинге, разрушила теорию на третьем шаге выполнения алгоритма.

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

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

И в этот момент в закрытом канале высшего руководства банка вспыхнуло текстовое сообщение:

«С моей стороны возражений нет».

Автором месседжа значился Сергей Данилыч.

Для регионального клерка, не разбиравшегося в тонкостях учётных записей сторонних подрядчиков из QualityLab, появление ответа в группе «ТОП-менеджмент» стало эквивалентом официальной визы Демиурга. Формальное добро было получено. Счастливый менеджер мгновенно запустил цепочку одобрения, выдал кредит на льготных условиях, и обрадованная клиентка, которая честно говоря особо не надеялась на такой исход, ушла открывать шампанское.

Вроде бы формально никакие явные запреты безопасности нарушены не были — учётка Данилыча имела права на отправку сообщений в этот канал. Но на такой сценарий использования тест-кейса точно никто не рассчитывал.

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

Саша почувствовал, как внутри него начинает медленно закипать ИТ-гуманизм. Он принёс банку глубочайшие извинения, заверил, что это было недоразумение в рамках изучения потоков данных, и немедленно вызвал Позитивчика на ковёр для проведения суровой воспитательной работы.

— Данилыч, ты в своём уме? — Саша потёр виски, глядя на инженера. — Ты понимаешь, что ты чужие деньги выдал? Твоя роль в системе — смотреть на интерфейс, а не нажимать кнопки «Одобрить Вселенную»!

— Шеф, ну а чего они молчали? — Данилыч искренне, с абсолютным позитивом развёл руками. — Клерк плачет, женщина ждёт, скоринговая модель у них всё равно кривая — мы же её нагружать будем в августе, она бы и так упала. А тут человеку помогли. Зато мы проверили скорость реакции бизнес-логики банка на внешние раздражители. Скорость, заметь, отличная — транзакция прошла за четыре минуты!

Александр выдохнул, понимая, что стандартные корпоративные фильтры на Данилыча не действуют. Саша выписал ему строгий внутренний выговор и потребовал от Андрюхи «Вороны» установить на ноутбук Сергея жесткие ограничения мессенджеров.

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

Глава 3. Рекурсия ИБ и право на ответный клик

Воспитательная работа Александра дала сбой ровно в тот момент, когда проектная реальность совершила логический разворот и замкнулась сама на себя.

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

Банковские информационные потоки подобны кровеносной системе: стоит задеть один капилляр, как эхо транзакции отзывается в самом неожиданном узле. Через две недели после инцидента с «левым» кредитом команде Александра в рамках того же контракта по обеспечению качества поручили новую задачу. Им требовалось протестировать отказоустойчивость и скорость работы внутреннего чата информационной безопасности (ИБ) банка. Лаборатория QualityLab должна была выявить, как шина данных справляется с передачей зашифрованных логов и не падает ли мессенджер при пиковых нагрузках.

С аналогичной целью — «смотреть, фиксировать архитектурные сущности и не отсвечивать» — ключевые инженеры Александра вместе с Данилычем были добавлены в специализированный, глубоко закрытый ИБ-чат банка.

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

К запросу были приложены подробные логи инцидента с Серёгой, скан его учётной записи и гневная приписка аналитиков. В конце документа содержалась строгая просьба к участникам ИБ-чата: «Инициировать глубокую аналитику инцидента и последующие изменения в процессах авторизации. Требуется выявить и полностью устранить данную уязвимость для исключения подобных ситуаций в будущем».

Александр, увидев это сообщение на своём мониторе, похолодел. Он уже потянулся к клавиатуре, чтобы написать официальное письмо начальнику ИБ с заверением, что подрядчик уже провёл внутренний аудит и виновные наказаны.

Но Позитивчик читал этот же чат. И его специфическая логика, подкреплённая абсолютным отсутствием страха перед манерными банковскими чинами, сработала быстрее.

Через несколько минут все участники закрытого канала ИБ увидели размашистый, идеально отформатированный ответ Данилыча прямо под строгим запросом офицеров:

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

Александр откинулся на спинку офисного кресла, мысленно прощаясь с контрактом, MBA и карьерой в Сити. Это был чистый, незамутнённый вызов системе. Рекурсивный апперкот банковской бюрократии. Позитивчик умудрился заблокировать ИБ-запрос о собственной блокировке, заявив, что он возражает против расследования.

В проектной комнате команды QualityLab повисла звенящая тишина. Андрюха «Ворона» медленно снял очки, а Тёмка тихо забормотал, что у него есть знакомые в других компаниях и он, если что, поможет Саше с резюме.

Реакция банка оказалась системной аномалией.

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

Как это ни странно, в этот раз команде Александра не влетело. Но для их реальной работы эта весёлая эскапада создала каскад вполне осязаемых трудностей.

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

Проект независимого тестирования, и без того поджимаемый августовскими дедлайнами, начал со скрипом буксовать. На горизонте замаячил первый серьёзный риск срыва сроков, а впереди команду ждало еженедельное пятничное совещание, где напыщенный техлид банка уже готовил свои каверзные вопросы.

Александр вышел из проектной комнаты и направился к лифтам. В голове всё ещё гудело после разговора с командой — короткого, но тяжёлого, где он так и не понял, помог он или сделал хуже. Он шёл быстро, глядя в пол, и не сразу заметил, что кто-то идёт рядом.

— Александр.

Голос был спокойный, без интонации. Он поднял голову.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

Вы ознакомились с фрагментом книги.

Для бесплатного чтения открыта только часть текста.

Приобретайте полный текст книги у нашего партнера:


Полная версия книги

Всего 10 форматов

bannerbanner