Я настраиваю серверную среду для новой группы разработки программного обеспечения, которая будет включать 4 тестовых среды.
Это веб-приложения, поэтому каждая среда будет иметь сервер приложений и сервер базы данных.
Я планирую купить два физических сервера (например, 6-ядерный процессор с 12 ГБ или около того оперативной памяти), и я думаю, что здесь уместна виртуализация. Имея это в виду, я придумал несколько способов организовать стратегию виртуализации:
- Разделено по роли сервера: Сервер 1 имеет все серверы приложений, каждый на своей гостевой виртуальной машине. На сервере 2 есть все базы данных. ИЛИ
- Отдельно от окружающей среды: На сервере 1 есть виртуальная машина для двух сред, причем виртуальная машина содержит как сервер приложений, так и сервер базы данных. Сервер 2 также будет содержать две тестовые среды с одинаковым стилем (сервер приложений и база данных на одной виртуальной машине).
Преимущества, которые я вижу со всеми серверами приложений на одном сервере и всеми базами данных на другом сервере, заключаются в том, что я, вероятно, мог бы быть более эффективным с сервером базы данных (один экземпляр работает с несколькими базами данных). Но другой вариант кажется более простым в управлении (архивы / восстановления будут храниться в одной виртуальной машине).
Есть рекомендации? TIA.
Я склоняюсь к вашей второй идее. Это не только упрощает управление, но и позволяет относительно равномерно распределять операции ввода-вывода. Было бы огромной тратой ресурсов, если бы на недостаточно используемом хосте виртуальных машин было бы запущено клиентское приложение, а затем выбросить из строя виртуальные машины и хост серверной базы данных. Это немного упростит вам тестирование, не беспокоясь об устранении неполадок с низкой производительностью, которая на самом деле является результатом перегрузки хоста виртуальной машины.
Запустите их все как виртуальные машины. В тестовой среде ими легче управлять, потому что вы можете использовать моментальные снимки и / или резервные копии для восстановления всей среды до определенного момента времени.
Что касается организации виртуальных машин, как выглядит производство? Сделайте это как можно более похожим на это.
Лично я бы предпочел сделать что-то вроде №2, но всего у меня было бы 8 виртуальных машин: 4 с базой данных и 4 в качестве веб-серверов. Затем вы можете запустить две среды на каждом хосте или запустить все веб-ресурсы на одном и все базы данных на другом. Либо было бы хорошо.