Список докладов конференции PgConf.Russia 2017
Тестовая среда по требованию
.JPG.120x120.jpg)
Skype (Microsoft), Software developer - PostgreSQL tooling
Разработчик БД в компании Skype c 2011. В начале карьеры принимал участие в разработке и тестировании проектов Skype на базе PostgreSQL, связанных с данными о контактах, авторизацией и интеграцией. С 2013 г. работает в команде Database Platform, предоставляющей сервис "PostgreSQL как услуга" для внутренних нужд команд разработки Skype. В его сферу обязанностей входит автоматизация и разработка инструментария для внедрения БД, репликации, написание асинхронных скриптов для БД, а также разработка внутреннего хранилища данных.
Вы тестируете свои релизы PostgreSQL в специально настроенной тестовой среде, прежде чем залить их в продакшен? Вы уверены, что ваша тестовая среда соответствует требованиям продуктовой среды и находится в актуальном состоянии?
В компании Skype мы сталкиваемся c разнообразными проблемами, связанными с тестированием баз данных:
- Обобщение и отражение в тестовой среде всего многообразия вариантов продуктовой среды для тысяч реализаций PostgreSQL, связанных с удаленным вызовом процедур (RPC) и репликациями, серверной инфраструктурой, а также внешними скриптами БД.
- Постоянно растущие требования к поддержке новых аппаратных средств, недостаточная очистка тестовых данных.
- Различия между тестовой и продуктовой средой со временем накапливались.
Вместо того, чтобы постоянно бороться с новыми проблемами, мы в Skype решили пойти другим путем – полностью перестроить нашу тестовую инфраструктуру для PostgreSQL на основе реальной продуктвой среды! Мы делаем это регулярно, или когда требуется. Мы полностью автоматизировали клонирование продуктовой среды в упрощенный вариант тестовой: восстановление структур данных, процедур, ролей, репликаций, внешних скриптов БД, конфигураций, и т.д., включая даже механизмы аварийного переключения БД, создаются автоматически. Мы также разработали решение для сохранения индивидуальных настроек и данных для конкретных тестовых сценариев в обновленных версиях. В результате сегодня мы уверены, что наша тестовая инфраструктура полностью соответствует продуктовой. Она не устареет и не “раздуется”. И мы можем легко создать столько ее копий, сколько нужно. Поддержка тестовой инфраструктуры стала гораздо проще, и мы хотим поделиться нашим опытом с сообществом PostgreSQL.