В настоящее время я планирую любые необходимые изменения в инфраструктуре RDS, чтобы удовлетворить предстоящее увеличение числа пользователей в связи с расширением компании.
В настоящее время в системе имеется только один сервер узла сеансов RDS. Предстоящее расширение заставило меня задуматься, какие факторы влияют на принятие решения о переключении на модель с несколькими хостами сеансов.
Один конкретный вопрос, с которым я борюсь: если у вас есть возможность легко масштабировать существующий хост, а не развертывать другой, имеет ли обычно смысл это делать и избегать переключения на модель с несколькими хостами до тех пор, пока это не станет абсолютно необходимым? Принимая во внимание дополнительное обслуживание и сложность, связанные с наличием более чем одного хоста сеанса, это казалось вполне уместным вопросом, на который я не уверен, что у меня есть твердый ответ.
Я изложу свое текущее мнение о конкурирующих факторах. Я был бы признателен за мысли других людей об этом и о том, есть ли другие важные факторы.
Наличие нескольких хостов сеансов вводит уровень избыточности, особенно если вы запускаете их с достаточным запасом, чтобы компенсировать нехватку ресурсов в случае простоя одного из хостов. Однако вы должны убедиться, что все хосты сеанса имеют одинаковую конфигурацию. Это требует дополнительной работы и создает возможность развития различий между хостами с течением времени. Хотя сам я еще не делал этого, я могу понять, как эти проблемы можно решить в основном с помощью таких вещей, как автоматизация, централизованное управление и контроль конфигурации, но требуемый уровень навыков выше, и вы должны приложить начальные усилия, чтобы реализовать инструменты и процессы. У вас также есть дополнительная сложность балансировки нагрузки между хостами (с использованием брокера соединений).
Увеличение масштаба одного хоста снижает сложность, что я большой поклонник, когда это возможно / разумно. Вам нужно поддерживать только один хост. На первый взгляд, это заставляет меня думать, что предпочтительнее максимально масштабировать существующий хост, пока избыточность не станет серьезной проблемой. У меня такое чувство, что все не так просто. Может ли кто-нибудь еще поделиться своими мыслями / опытом?
Чтобы наложить некоторые ограничения на это, моя конкретная ситуация связана с использованием Windows Server 2012 R2 с виртуальными узлами сеанса с использованием Hyper-V. В этом конкретном сценарии лицензирование не является серьезной проблемой.
На мой взгляд, самым большим недостатком использования только одного хоста RDS является то, что все ваших пользователей влияет, когда вы должны остановить его для обслуживания / исправления в дополнение к любому непредвиденному простою.
Разделение нагрузки между несколькими серверами позволяет «истощить» остановку службы на сервере, на котором вам необходимо выполнить обслуживание, что эффективно устраняет время простоя пользователя для всего планового обслуживания (что также позволяет вам выполнять обслуживание в рабочее время). А в случае непредвиденного простоя это затронет только часть пользователей, использующих отключенный сервер; и достаточно долго, чтобы повторно подключиться к другому серверу в ферме.
Если ферме RDS требуется какая-либо гарантия безотказной работы, масштабируйте ее. Установите роль посредника подключений на отдельной виртуальной машине (при необходимости в кластере высокой доступности).
Самая большая проблема в RDS - это совместное использование ресурсов. Если один пользователь потребляет слишком много ресурсов, это влияет на всех на этом сервере. Scale-Out смягчает это.
Я также рекомендую выделить серверы N + 1 (или больше) для планирования емкости. Это дает запас для технического обслуживания без ущерба для здоровья фермы.
Анекдот:
Я запустил 3-узловую ферму, обслуживающую Great Plains для ~ 90 одновременных пользователей. Я хочу сказать, что каждый хост сеанса был 8-ядерным, 16 ГБ ОЗУ (Nimble SAN, IOPS не беспокоили) и выгруженными профилями пользователей. Эта ферма могла работать с пониженной производительностью на 2 хостах с небольшим влиянием, и бизнес мог работать только на одном хосте.
Вам и вашему бизнесу решать, какой уровень обслуживания необходим и какая стоимость приемлема.
Если вы можете разобраться с управлением конфигурацией (PowerShell DSC или аналогичный), наличие нескольких узлов является преимуществом, а не дополнительной сложностью.