Из этой серии статей вы узнаете о, вероятно, самом глупом, легко предотвратимом и дорогом провале 21-го века, из-за которого Microsoft чуть не потеряла своего самого крупного клиента (OpenAI) и доверие правительства США.

Скучным утром понедельника 1 мая 2023 я впервые вышёл на работу в Azure Core в качестве сениор-сотрудника команды Overlake R&D, разработавшей карту выгрузки и сетевой ускоритель Azure Boost.

Azure не был для меня чем-то новым: наверно, это самая длительная моя подписка на облачный сервис, который был запущен в феврале 2010 года под названием Windows Azure.

Не был я и новичком в Microsoft: с 1 января 2013 года я был частью команды разработчиков Windows, а позже помогал выполнять миграцию SharePoint Online в Azure; в дальнейшем я присоединился к команде Core OS в качестве разработчика ядра. В ней я помогал совершенствовать ядро, участвовал в разработке и реализации платформы Container, поддерживающей Docker, Azure Kubernetes, Azure Container Instances, Azure App Services и Windows Sandbox. Выпуск всех этих технологий привёл к получению множества патентов.

Кроме того, я участвовал в мозговом штурме при создании прототипов карт Overlake в 2020-2021 годах, в составлении драфта предложения коммуникационного протокола и сетевого стека Host OS <-> Accelerator Card ещё на том этапе, когда у нас было лишь последовательное соединение отладчика. Также меня привлекали в качестве специалиста по Core OS, и я помогал разработчикам Azure Core диагностировать глубокие проблемы операционной системы.

В 2023 году я вернулся в Azure сразу в должности специалиста, поскольку уже внёс свой вклад в разработку некоторых из технологий, лежащих в основе Azure, и будучи её пользователем в глобальных масштабах больше десятка лет, как снаружи, так и внутри Microsoft.

Так как я был вернувшимся сотрудником, то пропустил обучение для новичков и получил приглашение Global Security на полдень для получения своего бейджа, но мой будущий менеджер спросил, смогу ли я прийти раньше, потому что тем утром у команды должно было состояться ежемесячное совещание по планированию.

Разумеется, я согласился и за несколько минут до десяти уже пришёл ко входу в здание Studio X, находящееся неподалёку от The Commons в западной части кампуса в Редмонде. В холле появился мужчина и открыл мне дверь. Я проследовал за ним по лабиринту из коридоров в зал для совещаний.

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

На экране проектора светился слайд, на котором я увидел множество знакомых аббревиатур: COM, WMI, perf counters, VHDX, NTFS, ETW и десяток других вперемешку с новой терминологией Azure; всё это находилось в прямоугольниках, соединённых путаницей стрелок.

Я тихонько сел на задних рядах и начал слушать, как один из участников рассказывал остальным о масштабном плане портирования текущего стека на ускоритель Overlake. Поначалу мне было не очень понятно, как прямоугольники с компонентами пользовательского режима и ядра Windows связаны с этим планом.

Спустя несколько минут я осмелился задать вопрос: вы планируете портировать эти фичи Windows в Overlake? Он ответил утвердительно, сказав, что они, как минимум, рассматривают такую возможность. Менеджер по разработке выразил некоторые сомнения, а докладчик ответил, что они могут хотя бы «попросить изучить вопрос пару разработчиков-джунов».

В зале на мгновение стало тихо. На своём прежнем месте я видел характеристики оборудования SoC карты Overlake: малый объём RAM и бюджет мощности, составлявший лишь крошечную долю от требований по теплоотводу, на которые можно рассчитывать у обычного серверного CPU.

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

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

Это было похоже на то, как Илон Маск рассказывал о колонизации Марса: сначала взорвём атомные бомбы на полюсах, а потом создадим атмосферу! Проще сказать, чем сделать, правда?

Вся эта организация из 122 человек углубилась в разработку невозможного проекта, связанного с портированием Windows на Linux для поддержки имеющихся агентов управления VM.

Докладчик был ведущим руководителем группы разработки, занимавшейся частью ПО, работавшего в каждом узле Azure; в зале находился и его начальник, менеджер по инженерному взаимодействию с партнёрами, и они на самом деле обдумывали портирование Windows на Linux для поддержки их ПО.

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

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

