Организация корпоративной серверной ИТ-инфраструктуры (50, 100, 200 пользователей)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Правильная организация серверной инфраструктуры является очень важной составляющей эффективной работы бизнес-процессов в любой компании. При выборе архитектуры следует уделить время трем основным направлениям:

  • Распределение ролей. В зависимости от нагрузки и используемых серверных ролей, в компании они распределяются между серверами. Несколько ролей могут быть совмещены на одном сервере, также одна роль может распределяться на несколько серверов или же дублироваться (резервироваться).

  • Производительность. Важно выбрать правильное количество аппаратных ресурсов, чтобы их хватило для работы соответствующих серверных ролей.

  • Стоимость. При выборе комплектующих, нужно не только ориентироваться на то, чтобы не было больших излишков, так как это повышает затраты. 

В данной статье мы рассмотрим оптимальные варианты корпоративной серверной инфраструктуры в зависимости от количества пользователей, исходя из нашего опыта. Эта информация будет полезна организациям, которые планируют создание новой ИТ-архитектуры или же усовершенствование текущей.

Вводные данные

Для проектирования типовых проектов инфраструктуры будем использовать следующие вводные:

Количество пользователей

Возьмем наиболее типовой размер компании  - 50, 100 и 200 пользователей. Организации, в которых сотрудников меньше 50-ти, рассматривать не будем ввиду простоты такой инфраструктуры. Хотя, для таких компаний за основу можно взять архитектуру для 50-ти пользователей, но с меньшими ресурсами.

Объем данных

Для моделирования проектов инфраструктуры возьмем примерные объемы данных, которые характерны для организаций соответствующего размера. Чтобы подобрать оптимальную аппаратную часть, необходимо понимать сколько данных будет с высокой интенсивностью доступа к ним и сколько с низкой. Данные с низкой интенсивностью доступа - это статичные файлы, текстовые документы, таблицы, изображения. Данные с высокой интенсивностью - это базы данных, высоконагруженные приложения и файлы операционных систем при одновременной работе с ними большого количества пользователей.

Таблица 1. Объемы данных для проектирования

Количество пользователей

50

100

200

Данные с низкой интенсивностью доступа, Гб

800

1500

2500

Данные с высокой интенсивностью доступа, Гб

200

350

600

Типовые серверные роли:

  • Сервер приложений (AS) - используется для работы основного рабочего приложения, это обычно 1С или другая учетная программа.

  • Сервер СУБД (DB) - сервер, на котором располагаются базы данных основного приложения. Используется программный продукт MS SQL или PostgreSQL.

  • Сервер терминалов (TS) - удаленный рабочий стол, на котором пользователи ведут работу с документами, также на нем установлены клиентские части всех приложений.

  • Веб Server (WS) - обеспечивает доступ к приложениям из интернет-браузера.

  • Файловый сервер (FS) - хранилище документов и файлов.

  • Контроллер домена (AD) - служебная роль, которая позволяет управлять и централизованно администрировать пользователей и ресурсы в корпоративной среде.

Рекомендуемые комплектующие, в зависимости от роли сервера

При выборе серверов для каждой из серверных ролей учитываются несколько основных факторов: процессор, диски, память.

Процессоры

Начнем с процессоров, при их выборе стоит обратить внимание на три основных характеристики:

Тактовая частота. Определяет скорость работы процессора и влияет на время выполнения операций. Высокая частота очень актуальна для сервера приложений и менее важна для остальных ролей. Программа будет работать быстрее на более дешевом процессоре, в котором меньше ядер, но выше частота, чем на дорогих многоядерных процессорах. Происходит это из-за того, что запросы в базе выполняются без распараллеливания между ядрами - один запрос выполняется только одним ядром.

Ядра. Количество ядер процессора важно для серверов, где идет работа большого количества пользователей, запускается много приложений, либо же приложения работают в несколько потоков. Чем больше пользователей работает на сервере, тем нужно больше ядер, если же пользователей небольшое количество, лучше пожертвовать количеством ядер в пользу более высокой частоты.

Масштабируемость. Есть процессоры, предназначенные для работы в однопроцессорных шасси, есть такие, что могут использоваться в двухпроцессорных и более платформах. При выборе нужно учитывать, будет ли система масштабироваться и на сколько. 

