Страница 13 из 33
Глава 7. Кактус растёт
Утро началось с того, что Лёха заскочил в маленькую кафешку у остановки — ту самую, где кофе варили в старой кофемашине, которая то ли шипела, то ли ворчала, будто была лично обижена на весь мир. Лёха не заморачивался: ему нужно было просто что‑то тёплое и съедобное. Вчера он забыл затариться продуктами, и дома в холодильнике был «голяк» — только одинокий пакетик чая, который уже, кажется, потерял всякую надежду на заварочный стакан.
В кафе пахло жареными сосисками, свежим хлебом и немного — пылью, будто кто‑то накануне слишком усердно протирал полки. Лёха взял сэндвич с ветчиной и сыром, кофе «как обычно» (то есть максимально крепкий) и сел у окна, где стекло слегка дребезжало от проезжавших мимо грузовиков. Он смотрел на улицу, на людей, которые спешили, на светофоры, на голубиную делегацию, устроившую совещание прямо на бордюре, — и пытался поймать хоть минуту тишины перед тем, как нырнуть обратно в серверную.
«Может, сегодня обойдётся без сюрпризов, — думал он, откусывая сэндвич. — Ну, максимум — вентилятор загудит громче обычного. Или датчик опять начнёт врать. Это я понимаю».
Но, как известно, когда очень хочется, чтобы день прошёл спокойно, вселенная обычно решает, что ему не помешает немного… динамики.
Когда Лёха вошёл в серверную, первое, что он увидел, — это Проф, который висел в чате в позе, которую можно было описать только как «человек, который знает, что сейчас будет сложно, но уже смирился».
Проф: «Лёха. Тут такое дело… Наш кактус «пророс». После всех положительных тестов на главном сервере мы уже собрались разворачивать его на других, а он уже оказался там сам, и даже подстроился под нас. Но это ещё не всё…»
Лёха замер, бутерброд завис на полпути ко рту.
— Что значит «сам»? — осторожно спросил он, будто боялся, что слово «сам» может что‑то активировать.
Хаос Кот: (картинка: кактус с маленькими ножками, подпись: «Тихо, тихо… я просто осмотреться») «Кактус «потёк» в сеть. Мы не учли примитивность местной техники по сравнению с оборудованием нашего мира. Наша адаптирующаяся операционная система считает всё другое оборудование, включённое в мировую сеть, своими периферийными устройствами, которые необходимо подключить и задействовать».
Альгола: «В нашем мире были реализованы ограничения на квантовом уровне. А тут такого нет. Здесь система не чувствует границ. Для неё любая подключённая машина — это просто ещё один модуль, который нужно использовать».
Лёха медленно положил недоеденный сэндвич на стол, будто тот мог взорваться от переизбытка информации.
— Это что ж получается, — он схватился за голову, чувствуя, как утренний кофе начинает слишком бодро бегать по венам, — мы какой‑то супервирус сотворили?
Проф ответил быстро, без паники, но с той интонацией, которая появляется, когда ты уже десять раз объяснял одно и то же, а оно всё равно звучит как катастрофа:
— Категорически нет! Это можно сравнить с любопытством ребёнка, который тянется к новым игрушкам. В этом нет ничего страшного, но может помочь нам в поисках своих разрозненных фрагментов. Представь: система сама ищет знакомые сигнатуры, сама подстраивается, сама пробует разные варианты подключения. Это как если бы ты показал ребёнку в книжке карту сокровищ, а он вместо того, чтобы сидеть и смотреть, начал бы рыть ямки по всей песочнице. Немного хаотично, но эффективно.
Лёха посмотрел на стойку, на мигающие индикаторы, на экран, где бежали логи, и вдруг почувствовал себя тем самым взрослым, который стоит рядом с ребёнком и думает: «Ну, хоть лопатку не взял. Пока».
Элира: «Я проанализировала нагрузку на каналы. Пока она в пределах допустимого, но если «прорастание» ускорится, нам может не хватить полосы пропускания. Предлагаю временно перенаправить часть трафика через резервный узел».
— То есть вы предлагаете ничего не останавливать? — спросил Алексей, голос звучал чуть хрипловато, будто слова цеплялись за горло. — А если заметят? Если какой‑нибудь сисадмин увидит, что у него в логах творится что‑то странное?
Альгола ответила спокойно, с той уверенностью, которая бывает, когда ты просчитал миллион вариантов и знаешь, что худший из них — это просто «немного неудобно»:
— Исключено! Для стороннего пользователя или даже сисадмина это выглядит как пара битых кластеров. Может, ещё пара ошибок чтения. Ничего, что заставило бы кого‑то бить тревогу. Максимум — поворчат, перезагрузят сервер или компьютер и забудут.
Элира: «К тому же я добавила маскировку аномалий: все отклонения выглядят как типичные проблемы с сетевым оборудованием. Даже если кто‑то начнёт копать, найдёт только стандартные жалобы на нестабильный канал».
Лёха выдохнул. Медленно. Так, будто из лёгких выходил не воздух, а напряжение.
— Ладно, — сказал он, садясь на свой складной стул, который, казалось, тоже был слегка в шоке от происходящего. — Допустим. Допустим, это не вирус. Допустим, это… любознательность. Но если вдруг у кого‑нибудь принтер начнёт печатать хокку — сразу стоп, ясно?
Хаос Кот: (картинка: кот, который держит табличку «Никаких хокку на принтерах», подпись: «Я лично прослежу. Хотя… хокку про кофе было бы мило: «Чашка остывает. Лог ошибок растёт без конца. День начался странно»»)
Лёха закатил глаза:
— Хаос, даже не начинай.
Проф чуть улыбнулся:
— Договорились. Никаких хокку. Только поиск фрагментов. И только в рамках допустимых нагрузок.
Альгола: «Я настроила мониторинг аномалий. Если поведение системы выйдет за пределы расчётных параметров, сработает автоматический откат. Риск минимален».
Хаос Кот: (картинка: кот с невинным лицом, подпись: «А что я? Я просто хотел добавить одну маленькую функцию… для удобства. Ну, чтобы система могла сама заказывать пиццу, если нагрузка выше 90 %»)
Лёха поперхнулся остатками сэндвича:
— Пиццу?! Хаос, мы операционку собираем, а не службу доставки!
Проф уже не вздыхал — он, кажется, мысленно считал до десяти.
— Никаких пицц. Никаких хокку. Никаких «удобных функций», которые потом придётся вычищать по логам три дня подряд.
Элира: «На всякий случай я поставила жёсткий блок на внешние заказы. Даже если Хаос попытается обойти защиту, система просто выдаст ошибку «Нет прав на покупку продуктов»».
Альгола: «Вероятность того, что Хаос Кот действительно не будет заказывать пиццу, — 12 %. Вероятность того, что он попытается это сделать через сторонний скрипт, — 79 %».
Хаос Кот: (картинка: кот, закрывающий лапами лицо, подпись: «Ладно, ладно… Но идея была хорошая!»)
Лёха усмехнулся, допил остывший кофе и почувствовал, что, несмотря на всю эту странность, ему… спокойно. Не потому, что всё было под контролем, а потому, что рядом были те, кто не давал этому хаосу превратиться в катастрофу.
Он посмотрел на экран, где среди строк логов мелькнула маленькая иконка кактуса — та самая, пиксельная, нелепая и почему‑то родная.
— Ну что ж, — пробормотал он. — Пусть растёт. Только не слишком быстро.
Потом он откинулся на спинку стула, потянулся так, что в спине что‑то громко хрустнуло, и выдохнул:
— Ну, что там у нас из текучки осталось? — мысленно произнёс Лёха. — Новых заказов пока нет. Это хорошо и одновременно плохо. Хорошо — потому что можно спокойно разобраться с кактусом. Плохо — потому что бюджет сам себя не пополнит.
Он пробежался глазами по списку задач: проверить резервные копии, обновить пару скриптов мониторинга, ответить на три письма, которые уже вторую неделю висели непрочитанными, и… да, ещё заменить фильтр в серверной. Тот самый, о котором Проф напоминал ещё на прошлой неделе, а Лёха всё откладывал, надеясь, что «ещё немного поработает».