Как я узнал позже, стек упирался в потолок масштабирования на 400-ваттном Xeon всего с несколькими десятками VM — это далеко от предела в 1024 VM, на который, как мне было известно, способен гипервизор; при этом такой сервер был шумным соседом, потреблявшим столько ресурсов, что вызывал колебания, заметные из пользовательских VM.

Ни в одной из версий Вселенной не существовало возможности, что этот стек можно уместить в крошечный SoC ARM и отмасштабировать на несколько порядков. Этого просто не будет.

За десятки лет работы в отрасли (и в Microsoft) я повидал многое, но никогда не встречал организацию, столь далёкую от реальности. Следовательно, моей первостепенной задачей стало не освоение новой технологии, а необходимость убедить всю организацию, в том числе и людей намного выше меня, что они самоубийственно бегут к обрыву, как лемминги.

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

Следующие несколько дней я подробнее читал планы, изучал текущие системы и ходил в гости к друзьям из Core OS, моей альма-матер. Я заблудился и попал в странный мир, в котором люди строили бессмысленные планы с уверенностью пьяной LLM.

В частности, полтора часа я лично общался с главой Linux System Group — опытным учёным со степенью PhD из INRIA, одним из тех, кто несколько лет назад нанимал меня в команду разработчиков ядра.

Его организация отвечала за выпуск Mariner Linux (ныне Azure Linux) и урезала дистрибутив, работающий на карте Overlake / Azure Boost. Он любезно ответил на все мои вопросы; от него я узнал, что они выбрали 173 агента (сто семьдесят три) в качестве кандидатов на портирование в Overlake.

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

В основе своей Azure продаёт VM, сетевые интерфейсы и хранение данных. Остаётся добавить наблюдаемость (observability) и обслуживание, и этого должно быть достаточно. Всё остальное: SQL, K8s, ИИ-нагрузки и прочее — создаётся в VM при помощи xPU, сетевых интерфейсов и хранилищ данных, а все сложности по обеспечению магии берут на себя гипервизор и добрые люди из команды Core OS.

По-прежнему остаётся загадкой, как ребята из команды Azure пришли к 173 агентам, но чтобы прийти к этому, требуется высокая степень несогласованности, а это путь к катастрофам.

А теперь представьте на секунду, что вся эта неконтролируемая куча управляет VM, на которых работает Claude компании Anthropic, то, что осталось на Azure от OpenAI API, SharePoint Online, государственные облака и другая критическая инфраструктура, и вы приблизитесь к пониманию того, что даже одна песчинка в этом хрупком нагромождении может вызвать глобальный коллапс с серьёзными последствиями для национальной безопасности, подвергающий риску само существование Microsoft.

Но мы всё ещё не дошли до испарившегося триллиона рыночной капитализации, моих писем к CEO, в совет директоров Microsoft, исполнительному вице-президенту Cloud + AI и их абсолютного молчания, до частичной потери OpenAI, падения доверия со стороны правительства США, о котором публично заявил Министр войны США, до потраченных впустую усилий, требований перехода на Rust, ситуации с командой bare-metal OpenAI в Azure Core, до сессий сопровождения из Китая и других стран, а также до отложенных фич, публично объявленных выпущенными ещё в 2023 году, когда работа над ними ещё не началась.

Если у вас есть продакшен-нагрузки в Azure или вы используете его для критичных систем, то эта история для вас важнее, чем вы думаете.

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

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

На моей предыдущей работе в должности разработчика ядра команды Windows Core OS я был подотчётен одному из самых талантливых разработчиков операционных систем, которых встречал в Microsoft.

Он обладал десятками лет опыта, начинал работать ещё с Дэйвом Катлером, создавая те системы Windows, которые привычны нам сегодня. Среди его проектов были Server и Application Silos (с кодовыми названиями Helium и Argon), заложившие фундамент платформы Windows Container.

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

Однажды, в самом начале моей работы под его руководством, он принёс старый командный мерч: свитер с надписью 0xF0FFFF — шестнадцатеричным кодом лазурного цвета [прим. пер.: Azure означает «лазурь»].

