Microsoft завершила расследование причин сбоя в облаке Azure
31 декабря 2014 г. | Категория: Мир
Microsoft завершила расследование причин ноябрьской остановки сервисов в облаке Azure и опубликовала окончательное – и нелицеприятное для компании - объяснение. Сбой, оставивший многих пользователей облака без интернета, был вызван человеческим фактором.
Напомним, что 18 ноября, облачная платформа Microsoft Azure капитально зависла: время простоя составило одиннадцать часов. (!) Отключение сервисов произошло на территории северного полушария и затронуло 19 дата-центров, после чего еще сутки пользователи в Европе ощущали резонансный эффект.
Сбой нарушил работу следующих сервисов: Azure Storage, Virtual Machines, SQL Geo-Restore, SQL Import/export, Websites, Azure Search, Azure Cache, Management Portal, Service Bus, Event Hubs, Visual Studio, Machine Learning, HDInsights, Automation, Virtual Network, Stream Analytics, Active Directory, StorSimple и Azure Backup Services.
17 декабря Microsoft представила детальное объяснение, где говорится, что типовое развертывание включает первый этап обновления в тестовой внутренней среде, затем размещается обновление в подготовительных средах, которые управляют реальными рабочими нагрузками, затем обновление верифицируется, после чего размещается на узком сегменте рабочей инфраструктуры, и после этого постепенно развертывается в другие сегменты, при этом обеспечивается локализация возможных ошибок развертывания в рамках одного региона из двух парных (например, Западная Европа и Северная Европа).
Джейсон Зандер, сотрудник Microsoft Azure, в своем блоге вскоре после аварии дал первоначальное объяснение причин: «В процессе обновления Azure Storage мы обнаружили проблему, которая заключалась в уменьшении производительности нескольких сервисов, использующих Azure Storage, включая Virtual Machines, Visual Studio Online, Websites, Search и другие сервисы Microsoft.
«При развертывании обновления мы обнаружили, что blob-хранилища клиентских интерфейсов ушли в бесконечные циклы, которые не были обнаружены в процессе первоначального тестирования. В результате сеть не смогла обеспечить поддержку дальнейшего трафика для пользователей Azure, и, в свою очередь, другие запрашиваемые сервисы не смогли нормально работать».
Изменение конфигурации было частью общего обновления платформы Azure Storage, призванного улучшить эффективность и снизить вовлеченность центрального процессора в задачи пользовательских интерфейсов Azure Table Front-Ends. Это обновление развертывалось в нескольких рабочих кластерах на протяжении нескольких недель и работало в штатном режиме для Table Front-Ends, не вызывая нареканий.
Специалисты компании действовали слишком самоуверенно: убедившись, что обновление улучшает производительность и устраняет определенные проблемы пользователей Azure Table, они приняли решение изменить конфигурацию для всех сервисов. Вопреки требованиям регламента, оператор развертывал обновление слишком быстро сразу во всех регионах, вместо того, чтобы делать это постепенно пакетами.
При изменении конфигурации файловых хранилищ Blob Front-Ends проявилась ошибка в blob-хранилищах, которые ранее работали нормально. Это вызвало бесконечные циклы в работе сервиса хранения данных, блокирующие дальнейший трафик.
Как только проблема была обнаружена, конфигурация была возвращена в первоначальное состояние. Однако, blob-хранилища ушли в бесконечный цикл, спровоцированный обновлением, и не могли принять новую конфигурацию без перезапуска. Это и послужило причиной затянувшегося простоя.
Сбой затронул сразу несколько регионов: если бы компания не «срезала углы», гонясь за скоростью, авария не оказалась бы столь глобальной. Последствия для тех клиентов, которые сложили все яйца в одну корзину – на Azure – были еще печальнее, нежели простая остановка сервисов: они не смогли даже сообщить своим пользователям о сбое, потому что все цифровые каналы связи одновременно отключились.
На основании объяснения Microsoft можно сделать очевидный вывод, что специалисты не соблюдали внутренний регламент своей компании.
«В процессе развертывания, говорит Зандер, были допущены две операторские ошибки».
Во-первых, не соблюдалась стандартная политика поэтапного развертывания в малых сегментах. «Инженер, который устранял проблему производительности хранилища Azure Table, решил, что, поскольку обновление уже в течение нескольких недель успешно ставится на отдельные сегменты рабочей инфраструктуры, то не составляет риска развернуть его сразу по всей инфраструктуре», говорится в отчете.
Во-вторых, хотя изменения были верифицированы в тестовой зоне и предварительной среде хранилища Azure Table Front-Ends, на хранилище Azure Blob они встали некорректно: как только изменения достигли конечных пользователей, случился сбой, который привел к бесконечному циклу».
Автоматическая система оповещения сработала в течение нескольких минут, и инженеры компании свернули обновление в течение получаса. Это спасло некоторых пользователей, но у тех, кого сбой к тому моменту уже затронул, сервисы зависли. «Потребовался перезапуск системы после отзыва обновлений, и это увеличило время восстановления».
Итак, у Microsoft Azure существует четкий операционный регламент, но вместо того, чтобы ему следовать, специалисты полагались на человеческое чутье и на отчеты о развертывании. Теперь компания заверяет, что установит такие инструменты обновления, которые сами по себе будут контролировать соблюдение регламента и не дадут его нарушить.
В дополнение, клиенты Microsoft столкнулись и с другими проблемами, такими как истечение времени ожидания конфигурирования диска, невозможность установки VM и программные ошибки сети.
Также Microsoft признала, что коммуникация во время инцидента была не на должном уровне, в частности, требуют устранения следующие проблемы:
1) Задержки и ошибки в публикациях о статусе сервисов на панели статуса;
2) Недостаточность каналов коммуникации (твиты, блоги, форумы);
3) Недостаточно быстрое реагирование группы технической поддержки.
Эта авария может задержать планы компании позиционировать Azure как надежного облачного провайдера и послужит предупреждением конкурентам, таким как IBM, Google и другим, предлагающим такие же платформы: с ними может случиться то же самое.
Пресс-секретарь голландской организации здравоохранения Viva Zoprggroep сообщил корреспондентам ВВС, что, по мнению руководства их организации, облако пока еще недостаточно совершенная технология, чтобы рискнуть и полностью перевести данные предприятия на эту платформу».
Дополнительную информацию можно получить на сайте http://azure.microsoft.com Теги: Microsoft, Azure
|