Назад | Перейти на главную страницу

Должен ли я иметь один экземпляр для каждого приложения при создании управляемой базы данных?

Скажем, у меня есть 10 различных приложений, все из которых имеют зависимость от базы данных postgresql, и эти приложения должны быть развернуты в Azure с использованием экземпляров postgresql, управляемых Azure. Будет ли лучше всего создать управляемый экземпляр базы данных для каждого приложения и каждой среды (разработка, постановка, производство) (10 x 3 = 30 экземпляров) или я должен создать один управляемый экземпляр postgresql большего размера для каждой среды? Таким образом, у меня есть только три управляемых экземпляра базы данных (dev, staging, prod)

Меня беспокоит производительность, безопасность и ремонтопригодность. Общие лучшие практики.

У каждого подхода есть свои плюсы и минусы. См. Обсуждение на Должен ли я иметь один экземпляр MySQL для всех наших приложений или по одному экземпляру для каждого?

Я получил хороший опыт использования «смешанного» подхода:

  • разработка и постановка могут использовать один и тот же экземпляр
  • производство всегда находится в отдельном экземпляре (но может быть несколько производственных приложений в одном экземпляре)
  • низкий трафик / низкое использование / новые приложения запускаются на общем экземпляре по умолчанию
  • как только вы столкнетесь с приложением с высоким уровнем использования и / или начнете исследовать проблемы с производительностью, создайте выделенный экземпляр и переместите приложение туда
  • то же самое для проблем безопасности или конфликтов версий БД (два приложения в зависимости от разной версии БД)

В общем, я не думаю, что есть «лучшая практика» для всех сценариев. Я бы начал с простой настройки (т.е. всего несколько экземпляров), а затем при необходимости улучшил бы ее.