За годы работы с ним я узнал не только о проектировании ядер, но и об истоках Azure, а также о невероятном давлении со стороны конкурентов, в условиях которого он сформировался.

В 2006 году Amazon запустила S3 и EC2; Microsoft опоздала к началу гонки публичных облаков, поэтому ей нужно было двигаться быстро. Проект под кодовым названием Red Dog начался с небольшой команды из пяти-шести элитных разработчиков под руководством Катлера.

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

Узлы принадлежат кластерам, управляемым Fabric Controller, которая занимается инвентаризацией ресурсов, размещением VM, предоставлением ресурсов, обслуживанием, балансировкой нагрузок и масштабированием.

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

Создание VM по-прежнему похоже на заказ пиццы (если опустить некоторые подробности): пользователь выбирает из меню размеров и ингредиентов: 16 ядер? Хорошо. 128 ГБ памяти? Готово. 32 диска? Без проблем. Четыре NIC? GPU? Будет сделано!

Дальше ПО узла руководит гипервизором при создании раздела, присоединении нужных устройств, добавлении диска с загрузочным образом и запуске VM.

Проект завершился успешно и в феврале 2010 года был выпущен под названием Windows Azure. Но, как это часто происходит с торопливыми работами, выполняемыми под высокой нагрузкой, многие контрибьюторы первоначального кода ядра постепенно занялись другими делами.

В то время Microsoft всё ещё была сильно сосредоточена на PC, планшетах и телефонах. Команды портировали Windows на ARM, выпускали Windows 8 и 8.1 и приобретали Nokia, одновременно переосмысливая архитектуру Xbox One в контексте Hyper-V под руководством Катлера.

Облачные технологии были важны, но не находились в центре внимания. OneDrive и SharePoint работали на отдельной архитектуре, а Azure, несмотря на второе место в гонке, далеко отставал от AWS.

Всего за несколько месяцев до того, как Сатья Наделла стал в феврале 2014 года CEO компании, он сократил должность SDET (Software Development Engineer in Test), что вызвало довольно масштабные увольнения.

Из-за правительственного акта WARN о защите работников Microsoft не могла избавиться от всех должностей тестировщиков, сотни из них остались в штате.

Многие из этих тестировщиков были хорошими исполнителями, но имели ограниченный опыт в системном проектировании и глубокой разработке ПО; они прошли переподготовку.

Некоторые из них стали дата-инженерами, занимающимися телеметрией Windows 10; других перевели на должности в разработке ПО (часто с понижением уровня); третьи оказались в некритичных областях, в том числе в Azure OPEX, где они помогали в поддержании работоспособности систем в ротации дежурств и устранении инцидентов.

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

Команды OPEX занимаются поддержкой стабильности продакшена. Это выматывающая работа с ротацией дежурств 24/7, быстрым устранением неполадок, анализом постмортемов и исправлением скриптов, что приводит к сильному истощению.

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

В 2018 году Наделла сместил фокус компании на Cloud + AI и сделал главным по этому направлению Скотта Гатри.

Windows была реорганизована под Azure, и за считанные дни уже существовавшие команды Azure стали важнейшим аспектом самой стратегической ставки Microsoft.

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

К тому времени, когда я пришёл в команду в 2023 году, примерно половина организации, отвечающей за Compute Node Services, состояла из разработчиков-джунов со всего одним-двумя годами опыта.

Руководитель группы разработки имел опыт в обеспечении производительности для веба (оптимизации CSS для снижения времени загрузки страниц), а менеджер разработки — ограниченный опыт в Windows.

И теперь этой группе поручили перенести унаследованный ею стек в новое окружение ускорителя Azure Boost; на конференциях Ignite компания Microsoft с 2023 года публично заявляла, что этот проект находится в разработке уже очень давно.

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

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

Лишь некоторые разработчики могли надёжным образом собирать ПО локально; отладчиком пользовались крайне редко (в 2024 году я написал для команды первое руководство по ним); покрытие автоматизированными тестами составляло меньше 40%.

Каждый ежемесячный релиз добавлял больше новых дефектов, чем исправлял. Большинство разворачиваний оказывалось откатами под воздействием паники. Каждый месяц происходили миллионы вылетов, происхождение большинства из которых определить не удавалось, потому что команды никогда не указывали владение своими модулями в системе отчётности о сбоях Azure Watson.

