VK Cloud

Назад к кейсам

«VK Работа» — как облачные технологии помогают выдерживать нагрузки в миллионы пользователей

Frame 15-2.png
vk-rabota_success-stories.svg
Компания

«VK Работа»

Отрасль

HR, Интернет-проект

Работодателей

700 000

Соискателей

4 700 000

  • cloud databases.svg
  • marketplace.svg
  • cloud storage.svg
  • cloud servers.svg

«VK Работа» — сервис для быстрого поиска работы и сотрудников. Когда продукт только начинал развиваться, нагрузка была вполне ожидаемая, а инфраструктура размещалась на железном оборудовании в дата-центре. Но известность сервиса росла, а число работодателей и соискателей перевалило за несколько миллионов. Платформе понадобилась инфраструктура, которую можно быстро масштабировать под растущую нагрузку.

На железном оборудовании это сделать сложно. О том, как «VK Работа» мигрировал на облачные технологии и построил легко масштабируемую систему, рассказал SRE Сергей Ягодкин.

«VK Работа» — постоянно пополняемая база вакансий и резюме

Сервис помогает соискателям находить работу, а компаниям — искать новых сотрудников. Специализация сервиса — линейный персонал, то есть рабочие специальности в сфере строительства, торговли, доставки, логистики, ресторанного бизнеса и других сфер.

В связи с этим можно выделить особенности бизнеса с точки зрения ИТ:

  • персональные данные пользователей;
  • сильная зависимость нагрузки и объема хранения данных от числа пользователей, спроса на сервис;
  • сезонные колебания.

К миграции в облако нас подтолкнули проблемы в дата-центре

Мы начали работать над сервисом в 2016 году, изначально у нас было несколько серверов в дата-центре в Санкт-Петербурге. Но уже летом 2017 года мы задумались о переезде в облако. Главная причина — ухудшение качества обслуживания в дата-центре, где размещалась наша инфраструктура. Часто пропадал интернет и отключались виртуальные машины. Со службой поддержки сложно было связаться, они медленно решали проблемы. Это вынудило нас искать другого подрядчика.

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

Платформа VK Cloud подошла по всем требованиям

У нас было несколько требований к новой площадке для инфраструктуры. VK Cloud смог удовлетворить их все.

  • Стабильность. После постоянных проблем в дата-центре мы хотели получить надежную отказоустойчивую систему. Мы знали, что VK Cloud давно на рынке и предоставляют качественные услуги.
  • Служба поддержки. После трудностей общения с предыдущим провайдером мы хотели получить удобные каналы связи с поддержкой, а также оперативные ответы. В службу поддержки VK Cloud можно написать email, на сайте или в телеграме, а также звонить. Специалисты всегда на связи и оперативно отвечают.
  • Совместимость с Amazon S3. Объектное хранилище в VK Cloud совместимо с S3, это позволило нам легко переместить наш контент в облако и быстро переключить сервисы на новый источник.
  • 152-ФЗ. Мы обрабатываем персональные данные клиентов, поэтому должны хранить их на серверах в пределах России.
  • Стоимость и валюта расчета. Мы сравнивали несколько облачных провайдеров, и VK Cloud оказался самым выгодным для нас. К тому же мы не хотим привязываться к курсу валют, поэтому нам важно, что оплата происходит в рублях.
  • Масштабирование. Наш сервис растет, а значит, растет нагрузка на инфраструктуру. Чем проще добавить новые мощности, тем лучше. В облаке VK Cloud мы можем легко масштабироваться и горизонтально, и вертикально.

Благодаря миграции мы выстроили новую архитектуру

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

Мы используем виртуальные машины, внутри которых работают практически все наши сервисы. БД для основных сервисов мы разворачиваем самостоятельно внутри этих виртуальных машин. Это позволяет настраивать БД так, как нам нужно, мы можем менять любые параметры. А для тестовых сред и второстепенных сервисов хорошо подходят управляемые БД (DBaaS), потому что к ним нет таких жестких требований, а заниматься их установкой и настройкой мы не хотим.

Яркий пример, когда Managed-решение оказалось незаменимо, — наш блог. Изначально он был на SQLite, но со временем потребовалась миграция на MySQL. У команды не было опыта работы с этой БД, и развертывание ее On-premise потребовало бы ее изучать, разбираться в настройках. Managed MySQL от VK Cloud помог нам, мы быстро развернули новую БД и начали мигрировать блог на нее.

Также мы активно используем S3-хранилище, потому что считаем его удобным. Не нужно задумываться о дисках, их объеме и расположении файлов. Достаточно просто положить файл в облако, получить на него ссылку и пользоваться. В S3 у нас хранится практически все: бэкапы, Docker Registry, хранилище больших файлов GitLab (LFS), статические файлы и тому подобное.

У VK Cloud есть магазин приложений. С его помощью развернули сервер GitLab, где хранятся исходные коды программ и собираются новые релизы

Главный результат — стабильность

Главное преимущество для нас — повышение стабильности работы, стало намного меньше глобальных проблем. Ни разу не было такого, чтобы все перестало работать. Иногда возникают локальные сложности, например с балансировщиком нагрузки или гипервизорами. Но это не критично и быстро решается.

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

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

Ждем Managed Kafka

Обязательно попробуем сервис Managed Kafka, когда VK Cloud выпустит его в публичный доступ. Мы используем очереди сообщений и хотим попробовать управляемый сервис, чтобы снять с себя поддержку обслуживания этой системы.

Основные результаты от сотрудничества с Мail.ru Cloud

  1. Получили стабильную инфраструктуру.
  2. Легко масштабируемая система, которая может выдержать любую нагрузку.
  3. Круглосуточная поддержка специалистов VK Cloud, которые помогают решать проблемы в реальном времени.

Попробуйте наши сервисы

После активации аккаунта мы свяжемся с вами и начислим 3 000 рублей на ваш счет VK Cloud, чтобы вы смогли протестировать сервис в течение 60 дней.

Или оставьте с индивидуальным расчетом

40+ готовых сервисов