Примеры линеек процессоров и конкретных моделей для работы каждой из серверных ролей указаны в таблица ниже:

Таблица 2. Рекомендуемые процессоры 

Серверная роль

Линейки процессоров

Пример моделей

Сервер приложений

Intel Xeon E-22XX (Coffee Lake)

Intel Xeon Gold 52XX (Cascade Lake)

Intel Xeon Gold 62XX (Cascade Lake)

Intel Xeon Gold 63XX (Ice Lake)

Intel Xeon Gold 64XX (Sapphire Rapids)

E-2234 4C 3.6-4.8 Ghz

E-2246G 6C 3.6-4.8 Ghz

E-2286G 6C 4.0-4.9 Ghz

Gold 5222 4C 3.8-3.9 Ghz

Gold 6244 8C 3.6-4.4 Ghz

Gold 6256 12C 3.6-4.5 Ghz

Gold 6444Y 16C 3.6-4.0 Ghz

Сервер СУБД

Intel Xeon E-22XX (Coffee Lake)

Intel Xeon Silver 42XX (Cascade Lake)

Intel Xeon Gold 61XX (Sky Lake)

Intel Xeon Gold 62XX (Cascade Lake)

E-2236 6c 3.4-4.8 Ghz

Silver 4215R 8с 3.2-4.0 Ghz

Gold 6146 12c 3.2-4.2 Ghz

Gold 6246R 16c 3.4-4.1 Ghz

Сервер терминалов

Intel Xeon Bronze 32XX (Cascade Lake)

Intel Xeon Silver 42XX (Cascade Lake)

Intel Xeon Silver 43XX (Ice Lake)

Bronze 3206R 8c 1.8 Ghz

Silver 4309Y 8c 2.8-3.6 Ghz

Silver 4210R 10c 2.4-3.2 Ghz

Silver 4314 16c 2.4-3.4 Ghz

Файл сервер

Intel Xeon E5-26XX

E5-2620v4 8c 2.1-3.0 Ghz

E5-2650v4 12c 2.2-2.9 Ghz

Веб сервер

Intel Xeon Bronze 32XX (Cascade Lake)

Bronze 3204 6c 1.9 Ghz

Bronze 3206R 8c 1.9 Ghz

Контроллер домена

Любая серия

Любая модель

Диски

Выбор правильной дисковой подсистемы также крайне важен для соблюдения баланса затраты-производительность. В данный момент на практике используется 3 вида дисков:

HDD SATA - жесткие диски с интерфейсом SATA и скоростью вращения шпинделя 7200 оборотов\мин. Стоит выбирать серверные линейки - такие диски проходили тестирование на работоспособность в серверных системах и рассчитаны на стабильную работу в режиме 24/7.

SSD - твердотельные диски, не имеющие в своем составе движущихся частей. Такая технология позволяет производить считывание и запись значительно быстрее, чем HDD.

SSD NVMe (Non-Volatile Memory Express) - это интерфейс шины PCIe и драйвер, который использует преимущества увеличенной полосы пропускания. NVMe также напрямую связывается с центральным процессором, обеспечивая наиболее высокую скорость обработки информации.

Типов дисков значительно больше, но они или устарели такие как SCSI, или их использование нецелесообразно. Например, существует тип скоростных дисков HDD SAS со скоростью вращения 10-15К, но в данный момент использование SSD является более эффективным как с точки зрения производительности, так и с точки зрения эффективности. 

Наиболее важная характеристика, которую стоит учитывать при выборе дисков - количество IOPS (Input/Output Operations Per Second). Это метрика, измеряющая скорость ввода/вывода данных на диск, чем выше показатель - тем быстрее диск обрабатывает обращения к нему. Характеристика очень важна для высоконагруженных приложений и баз данных и практически не играет роли для статических данных.

В таблице ниже приведены примеры использования классов дисков в разрезе серверных ролей:

Таблица 3. Рекомендуемые типы дисков

Типы дисков

Количество IOPs

Примеры линеек

Серверные роли

HDD SATA

50 - 200

WD Gold Series

WD Ultrastar Series

Файловый сервер

Контролер Домена

SSD

20K-200K

Intel D3-S4520 Series

Intel D3-S4620 Series

Веб сервер

Сервер терминалов

