Выбор инфраструктуры, как для самого ИТ-проекта, так и сопутствующего ПО для управления им, хранения кода и CI/CD-систем – один из важнейших моментов при запуске нового проекта. Владелец бизнеса обязательно задастся вопросом, как выбрать виртуальный сервер, подходящий под конкретные задачи его компании или проекта.
Услуга виртуального сервера (Virtual Private Server или Virtual Dedicated Server), в рамках которой провайдер предоставляет пользователю сервер с root-доступом и гарантированными ресурсами, такими как количество ядер CPU, объем оперативной памяти и дискового пространства, избавляет пользователя от необходимости самостоятельно обеспечивать отказоустойчивую инфраструктуру, а также закупать и обслуживать собственное железо. Как правило, в таком случае можно гибко масштабировать параметры сервера, постепенно добавляя необходимые мощности, когда растет нагрузка, и снижать их, когда нагрузка уменьшается.
Вот лишь несколько примеров, какую пользу можно дать проекту виртуальный сервер:
Абсолютный контроль. VPS подразумевает самостоятельное администрирование сервера. Пользователь получает полную свободу: настраивать сервер под свои задачи и подбирать наиболее эффективные конфигурации и ПО к вашему проекту;
Безопасность данных. Пользователь может настроить защиту в соответствии с внутренними стандартами и требованиями, включая файерволы, шифрование и резервное копирование;
Высокая производительность. Выбор на рынке серверов огромен, поэтому конфигурацию и программное обеспечение можно подобрать специально под задачи проекта, и при этом оплачивать полную стоимость железа и ПО не придется. Для разных задач существует широкое множество готовых решений, которые уже предварительно настроены и доступны к установке и развертыванию буквально в пару кликов. Большинство таких решений бесплатны;
Соблюдение нормативных требований. Сервер в нужной локации позволяет удовлетворить требования к нахождению под определенной юрисдикцией, соблюдать требования GDPR, HIPAA и прочих стандартов.
Универсальной формулы нет. Однако имеется ряд параметров конфигурации сервера, которые помогут принять решение.
При подборе CPU в контексте виртуальных серверов есть два основных параметра:
Тактовая частота. От этого параметра зависит скорость выполнения задачи одним потоком. На нее стоит обратить внимание, если важна высокая скорость обработки данных, или если задача не очень хорошо параллелизуется. Для таких случаев существуют конфигурации Hi-CPU с частотой 5 ГГц.
Количество ядер. Чем лучше параллелизуется задача, тем больше преимуществ от увеличения доступных ей потоков.
Чтобы правильно подобрать процессор, рекомендуем определить задачи сервера. Например, для баз данных или AI/ML можно выбрать процессор с 8 и более ядрами, поддержкой AVX и высокой частотой (3,5 ГГц и выше). Для большинства стандартных задач, будь то размещение сайтов, Телеграм-ботов или простых лендингов, будет достаточно 1–2 ядер, в то время как для более требовательных задач (например, стриминга или обработки видео) понадобится 4–6.
Когда речь идет об оперативной памяти (RAM), важно учитывать масштаб проекта и тип задач, которые будут выполняться.
Большая часть виртуальных серверов предоставляется на SSD- и NVMe-дисках. SSD-диски обычно выбирают для проектов, где требуется высокая производительность при доступе к данным (веб-серверов, баз данных и приложений с умеренной нагрузкой), тогда как NVMe-диски используются в задачах с экстремально высокими требованиями к скорости (аналитика больших данных, высоконагруженные сервисы или работа с виртуализацией и контейнерами). Часто при необходимости (например, увеличении числа пользователей или данных) дисковое пространство на виртуальном сервере можно легко увеличить без потери данных.
Выбор серверной ОС должен быть продиктован используемым ПО, стеком технологий и задачами проекта. К примеру, Linux, благодаря своей универсальности, производительности, безопасности и низкой стоимости (большинство дистрибутивов бесплатны) подходит для большинства задач. Windows Server выбирают, если проект предполагает использование технологий Microsoft (.NET, SQL Server, IIS).
Дистрибутивы Linux часто выбирают для веб-серверов (Apache/Nginx + PHP/MySQL), высоконагруженных веб-приложений (Node.js, Python, Java) и медиа-стриминга (Video Streaming, Audio). Windows Server 2022 / 2019 подойдет, если требуется поддержка Microsoft-стека и Windows-приложений (MSSQL, SharePoint), а также если команда работает в экосистеме Microsoft (.NET Core, PowerShell).
Этот параметр напрямую связан с возможностями вендора. Поэтому при выборе поставщика важно учесть, как именно он решает вопросы, связанные с безопасностью инфраструктуры. Стоит обратить внимание на то, каковы параметры гарантированного времени бесперебойной работы сервера (Uptime), предоставляет ли поставщик возможность резервного копирования, есть ли защита от атак и т.д.
Каждый предприниматель заинтересован в том, чтобы сервер справлялся с увеличивающейся нагрузкой при расширении бизнес-проекта, в том числе и с неожиданными нагрузками. Поэтому необходимо обращать внимание на наличие возможности удобного и быстрого масштабирования, гибкого увеличения ресурсов (CPU, RAM, дисковое пространство) без простоя сервисов.
Сервер в нужной локации – там, где находятся пользователи - позволяет:
ускорить работу сайта или приложения за счет увеличения скорости ответа сервера и близости к целевой аудитории;
улучшить показатели SEO благодаря сокращению времени загрузки сайта, что напрямую влияет на ранжирование в поисковых системах;
удовлетворить требования к нахождению под определенной юрисдикцией. Например, если проект ориентирован на аудиторию в Европе, сервер в этой локации даст возможность достигнуть соответствия законодательству ЕС о защите персональных данных (GDPR) и избежать штрафов.
Конфигурация сервера подобрана, требования ПО изучены, но владелец бизнеса все еще решает, на каком варианте остановиться? На помощь придут бенчмарки. Можно использовать синтетические тесты:
для CPU: Geekbench, PassMark;
для GPU: 3DMark, Furmark;
диск: fio, iozone, crystaldiskmark;
сеть: iperf.
Публичные результаты тестов можно найти на таких площадках, как PassMark и UserBenchmark.
При выборе сервера по производительности важно учитывать задачи проекта. Если для простого лендинга может хватить 1–2 CPU и 2–4 ГБ RAM, поскольку важен акцент на стабильности, а не мощности, то высоконагруженные проекты (AI, Big Data, стриминг) могут требовать 16+ CPU, 32+ ГБ RAM, GPU-ускорения и распределенной нагрузки между серверами.
На рис.1 представлены результаты бенчмарк-тестов процессоров серии EPYC. Как можно увидеть, новые процессоры при работе с nginx показывают примерно равную производительность при одинаковом количестве ядер, но значительно вырываются вперед по мере увеличения количества ядер.
Если разработка сайта ведется через CMS, в них часто встроены собственные наборы тестов и бенчмарков для оценки производительности сервера. Один из известных примеров – встроенная в CMS Bitrix проверка сервера. Она оценивает ключевые параметры, необходимые для быстрой работы сайта на Bitrix.
Процесс выбора сервера непрост, но главное – не забывать и учитывать особенности, масштаб и цели проекта.
Обсудить