Forwarded from Java hub
null, который положил Google Cloud Platform 😱
Вокруг только и разговоров, что о post-mortem недавнего инцидента в Google Cloud👩💻
12 июня Google Cloud прилёг. На несколько часов так прилёг. Упали App Engine, BigQuery, Cloud SQL, IAM, Cloud Run — и ещё с десяток ключевых сервисов.
А всё началось с Null Pointer Exception
29 мая в компонент GCP под названием Service Control добавили новую ветку логики для проверки квот. Код попал в прод, но не активировался — требовалась определённая конфигурация политики, которая на тот момент ещё не существовала.
12 июня эти политики всё-таки были задействованы. В Spanner (распределённая база данных от Google) записались данные с пустыми полями. Service Control начал использовать новую логику, где не было защиты от null. И началось: сервис стал падать в каждом регионе. Ошибки 503 прокатились по всем зависимым API. Глобальная катастрофа — за пару секунд.
Каковы корневые причины?
- Null Pointer Exception в новой логике квот.
- Отсутствие feature flag’а — код сразу пошёл "в бой", без фазового включения.
- Нет fallback-механизма (fail-open).
- Не было адекватного тестирования — критическая ветка не активировалась до продакшна.
- Мгновенная глобальная репликация метаданных — баг разлетелся по всему миру за секунды.
Кто бы мог подумать, что в 2025 году глобальный сервис положит банальный NPE.
Мы, Java-разработчики, к сожалению, не удивлены
null — это старая боль JVM.
Известный billion-dollar mistake, как его однажды окрестил Тони Хоар. За десятилетия было много попыток уменьшить ущерб от null:
- Kotlin с его строгой null safety.
- Optional в Java 8.
- Проект JSpecify, который пытается ввести строгую спецификацию аннотаций nullability.
- Черновик JEP'а про Nullable-типы на уровне JVM.
А ведь в Go (на нём пишут в Google), несмотря на переименование null в nil, проблемы всё те же, хе-хе👩💻
Крах Google Cloud — это textbook fail в области feature toggle практик.
Если бы новая логика была обёрнута в фичефлаг с постепенным rollout — баг бы нашли до продакшна.
Если бы был fail-open — сервис бы хотя бы не падал.
Если бы была деградация, а не crash loop — миллионы клиентов не увидели бы 503.
Инфраструктурный код заслуживает не меньше внимания, чем продакт-фичи.
Любая система уязвима, если в ней нет культуры устойчивости к дефектам.
Вокруг только и разговоров, что о post-mortem недавнего инцидента в Google Cloud
12 июня Google Cloud прилёг. На несколько часов так прилёг. Упали App Engine, BigQuery, Cloud SQL, IAM, Cloud Run — и ещё с десяток ключевых сервисов.
А всё началось с Null Pointer Exception
29 мая в компонент GCP под названием Service Control добавили новую ветку логики для проверки квот. Код попал в прод, но не активировался — требовалась определённая конфигурация политики, которая на тот момент ещё не существовала.
12 июня эти политики всё-таки были задействованы. В Spanner (распределённая база данных от Google) записались данные с пустыми полями. Service Control начал использовать новую логику, где не было защиты от null. И началось: сервис стал падать в каждом регионе. Ошибки 503 прокатились по всем зависимым API. Глобальная катастрофа — за пару секунд.
Каковы корневые причины?
- Null Pointer Exception в новой логике квот.
- Отсутствие feature flag’а — код сразу пошёл "в бой", без фазового включения.
- Нет fallback-механизма (fail-open).
- Не было адекватного тестирования — критическая ветка не активировалась до продакшна.
- Мгновенная глобальная репликация метаданных — баг разлетелся по всему миру за секунды.
Кто бы мог подумать, что в 2025 году глобальный сервис положит банальный NPE.
Мы, Java-разработчики, к сожалению, не удивлены
null — это старая боль JVM.
Известный billion-dollar mistake, как его однажды окрестил Тони Хоар. За десятилетия было много попыток уменьшить ущерб от null:
- Kotlin с его строгой null safety.
- Optional в Java 8.
- Проект JSpecify, который пытается ввести строгую спецификацию аннотаций nullability.
- Черновик JEP'а про Nullable-типы на уровне JVM.
А ведь в Go (на нём пишут в Google), несмотря на переименование null в nil, проблемы всё те же, хе-хе
Крах Google Cloud — это textbook fail в области feature toggle практик.
Если бы новая логика была обёрнута в фичефлаг с постепенным rollout — баг бы нашли до продакшна.
Если бы был fail-open — сервис бы хотя бы не падал.
Если бы была деградация, а не crash loop — миллионы клиентов не увидели бы 503.
Инфраструктурный код заслуживает не меньше внимания, чем продакт-фичи.
Любая система уязвима, если в ней нет культуры устойчивости к дефектам.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Too Long, Did Read
Как подготовить попугая к удаленке
https://www.smithsonianmag.com/smart-news/scientists-taught-pet-parrots-to-video-call-each-other-and-the-birds-loved-it-180982041/
Прочитал невероятно милую и крутую статью про эксперимент, который провели ученые-орнитологи в нескольких университетах США: научили попугаев звонить друг другу в зуме и общаться.
Оказывается (в целом, не удивительно), в дикой природе попугаи живут большими стаями и много общаются между собой.
У домашних попугаев от одиночества (если не учитывать кожаных мешков) иногда развиваются расстройства по типу депрессии, которые даже доводят птичек до селф-харма (вырывания перьев).
Так вот, ученые отобрали 18 попугаев (хотя до конца эксперимента дошли только 15…) и научили их выбирать попугая, которому они хотят позвонить, и нажимать на его изображение на планшете - конечно, под контролем владельцев.
За 2 недели попугаи совершили 147 звонков друг другу, владельцы записали все это на видео, и ученые проанализировали поведение попугаев.
Вот самые интересные выводы:
- у попугаев был лимит по времени на звонок, и в абсолютном большинстве случаев они использовали все доступное им время
- чаще других, попугаи звонили своим самым общительным сородичам (тем, кто сам больше всех инициировал звонки)
- попугаи учили друг друга новых движениям, песням и словам
- некоторые общались между собой на английском, составляя вполне осмысленные (но простые, конечно) диалоги
Понятно, что такие звонки не заменяют попугаям реального общения, но это точно лучше, чем ничего, - тем более, что устраивать ирл встречи попугаям довольно трудно и даже опасно (из-за какого-то птичьего вируса).
Меня очень радуют и вдохновляют подобные исследования - про них хочется читать гораздо больше, чем про MCP и AI agents :)
Про ученых-попугаеведов и их работу остается сказать только одно - exceptional use of free will
https://www.smithsonianmag.com/smart-news/scientists-taught-pet-parrots-to-video-call-each-other-and-the-birds-loved-it-180982041/
Прочитал невероятно милую и крутую статью про эксперимент, который провели ученые-орнитологи в нескольких университетах США: научили попугаев звонить друг другу в зуме и общаться.
Оказывается (в целом, не удивительно), в дикой природе попугаи живут большими стаями и много общаются между собой.
У домашних попугаев от одиночества (если не учитывать кожаных мешков) иногда развиваются расстройства по типу депрессии, которые даже доводят птичек до селф-харма (вырывания перьев).
Так вот, ученые отобрали 18 попугаев (хотя до конца эксперимента дошли только 15…) и научили их выбирать попугая, которому они хотят позвонить, и нажимать на его изображение на планшете - конечно, под контролем владельцев.
За 2 недели попугаи совершили 147 звонков друг другу, владельцы записали все это на видео, и ученые проанализировали поведение попугаев.
Вот самые интересные выводы:
- у попугаев был лимит по времени на звонок, и в абсолютном большинстве случаев они использовали все доступное им время
- чаще других, попугаи звонили своим самым общительным сородичам (тем, кто сам больше всех инициировал звонки)
- попугаи учили друг друга новых движениям, песням и словам
- некоторые общались между собой на английском, составляя вполне осмысленные (но простые, конечно) диалоги
Понятно, что такие звонки не заменяют попугаям реального общения, но это точно лучше, чем ничего, - тем более, что устраивать ирл встречи попугаям довольно трудно и даже опасно (из-за какого-то птичьего вируса).
Меня очень радуют и вдохновляют подобные исследования - про них хочется читать гораздо больше, чем про MCP и AI agents :)
Про ученых-попугаеведов и их работу остается сказать только одно - exceptional use of free will
Smithsonian Magazine
Scientists Taught Pet Parrots to Video Call Each Other—and the Birds Loved It
Wild parrots tend to fly in flocks, but when kept as single pets, they may become lonely and bored
Сборная России завоевала 8 медалей из 8 возможных на Международной олимпиаде по кибербезопасности (International Cybersecurity Olympiad, ICO) среди старшеклассников в Сингапуре.