Сервер приложений

SSD NVMe

500K-1500K

Intel Optane DC P5800 Series

Intel DC P4510 / 4610 Series

Intel D5-P55XX / 56XX Series

Intel D7-P55XX / 56XX Series

Сервер СУБД

Сервер терминалов (100+ пользователей)

Сервер приложений (100+ пользователей)

Логическая схема ролей при использовании аппаратных серверов

Проектирование архитектуры

Для проектирования архитектуры с использованием аппаратных серверов рассмотрим два варианта работы: работа с использованием тонкого клиента через web, а также работа полноценного клиента приложения (толстого клиента) расположенного на удаленном рабочем столе. Ниже на рисунках показаны серверные роли из размещение на серверах и взаимодействие:

Схемы распределения серверных ролей при использовании ТК
Схемы распределения серверных ролей при использовании ТК
Схемы распределения серверных ролей при использовании RDS
Схемы распределения серверных ролей при использовании RDS

Рекомендуемые серверные ресурсы

Таблица 4. Рекомендуемые ресурсы при работе через Web

Сервер

Процессоры

ОЗУ

Быстрые диски

Обычные диски

50 пользователей

AS

Intel Xeon E-22XX

64 ГБ

400 ГБ SSD

2 ТБ HDD 

100 пользователей

AS

Intel Xeon Gold 61XX

64 ГБ

400 ГБ SSD

0

DB

Intel Xeon Silver 42XX

96 ГБ

800 ГБ NVMe

2 ТБ HDD

200 пользователей

AS

Intel Xeon Gold 61XX

64 ГБ

400 ГБ NVMe

0

AS2

Intel Xeon Gold 61XX

64 ГБ

400 ГБ NVMe

0

DB

2 x Intel Xeon Silver 42XX

128 ГБ

1,2 ТБ NVMe

4 ТБ HDD

Таблица 5. Рекомендуемые ресурсы при работе по RDP

Сервер

Процессоры

ОЗУ

Быстрые диски

Обычные диски

50 пользователей

AS

Intel Xeon Gold 52XX

64 ГБ

400 ГБ SSD

0

TS

Intel Xeon Bronze 32XX

72 ГБ

400 ГБ SSD

2 ТБ HDD

100 пользователей

AS

2 x Intel Xeon Gold 52XX

128 ГБ

800 ГБ NVMe

0

TS

2 x Intel Xeon Silver 42XX

192 ГБ

800 ГБ SSD

2 ТБ HDD

200 пользователей

AS

2 xIntel Xeon Gold 62XX

128 ГБ

400 ГБ NVMe

0

DB

2 xIntel Xeon Gold 61XX

128 ГБ

1,2 ТБ NVMe

0

TS

2 xIntel Xeon Silver 43XX

256 ГБ

800 ГБ NVMe

4 ТБ HDD

Логическая схема ролей при использовании облачных серверов

Аналогично рассмотрим архитектуру серверов, но уже при размещении в облаке:

Схемы распределения серверных ролей при использовании ТК
Схемы распределения серверных ролей при использовании ТК
Схемы распределения серверных ролей при использовании RDS
Схемы распределения серверных ролей при использовании RDS

Анализ ресурсов для реализации всех вариантов архитектуры, в разрезе использования RDP и Web-подключения

Теперь распишем ресурсы для каждого из серверов, указанных на схемах выше.

Таблица 6. Рекомендуемые ресурсы при работе по Web

Сервер

Процессоры

ОЗУ

Быстрые диски

Обычные диски

50 пользователей

AS

12 ядер 3,6 Ггц

56 Гб

SSD 300 Гб

SATA 900 ГБ

100 пользователей

AS

12 ядер 3,6 Ггц

48 Гб

SSD 100 Гб

0

DB

12 ядер 3,2 Ггц

64 Гб

NVMe 500 Гб

SATA 1600 ГБ

200 пользователей

AS

12 ядер 3,6 Ггц

48 Гб

NVMe 100 Гб

SATA 0 ГБ

AS2

12 ядер 3,6 Ггц

48 Гб

NVMe 100 Гб

SATA 0 ГБ

DB

12 ядер 3,2 Ггц

96 Гб

NVMe 800 Гб

SATA 2800 ГБ

