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/США