30 сентября 2020 г.

«Проблема с кодом» ПО вызвала пятичасовой отказ Microsoft 365 и некоторых облачных сервисов Azure в понедельник вечером.

В 17:21 EST пользователи начали сообщать о невозможности доступа к своим облачным приложениям — в течение часа сайт Downdetector.com, отслеживающий сбои в работе облака, заполнили более 18 тысяч сообщений о проблемах.

Microsoft подтвердила, что имели место проблемы доступа с 17:25 до 22:25 EST в понедельник.

CRN/США разбирался, что произошло, какие сервисы были затронуты и как были устранены неполадки.

Что произошло?

На странице статуса Microsoft сообщила, что клиенты столкнулись с ошибкой аутентификации при попытке входа в Microsoft 365, Azure, Dynamics 365 и собственные приложения с помощью службы единого входа Azure Active Directory. При этом сбой запроса аутентификации был только у пользователей, еще не вошедших в систему.

Предварительный анализ выявил «сочетание трех, не связанных между собой проблем»: дефект кода обновленной службы, ошибку инструментария в системе безопасного развертывания Azure AD, которая имела региональный характер, и дефект кода в механизме отката Azure AD, который не позволил быстро отменить обновление службы.

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

В письме, направленном администраторам, пострадавшим от сбоя, компания сообщает: «Из-за ошибки кода часть нашей инфраструктуры испытывала задержки с обработкой запросов аутентификации, что не позволяло пользователям получить доступ к ряду услуг M365». Microsoft «анализирует код», чтобы понять, что заставило приложения «перестать своевременно обрабатывать запросы аутентификации», говорится в письме.

Компания обещала представить отчет о случившемся в течение пяти рабочих дней.

Какие услуги были затронуты?

Пользователи не могли получить доступ к нескольким сервисам Microsoft 365, которые требовали аутентификации через Azure Active Directory, в том числе почте Outlook, сервисам командной работы Microsoft Teams и Teams Live Events и пакету Office.com. Свойства Power Platform и Dynamics365 также были недоступны.

Как сказался отказ на Azure IaaS?

В обновлении статуса Azure сообщалось, что «некоторая часть клиентов в облаках Azure Public и Azure Government могла столкнуться с ошибкой выполнения аутентификации при подключении к ряду сервисов Microsoft и Azure, включая доступ к Azure Portals».

Проблемы в Azure сохранялись с 17:25 до 20:23 EST в понедельник.

Microsoft объяснила отказ в Azure тем, что «недавнее изменение конфигурации затронуло уровень внутреннего хранилища, что привело к задержке запросов аутентификации». Чтобы «смягчить проблему», был выполнен откат конфигурации.

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

Что было исправлено?

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

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

После успешного отката большинство клиентов подтвердили полное восстановление услуг к 20:23 EST в понедельник.

«Наши инженеры отслеживают работу системы, чтобы убедиться, что она продолжает работать с нормальными параметрами», сообщила компания на странице статуса.

Реакция партнеров

Руководитель одного из крупных партнеров Microsoft, попросивший об анонимности, сказал CRN: судя по всему, разработчик ПО в Microsoft так изменил код, что это привело к отказу Office 365 и Azure.

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

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

«Все готовы к сбоям в работе; те или иные нарушения можно понять, — сказал партнер. — Но это выглядит как негодная политика управления версиями исходного кода ПО. Это должны были предотвратить те, кто отвечает за управление версиями в DevOps».

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

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

Предыстория недавних отказов

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

3 марта случился шестичасовой отказ в ЦОДе Microsoft на Востоке США, ограничив доступ к облачным сервисам Azure ряда клиентов в Северной Америке. Спустя несколько дней Microsoft сообщила, что виной тому была неисправность системы охлаждения.

Почти две недели спустя, 16 марта, перестал работать сервис Microsoft Teams в Европе. Отказ длился два часа и был вызван наплывом новых пользователей из-за начавшегося коронавирусного кризиса, что создало чрезмерную нагрузку.

А чуть более недели спустя, 24 марта, Microsoft подтвердила серию сбоев, затронувших европейских клиентов, также вызванных перегрузкой ряда сервисов из-за пандемии COVID-19. При этом пострадали разработчики, так как первой отказала служба непрерывной доставки Azure Pipelines, используемая командами DevOps.

© 2020. The Channel Company LLC. Initially published on CRN.com, a The Channel Company website, at https://www.crn.com. Reprinted with permission.

Источник: Джозеф Цыдулко, CRN/США