Компания Atlassian недавно завершила масштабную миграцию 4 миллионов баз данных Jira, находящихся на PostgreSQL, на платформу Amazon Aurora, чтобы оптимизировать затраты и повысить надежность для пользователей Jira Cloud. Поскольку архитектура приложения подразумевает использование одной базы данных на каждого арендатора, общий объем баз данных превысил 4 миллиона экземпляров, что потребовало разработки специального инструмента оркестрации, так как традиционные стратегии облачной миграции не подошли.
Переход на Amazon Aurora
В конце 2023 года команда Atlassian завершила перенос всей инфраструктуры на Amazon Aurora, что позволило воспользоваться уровнем обслуживания в 99.99%, автоматическим масштабированием экземпляров-чтения и снижением затрат. Интеграция с Amazon RDS для PostgreSQL относительно проста для отдельных инстансов, но задачи, содержащие тысячи баз данных, раскрыли ограничения существующих подходов: одна база данных Jira имеет около 5000 файлов на диске, поэтому на серверах были миллионы файлов, что стало причиной затруднений при запуске реплик Aurora.
Для решения возникших проблем команда разработала метод «draining», уменьшая число арендаторов на экземплярах, которые предстояло перегружать, и контролируя количество баз данных, переносимых между кластерами. Они сопоставляли дополнительные затраты на инфраструктуру с приемлемой продолжительностью миграции баз данных (миграция баз данных) по регионам. На пике было перенесено до 90,000 баз данных Jira в день, в среднем около 38,000 ежедневно.
В рамках проекта было преобразовано 2,403 экземпляра RDS и мигрировано 2.6 миллиона баз данных, а еще 1.8 миллиона баз данных были перенесены с исходных инстансов. По оценке команды Atlassian, на данный момент Jira использует более 27.4 миллиарда файлов баз данных.
Этот проект стал важной вехой для Atlassian, иллюстрируя не только сложности технических изменений на таком уровне, но и возможность использования современных облачных технологий для решения масштабных бизнес-задач.