Yandex Cloud, VK Cloud, Selectel: практическое сравнение для корпоративных задач
Сравниваем три отечественных облака по виртуальным машинам, managed PostgreSQL, S3 и Kubernetes в реальном проекте клиента. Цены, SLA и реальная доступность - выводы неочевидные.
Российские облака в 2023: Yandex Cloud, VK Cloud, Selectel наращивают сервисы для корпоративных клиентов
В конце прошлого года один из наших клиентов - производственная компания, не КИИ, но с требованием хранить данные в России - поставил задачу: перейти с зарубежного облака на отечественное. Не «оценить возможность», а реально перенести: несколько десятков VM, managed PostgreSQL, S3-совместимое хранилище и один Kubernetes-кластер для внутренней платформы. Сроки - I квартал 2023. Бюджет - примерно понятен, но хотелось обоснования выбора, а не просто «мы выбрали Yandex потому что знаем».
Провели сравнительный пилот на трёх площадках: Yandex Cloud, VK Cloud и Selectel. Ниже - что реально обнаружили, без маркетинговых таблиц от вендоров.
Виртуальные машины
Здесь все трое более-менее выровнялись по базовым параметрам. Intel Cascade Lake или Zen 2, NVMe-диски, сетевые интерфейсы с нормальной пропускной способностью - это уже не вопрос.
Разница начинается в деталях. Yandex Cloud выигрывает по богатству типов инстансов: выделенные хосты, GPU-инстансы, прерываемые VM - набор шире. VK Cloud предлагает схожие типы, но у них на практике оказалось проще работать с нестандартными конфигурациями через API - несколько скриптов которые мы гоняли под клиента, отработали без неожиданностей. Selectel по VM самый простой: меньше опций, зато хорошо задокументированные и предсказуемые тарифы. Для сценариев «нужны стандартные compute-ресурсы без экзотики» это не минус.
Цены - Selectel исторически позиционируется как более экономичный вариант, и на VM это подтверждается. Yandex Cloud дороже примерно на 20-30% в типовых конфигурациях, VK Cloud - где-то посередине. Но это цифры без учёта скидок по committed use и enterprise-контрактов, которые у всех трёх есть и сильно меняют картину.
Managed PostgreSQL
Вот тут разброс серьёзнее. Клиенту нужен production PostgreSQL с автоматическими бэкапами, point-in-time recovery, репликой в другой зоне и каким-то monitoring out-of-box.
Yandex Cloud Managed PostgreSQL - самый зрелый из трёх. Версии PostgreSQL актуальные (15 поддерживается), PITR работает, failover на реплику автоматический, метрики идут в Yandex Monitoring. Мы уже переводили клиентов на PostgreSQL 15 и знаем на что смотреть - здесь по поведению репликации и WAL-параметрам претензий не было.
VK Cloud managed PostgreSQL - работает, но документация местами отстаёт от реальности. В процессе пилота наткнулись на параметр, который в документации описан одним образом, а в реальном поведении кластера вёл себя иначе. Обратились в поддержку - ответили в тот же день, объяснили. Но для production-среды это звоночек: надо либо перепроверять, либо закладывать время на выяснение.
Selectel - managed PostgreSQL у них появился не так давно и пока проще функционально. PITR есть, репликация есть, но не все управляющие параметры доступны через API. Для клиентов без специфических требований к настройке сервера - подойдёт, для тех кто привык крутить shared_buffers и work_mem через API/UI - придётся мириться с ограничениями.
S3-совместимое хранилище
Здесь Selectel неожиданно выступил лучше остальных - для нас это был сюрприз. Object Storage у них работает стабильно, API совместимость с AWS S3 хорошая, ценообразование прозрачное. Мы гоняли клиентский скрипт миграции на boto3 без переписывания - только поменяли endpoint и credentials, остальное заработало.
У Yandex Cloud Object Storage похожая история - S3-совместимость на уровне, Object Lock есть, мультирегион доступен. Ценообразование чуть сложнее: отдельно хранение, отдельно запросы, отдельно исходящий трафик внутри YC и наружу. Считать надо внимательно.
VK Cloud S3 - без замечаний, работает, но по набору фич чуть скромнее. Для базового use case хранить и отдавать - ок.
Kubernetes
Yandex Managed Service for Kubernetes - наиболее production-ready из трёх. Актуальные версии k8s, нормальный node group autoscaler, интеграция с Yandex IAM, логи в Yandex Logging. Мы параллельно смотрели Deckhouse как платформу - managed k8s в облаке и self-managed на Deckhouse это разные ответы на разные вопросы. Если не хочется думать про control plane - managed k8s в YC оправдывает ожидания.
VK Cloud Kubernetes - в пилоте работал нормально, но нас немного смутило время реакции control plane при масштабировании: под нагрузкой паузы были заметнее чем в YC. Не критично, но фиксируем.
Selectel managed Kubernetes - честно говоря, в нашем пилоте этот вариант мы проверяли меньше: клиент к этому моменту уже склонялся к YC по Kubernetes, и глубокого теста Selectel здесь не было. По документации и имеющимся отзывам - подходит для менее нагруженных сценариев.
SLA и поддержка - реальность vs бумага
У всех трёх задекларированный SLA на compute - 99.95% и выше. Это стандартная цифра для облаков с несколькими зонами доступности. Проверить реальную историю инцидентов можно через status-страницы: у Yandex Cloud она подробная и публичная, у VK Cloud - есть, у Selectel - тоже есть, хотя менее детализированная.
По качеству техподдержки: Yandex Cloud при enterprise-контракте отвечает быстро и по делу - у нас был реальный кейс с инцидентом во время пилота, среагировали нормально. VK Cloud - ответили в тот же день как писал выше. Selectel - поддержка отзывчивая, но по сложным техническим вопросам иногда требует эскалации.
Где мы в итоге
Для этого конкретного клиента решение получилось гибридное: Kubernetes и managed PostgreSQL - в Yandex Cloud, S3-хранилище - в Selectel (дешевле и достаточно для их объёмов). VK Cloud попал в шорт-лист для следующего проекта, где важна специфическая интеграция с их экосистемой.
Вывод который мы сделали: нет смысла искать «лучшее отечественное облако» как таковое. Разные сервисы у разных провайдеров находятся на разном уровне зрелости, и оптимальный выбор зависит от конкретного сервиса и требований. Мультиклауд внутри отечественного рынка - вполне рабочая стратегия, если не пугает операционная сложность.
Вся эта история - часть managed-сопровождения, где выбор инфраструктурной площадки входит в нашу зону ответственности, а не перекладывается на клиента.