Microsoft сделала PostgreSQL 14 общедоступной в регионах с гипермасштабированием Azure (Citus), и компания, известная периодическими отключениями своих облачных и настольных платформ, дала понять, в чем дело.
PostgreSQL 14 появился в конце прошлой недели, наполненный функциями (хотя, возможно, и отсутствующими в какой-либо выдающейся новой игрушке) и настройками, направленными на повышение производительности на высокопроизводительных системах.
Не прошло и дня, как Microsoft объявила о появлении базы данных в своем облаке. Типа – пока нужно подавать заявки только на гипермасштабируемые (Citus) регионы. Другие регионы и База данных Azure для PostgreSQL появятся в ближайшие несколько месяцев.
Тем не менее, как ведущий инженер Microsoft Postgres и технический директор Citus Data Озгун Эрдоган скромно сказал: «Насколько нам известно, это первый раз, когда крупный поставщик облачных услуг объявил GA для новой основной версии Postgres на своей платформе через день после официального выпускать.”
Отметив, что Microsoft разрабатывает и поддерживает ряд расширений с открытым исходным кодом, включая Citus, Эрдоган объяснил процесс обновления расширений по мере выпуска версии PostgreSQL. Необходимо исправить критические изменения, добавить новые функции (если применимо) и, конечно же, исправить любые неудачные тесты в неизбежном конвейере.
«Лучшая практика», используемая для того, чтобы так быстро создать расширение, интересна с точки зрения разработки. На первом месте стоят модульные тесты, и Эрдоган похвастался 100-процентным охватом уровня управления, а также двухминутным временем выполнения этих тестов.
Однако, несмотря на то, что модульные тесты – это хорошо и хорошо, многие вызовы приходится высмеивать – т. Е. Тестировщики программного обеспечения заменяют настоящую фальшивую версию сервиса – что обеспечивает быструю обратную связь, но, как признал Эрдоган, «не обеспечивает хорошего сквозного обзора». Поэтому следует сквозное тестирование, чтобы проверить, как взаимодействуют различные компоненты, прежде чем рассматривать вопрос о развертывании.
Развертывание в Azure интересно само по себе. В ходе третьего раунда тестирования полезная нагрузка сначала попадает в промежуточную среду, затем в регионы программы раннего обновления Azure, а затем, наконец, попадает в остальные производственные регионы. Затем проводятся дополнительные тесты в течение того, что Эрдоган назвал периодом «отжига» между развертываниями, включая подготовку Citus, обновления, восстановление и т. Д.
На первый взгляд осторожный подход полностью автоматизирован: «все, что нужно было сделать нашей команде, – это нажать кнопку – и развертывание началось», – хвастался Эрдоган. И стала доступна новая версия PostgreSQL.
Пользователям Azure, потрясенным из-за неоднократных отключений за последний год – и изменения, из-за которого Azure Active Directory вышла из строя в начале этого года, когда компания изо всех сил пыталась откатить изменение в своей системе аутентификации, – простительно за то, что они задаются вопросом, почему чудо-технология, которая получает PostgreSQL такие быстрые обновления доступны не во всех уголках облака Microsoft. ®