В результате этого автоматизированная расстановка приоритетов создавала новые формальные инциденты, что позволяло показывать в ежемесячных рассылках красивые метрики качества, не основанные ни на каких реальных данных.

Часто вину за проблемы, источником которых становилось ПО узлов Azure, взваливали на команду Core OS. Вылеты часто приводили к утечкам ресурсов: файлов, дисков и даже целых VM.

Плохая обработка ошибок приводила к неправильно формируемым VM (например, к отсутствию дисков). Когда пользователи пытались вывести их из эксплуатации, ПО узлов пыталась отсоединить несуществующие диски, вызывая ошибки гипервизора.

Команда Azure обвиняла во всём команду Hyper-V, и эскалации достигли уровня вице-президентов.

Однажды меня пригласили на важное совещание со стейкхолдерами с обеих сторон; лидов Hyper-V явно раздражало то, что на них постоянно перекладывают вину.

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

Критичные модули ядра управления узлами Azure, важнейшая часть флагманской инициативы компании Cloud + AI, иногда проектировались разработчиками с менее чем годом опыта работы на этом месте, под руководством лидов, которым не хватало информации о подробностях.

Ничто из этого не было выпущено.

ПО управления VM продолжало работать и вылетать в Windows, несмотря на многократные публичные заявления с 2023 по 2025 год о том, что ключевые компоненты были перенесены на ускоритель Azure Boost и переписаны на Rust.

Я участвовал во всём этом напрямую, поэтому знаю, что на конец 2024 года эти заявления не соответствовали реальности. Из 64 ключевых пунктов работы, составленных годом ранее для модернизации и переноса стека управления VM, ни один не был завершён, а примерно над шестьюдесятью работа даже не была начата.

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

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

Кроме всего этого, организация была твёрдо намерена выпустить и так давно откладываемые bare-metal-устройства для OpenAI, которые обещала уже несколько лет. Эта работа началась в мае 2024 года с дедлайном весной 2025 года, ею руководил ведущий инженер, который, очевидно, никогда не занимался задачами подобного масштаба.

Перенесёмся в 10 марта 2025 года: OpenAI подписала с CoreWeave сделку на $11,9 миллиарда по обучению моделей и сервисам.

CEO OpenAI Сэм Альтман заявил: «Современные ИИ-системы требуют надёжных compute-ресурсов, и мы с радостью продолжим масштабирование вместе с CoreWeave, чтобы получить возможность обучать ещё более мощные модели и предоставлять отличный сервис ещё большему количеству пользователей». Похоже, эти слова стали целенаправленным комментарием о надёжности и масштабируемости Azure.

Это стало важным моментом, потому что всего за несколько недель до этого на Всемирном экономическом форуме в Давосе Сатья Наделла подчеркнул существование соглашения ROFR между Microsoft и OpenAI, в котором говорится, что OpenAI сначала должна обратиться к Microsoft и искать другие варианты, только если Microsoft не сможет соответствовать её требованиям.

В сентябре 2025 года OpenAI (строго говоря, всё ещё находясь под действием ROFR Microsoft) расширила своё соглашение с CoreWeave ещё на $6,5 миллиарда. Примерно в то же самое время OpenAI заключила масштабную сделку с Oracle, оценивающуюся в $300 миллиардов.

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

Можно вполне разумно заключить, что Microsoft испытывала трудности с удовлетворением потребностей OpenAI во время и в нужных масштабах. После прочтения моей статьи подобное не должно вызывать удивления.

Если вернуться к первоосновам Azure, Катлер намеревался создать систему, обладающую тем же уровнем качества, надёжности и внимания к деталям, благодаря которому Дэйва прославила его работа над VMS и NT.

В интервью 2009 года он заявил, что предназначение [Azure Fabric Controller] заключается в «управлении размещением, предоставлением, обновлением, патчингом, обеспечением ёмкости, балансировки нагрузки и масштабов из узлов в облако без какого-либо оперативного вмешательства». (Выделение добавлено мной).

