11 августа Google App Engine «лихорадило»: 37% приложений работали нестабильно (доля ошибок достигала 50%), а запросы обрабатывались в среднем на 0,8 секунды дольше обычного. В компании признали: двухчасовые перебои в работе облачных сервисов в регионе US-Central были вызваны совпавшими по графику обновлениями, пишет The Register.
В компании заявили, что в указанное время проводились периодические работы по переносу приложений App Engine между дата-центрами региона для поддержания баланса трафика. В этом случае часть приложений переносят в дата-центр, мощности которого предварительно выверяются, после чего в освобождённом центре данных «снимается» трафик с серверов в пропорции, необходимой для восстановления ресурсов. Приложения, работавшие на освобождённых серверах, автоматически переносятся на другие сервера.
Всё выглядит вполне логично, но в рутинную работу вмешался случай: к описанным действиям добавилось запланированное на то же время обновление ПО для роутеров, в результате чего все они начали последовательно перезагружаться.
В результате запросы от App Engine на создание новых сущностей приложений на новых серверах обрабатывались медленно, что приводило к повторной отправке запросов, а это, в свою очередь, вызывало перегрузку процессоров на многих роутерах. Как итог — некоторые входящие запросы не обрабатывались и выдавалась ошибка.
По словам представителей Google, мощности роутеров рассчитаны на запланированные нагрузки, но повторяющиеся запросы стали большим — и весьма болезненным — сюрпризом.
В Alphabet заявили, что нарастили пропускную способность для того, чтобы избежать подобных инцидентов в будущем. Дополнительно, изменена логика, и теперь при переносе приложений отсутствует обращение к роутерам, а также исправлено системное поведение при повторных запросах.
Про корректироваку расписания обновлений, впрочем, в официальных объяснениях не было сказано ни слова.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.