Таблица 7. Рекомендуемые ресурсы при работе по RDP

Название сервера

Процессоры

Оперативная память

Быстрые диски

Обычные диски

50 пользователей

AS

8 ядер 3,6 Ггц

48 Гб

SSD 100 Гб

0

TS

12 ядер 2,8 Ггц

64 Гб

SSD 200 Гб

SATA 900 ГБ

100 пользователей

AS

8 ядер 3,6 Ггц

64 Гб

SSD 100 Гб

0

AS2

8 ядер 3,6 Ггц

64 Гб

SSD 100 Гб

0

DB

16 ядер 3,2 Ггц

72 Гб

NVMe 500 Гб

0

TS

16 ядер 2,8 Ггц

96 Гб

SSD 200 Гб

0

TS2

16 ядер 2,8 Ггц

96 Гб

SSD 200 Гб

0

FS

4 ядра 2,0 Ггц

16 Гб

0

SATA 1600 ГБ

AD

2 ядра 2,0 Ггц

4 Гб

0

SATA 60 ГБ

AD2

2 ядра 2,0 Ггц

4 Гб

0

SATA 60 ГБ

200 пользователей

AS

16 ядер 3,6 Ггц

96 Гб

NVMe 100 Гб

0

AS2

16 ядер 3,6 Ггц

96 Гб

NVMe 100 Гб

0

DB

24 ядра 3,2 Ггц

128 Гб

NVMe 800 Гб

0

DB2

24 ядра 3,2 Ггц

128 Гб

NVMe 800 Гб

0

TS

16 ядер 2,8 Ггц

128 Гб

SSD 200 Гб

0

TS2

16 ядер 2,8 Ггц

128 Гб

SSD 200 Гб

0

TS3

16 ядер 2,8 Ггц

128 Гб

SSD 200 Гб

0

FS

4 ядра 2,0 Ггц

16 Гб

0

SATA 2800 ГБ

AD

2 ядра 2,0 Ггц

4 Гб

0

SATA 60 ГБ

AD2

2 ядра 2,0 Ггц

4 Гб

0

SATA 60 ГБ

Вывод

Из информации, приведенной выше, можем сделать такие выводы:

  1. С точки зрения построения серверной инфраструктуры, значительно удобнее делать это на виртуальных машинах, поскольку можем выделить ресурсов ровно столько, сколько нужно сейчас и не нести лишние затраты на резерв. Также в этом случае есть возможность не совмещать роли, а делать их отдельно, что повышает стабильность всей инфраструктуры. 

  2. Отказоустойчивость также при использовании облака значительно выше, так как оно не подвержено сбоям, связанным с аппаратной частью и резервирование ролей выполняется значительно проще и дешевле.

  3. Производительность выше при использовании аппаратных серверов, это обусловлено потерями при использовании виртуализации. Аппаратный сервер всегда будет мощнее облака с аналогичными характеристиками.

  4. При наличии бюджета хорошим вариантом построения инфраструктуры является гибридное облако. В этом случае роли, не требующие высокой производительности, виртуализируются, а нагруженные серверные роли, такие как СУБД или сервер приложений, размещаются на аппаратных серверах и резервируются в облаке. 

Источник: https://habr.com/ru/articles/780946/


Интересные статьи

Интересные статьи

Леди и джентльмены!Эта история о том, как группа из пяти инженеров-универсалов в течение года преобразовалась и выросла в полномасштабный Security Operations Center из трёх специализированных линий.Ко...
Это глава 20 моей книги «API». v2 будет содержать три новых раздела: «Паттерны API», «HTTP API и REST», «SDK и UI‑библиотеки». Если эта работа была для вас полезна, пожалуйста, оце...
Привет! Мы работаем в Константе и занимаемся разработкой различных сервисов и систем, связанных с беттингом. Один из наших продуктов – платежный шлюз, он интегрируется с платежными системами и позволя...
Ценность данных часто описывают фразой «Кто владеет информацией, тот владеет миром». Небрежное обращение с данными открывает доступ злоумышленникам к вашим секретам и способно привести к потере де...
Автор материала, перевод которого мы публикуем, является одним из основателей проекта Webiny — бессерверной CMS, основанной на React, GraphQL и Node.js. Он говорит, что поддержка многоарендной бе...