За годы работы с одним из первых контрибьюторов в Fabric я узнал, что ручное управление узлами было строго запрещено: изначально архитектура задумывалась так, чтобы Azure работал без вмешательства человека.

В разговоре о крайне осмотрительных обещаниях касательно Azure Катлер сказал: «Группа исследований и разработок попросту очень консервативна, мы ещё не близки к завершению».

Также он добавил, что «[они] делают каждый шаг очень медленно и пытаются добиться стопроцентной работы фич и их надёжной отладки, прежде чем сообщать о них».

Это было произнесено 24 февраля 2009. Всего 48 недель спустя Azure был выпущен для широкого пользования.

Перенесёмся в лето 2025 года, когда Министр войны США Пит Хегсет публично объявил о «нарушении доверия» со стороны Microsoft. Заявление последовало за статьёй ProPublica, описывающей «цифровые сессии сопровождения» проводившиеся на компьютерах Azure.

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

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

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

Судя по информации из статьи, эта программа была придумана на самых высоких уровнях руководства компании; её участники заявляли, что «стратегия цифрового сопровождения позволила компании „быстрее выйти на рынок“ с целью получения крупных федеральных облачных контрактов».

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

Маркетинг и давление конкурентов часто влияют загадочным образом; однако в статье не объяснялось, почему узлам требовалась ручная починка.

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

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

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

Работая в команде Overlake и Compute Node Services, я наблюдал с самого первого дня ту же самую внутреннюю хрупкость: хронические вылеты, утечки ресурсов, неправильно сформированные VM и раздутая экосистема агентов, которую никто не может объяснить полностью. Всё это создавало нестабильность, требующую постоянно тушения пожаров, в том числе и в конфиденциальных правительственных облаках.

То, что я видел в 2023–2024 годах, было не случайными пограничными случаями, а постоянным потоком симптомов системы, которая никогда не стабилизируется, несмотря на надёжность своего фундамента, а именно гипервизора и Windows.

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

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

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

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

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

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

Я чётко помню, как попросил у менеджера разработки разрешение прекратить всемирное развёртывание; командам понадобились все выходные и половина следующей недели, чтобы откатить систему к предыдущей версии.

В другом случае потребовалось три месяца (с января по март 2024 года) для запуска скрипта удаления файлов утёкших файлов, которые в некоторых узлах превысили предел временных файлов в 100 ГБ.

Из-за систематических сбоев и ограничений автоматизированных систем, внутри организации известные под названиями «OaaS» и «Geneva Actions», пугающими становились даже простые задачи.

Эти инциденты были показательными для повседневной реальности команд Azure OPEX: постоянный поток проблем, возникающих вследствие нестабильности ПО узлов и окружающих систем поддержки.

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

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

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

Утечки ресурсов, вылеты, неуправляемые VM, VM-«зомби» и проблемы со здоровьем узлов — обычно всё это разрешалось параллельно с обычной работой, потому что у Azure было пространство для манёвра и персонал, круглосуточно помогающий с восстановлением.

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

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

Также я говорил в них о потенциальных проблемах с безопасностью, которые обнаруживал в процессе.

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

Напряжённость обострилась из-за требования перехода на Rust во всём проекте Azure, противоречивых планов по портированию и параллельных требований реализации таких находящихся под особым вниманием проектов, как надолго выпуск задержавшихся устройств bare-metal для OpenAI.

То, что начиналось, как технические разногласия, быстро вскрыло масштабный стратегический и культурный разлом в организации.

Часть вторая

Комментарии (45)


  1. Dhwtj
    04.04.2026 16:21

    Чё?

    Это жалкая литературная подделка произведения Ашманова "жизнь внутри пузыря"


    1. Tim7456
      04.04.2026 16:21

      Тот, кто это писал, даже про существование Ашманова не знает. Ашманов на фоне этого - “неизвестный менеджер какой-то мелкой конторы”.


      1. Dhwtj
        04.04.2026 16:21

        Ашманов литературно написал и с юмором. А тут читаю и с нетерпением жду когда статья закончится


    1. Wicron
      04.04.2026 16:21

      Не, это уже скорее развитие сюжета Игоря при соавторстве Натальи под названием “Жизнь и приключения агента Акселя в жировых складках мелкомягких”. Отчет об уничтожении гегемона пешкой. Издательство - Москва. Мягкий переплёт. Сделано из переработанных материалов - макулатуры.


    1. sdramare
      04.04.2026 16:21

      Кто такой Ашманов?


      1. Dhwtj
        04.04.2026 16:21

        С 1999 года работал директором по разработке и исследованиям в компании «Рамблер», а затем — её исполнительным директором. Под руководством Ашманова были выпущены версия поисковой машины «Рамблера» 2011 года и большинство сайтов и сервисов портала «Рамблер» до их обновления в 2012 году, спам-фильтр «Спамтест» (позднее, «Антиспам Касперского»), система проверки правописания «Орфо» (применяется в Microsoft Office) и другие продукты


        1. sdramare
          04.04.2026 16:21

          Рамблер

          Спамтест

          Орфо

          Не выглядит как список того, чем можно гордиться и о чем можно с интересом почитать.


          1. Dhwtj
            04.04.2026 16:21

            На тот момент это был лидер поисковиков и обгонял Яндекс


            1. sdramare
              04.04.2026 16:21

              в РФ.


    1. Dhwtj
      04.04.2026 16:21

      Ашманов

      https://www.ashmanov.com/education/articles/zhizn-vnutri-puzyrya


  1. anzay911
    04.04.2026 16:21

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

    Снаружи Microsoft казалась другой — руководство на каждый чих.


  1. supercargo
    04.04.2026 16:21

    Продолжение доступно вот здесь - https://isolveproblems.substack.com/p/how-microsoft-vaporized-a-trillion-2f5


    1. Borelli
      04.04.2026 16:21

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


  1. onets
    04.04.2026 16:21

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

    Таки что увольнения все-таки из-за ЭйАй, только не в том виде как всем рассказывают?


    1. Dhwtj
      04.04.2026 16:21

      Увольнение 5% каждый код в среднем это их культура конкуренции. В результате, программисты занимаются ИБД, боятся работать с сильными напарниками, гадят друг другу в суп.

      Ну, а 5% сами уходят. В результате, работавших 10+ лет мало. Как и везде, впрочем.


      1. Tim7456
        04.04.2026 16:21

        У МС годового плана по увольнениям нет уже давно. Это Мета этим славится. Enforced bell-curve performance distribution.


        1. Dhwtj
          04.04.2026 16:21

          Тут недалеко до расизма и соц дарвинизма


          1. Tim7456
            04.04.2026 16:21

            В смысле недалеко? Штаты - страна соц дарвинизма в самом прямом его понимании.


            1. Dhwtj
              04.04.2026 16:21

              Теперь Китай


        1. MAT-POC
          04.04.2026 16:21

          Я слышал про сокращение 2-3% самых не эффективных сотрудников в компании в год. И по рассказам очевидца занимались этим все крупные ИТ корпорации США. + в Майкрософт была собственная компания PowerMan - для аутсорсинга персонала, т.е. куча людей работала не в майкрософт, а через их же прокладку-подрядчика с официальными 6 днями отпуска в год (в США работодатель не обязан предоставлять отпуск персоналу - размер отпуска оговаривается в контракте) и объемами работ которые невозможно было сделать за 8 часов поэтому люди постоянно задерживались после работы на 1-2 часа.


          1. Tim7456
            04.04.2026 16:21

            Уход 2-3 % персонала в год это даже не сокращение, а нормальный уровень увольнений в любой большой компании. Как и во всех больших компаниях, в МС есть процесс годового ревью. По результатам человек получает оценку и она определяет размер бонуса. Бонус в МС - существенная часть оклада. И чем старше должность, тем существеннее. Детали на levels.fyi. Естественно, если бонус вам не дали - то шансы на ваш уход резко возрастают. Увольнения за низкий performance были есть и будут. Но МС на фоне других “гигантов индустрии” выглядит очень травоядно. И процедура увольнения длиться долго. Проще не давать бонус и вы уйдете сами. Хотя последние 3 года многое изменили не в лучшую сторону.

            Инженеры в МС (также как и в остальных АйТи компаниях) являются exempt employee - т.е. люди на окладе с ненормированным рабочим днем. На счет постоянно задерживаться на работе - это сильно зависит от проекта. Но в среднем по индустрии скорее является нормой. Забудьте про КЗОТ, в штатах его никогда не было. И американские законы о труде - это настоящая потовыжималка.

            Аутсорсинг персонала есть и скандалов с по этому поводу было вогон и маленькая тележка. Про PowerMan я некогда не слышал. Но и нахрена она нужна я не понимаю, когда есть Tata Consulting Services, Wipro и другие. Контракторов в МС много. Их называют “ви дэш”, из за того что их алиасы начинаются с “v-”. Ситуацию когда в команде 4 инженера сотрудники (Full Time Employee) и 15 контракторов я наблюдал лично. Никто ничего странного в ней не видел.

            Поэтому тот, кто вам расказывал, не очень сам в теме. Хотя и слышал что-то.


    1. Tim7456
      04.04.2026 16:21

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


  1. vanxant
    04.04.2026 16:21

    для запуска скрипта удаления файлов утёкших файлов, которые в некоторых узлах превысили предел временных файлов в 100 ГБ

    что мне пытаются рассказать?


    1. 478wo55bn4p987
      04.04.2026 16:21

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


  1. ulovka22
    04.04.2026 16:21

    Теперь эту статью можно давать всем, кто говорит "ИИ сделает софт глючным" - не сделает, люди сами прекрасно справляются


    1. Wesha
      04.04.2026 16:21

      Больше глючного софта богу глючного софта!


  1. aeder
    04.04.2026 16:21

    Да понятно всё.

    В самом начале описывается классическая картина группы разработчиков, которые тащатся от самого процесса разработки, но в принципе не рассматривают вариант "довести разработку до постоянной эксплуатации и вычистить (почти) все баги".

    Тут главное вовремя резюме обновить и съ***ться в другую компанию.

    Ну а то, что в Микрософт - жопа, я уже понял. Windows 11 как бы намекает...


    1. Dhwtj
      04.04.2026 16:21

      Если так смотреть то весь бигтех жопа. Если только ты не principal/staff engineer и выше


      1. SerP1983
        04.04.2026 16:21

        Только вот principal/staff engineer-ы в таких организациях - это как раз те люди, которые когда-то давно напринимали сомнительные технические решения, получили за это звезды и погоны (лычки стаффов и принципалов), и разбрелись по организации дальше эффективно действовать...


    1. Tim7456
      04.04.2026 16:21

      В МС разработчики не решают, что и когда выпускать на рынок. Это прерогатива менеджмента. Эти от разработки не тащатся, но пытаются “быстрей, быстрей” и “мне нужно показать результат в конце года”.


  1. SFeeD
    04.04.2026 16:21

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


  1. Vikki_Odessa
    04.04.2026 16:21

    Захватывающе и поучительно рассказано, снимает многие вопросы о качестве сервисов и вообще уровне


  1. Tim7456
    04.04.2026 16:21

    Описание предельно точное. Но тут стоит отметить, что как и весь бигтех, Майкрософт дико нанимала сотрудников в 2020-2022 годах. Штат вырос с 163 тыс, до 221 тыс сотрудников. Это +35%. И нанимала в основном вчерашних выпускников колледжей. Других на рынке просто не было. Т.е. каждый 4-й инженер в компании был выпускником с 0-2 годами опыта. Для разработки больших систем это совсем мало.

    Со времен ухода Балмера, совет директоров находится под сильным давлением “людей с Wall Street”. Они не очень понимают в АйТи, но здорово понимают в краткосрочной привлекательности акций.

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

    Плюс, компания сильно вложилась в госконтракты. А с госконтрактами пришли “госпаранойя” и безопасность “как ее понимает государство”. Т.е. бесконечные “гос стандарты”, “гос бюрократия”, “гос отчетность”. Эти стандарты писались государством еще в 70-е, 80-е годы прошлого века. Тогда проблема утечек данных решалась подходом - “давайте заведем еще один комитет, который будет собираться раз в неделю и рассматривать все запросы на получение информации”. А все запросы на изменение систем должны подписываться руководством. Continuous integration - с этим не сочетается от слова никак. И все современные подходы к управлению процессом разработки оказались похерены. Буквально запрещены на законодательном уровне. Храните правительственные данные - все системы должны соответствовать гос нормам. Compliance, мать его.

    Коллапс управления разработкой - вот что вышло в результате.

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


    1. Dhwtj
      04.04.2026 16:21

      Майкрософт превращается в господрядчика? Вот это поворот!


      1. Tim7456
        04.04.2026 16:21

        В смысле превращается? А битва за миллиардные контракты с DoD в 2020? Майкрософт уже тогда был господрядчиком, причем нескольких правительств. Сейчас вырос только масштаб.


  1. helgifisher
    04.04.2026 16:21

    Ковид многим распрямил извилины. Погоны на плечах остались. Можно провести поголовное тестирование. Печально смотреть на руководство с его подростковым хи-хи.


    1. achekalin
      04.04.2026 16:21

      Печальнее понимать, что вместо заинтересованности в результате все скатилось дл выполнения KPI, а остальное принимающих решение не волнует.

      Итог что на Хабре, что в MS один - юзеры ропщут, но уйти не могут, потому что куда, ну и старые привычки/договоры действуют.

      Боссы довольны - прибыль идет.

      Технари ропщут, особенно если уже не работают в.


  1. achekalin
    04.04.2026 16:21

    Чувак пришёл в MS второй раз на позицию специалиста, зашел на совещание, и сразу, сходу понял, что Титаник дальше не поплывет.

    Почему он не был при этом архитектором, почему вообще есть фраза, что можно поручить исследование нескольким джунам - вопросы есть, и много.

    Кстати, судя по последней фразе, автор должен быть не самым неопытным там.

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

    Да и тот же чип Overlake придумали и внедрили, полагаю, не джуны.

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


    1. Tim7456
      04.04.2026 16:21

      Те, кто поумнее, от этого проекта открестились. А молодые и амбициозные увидели в нем возможность получить промо. Но знаний оценить даже не риски, а банальную реалистичность проекта уже не хватило. В МС это называется PDF = Promotion Driven Features.

      В МС, то что ты менеджер со своей командой, не значит что тебе дадут нормальный фронт работ. Менеджер сам ищет перспективные направления и пытается выдавить на них ресурсы из руководства.


  1. AnyKey80lvl
    04.04.2026 16:21

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

    Ппц не по-русски написано. Вместо кучи слов можно просто написать, что конь не валялся


  1. Yami-no-Ryuu
    04.04.2026 16:21

    Чем вы это переводили.

    Выбросьте в мусорку, это НЕ Русский язык. Ну или хотя бы скажите ЛЛМ отредактировать, с предоставлением оригинала.

    ПС. Кровавые слезы и мат, это нечитаемо


  1. Krasnoarmeec
    04.04.2026 16:21

    Фигня какая-то, а не статья (претензии не к переводчику, а к автору).
    Если у автора статьи мысли скачут как белки, с одного на другое, и он себя относит к "специалистам" (цитирую, "я вернулся в Azure сразу в должности специалист"), то понятно, почему там проблемы. В статье вообще многовато нестыковок и тёмных мест. Автор сильно недоговаривает.
    Такое больно читать из-за отсутствия логики.


    1. sdramare
      04.04.2026 16:21

      Это проблемы перевода. В оригинале

      I rejoined in 2023 as an Azure expert on day one, having contributed to the development of some of the technologies on which Azure relies.

      Т.е. смысл не в том, что он вернулся в Ажур как специалист, а что он присоединился к команде как эксперт по Ажуре.


  1. achekalin
    04.04.2026 16:21

    Что имеем? Автор, бывший инженер Azure Core, пишет, что внутри Azure накопился тяжёлый, плохо понимаемый управляющий зоопарк: команда всерьёз обсуждала перенос кучи Windows-зависимого стека и десятков агентов на крошечную Linux-карту Overlake/Azure Boost, хотя это уже тогда выглядело технически нереалистично и упиралось в масштабирование. Из этого он делает вывод о глубоком организационном долге, управленческой слепоте и потере доверия к Azure.

    Это неприятный инсайдерский сигнал про внутреннюю кухню, но не такой сигнал, после которого рынок встаёт и уходит.

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


    1. Tim7456
      04.04.2026 16:21

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