«Взял, пнул — и полетело». Тестируем voblaka на магазине носков

Партнёрский материал
17 июня 2019, 08:56
Что такое партнёрский материал?

Уже почти полгода пользователям доступен сервис voblaka от дата-центра velcom, позволяющий размещать информационные системы на виртуальных машинах. Протестировать отечественное облако dev.by предложил опытному администратору компьютерных систем и сетей, который в своей работе использует заморские Google Cloud Platform и Amazon Web Services  —  Senior Lead Service Assurance в Tata Communications (Канада) Егору Медведеву.

«Можно творить всё, что угодно»

Под капотом voblaka — брендированное решение швейцарской компании Exoscale, принадлежащей австрийской телекоммуникационной компании A1. Решение основано на модифицированном Apache CloudStack и предоставляет полный джентльменский набор сервисов: виртуальные машины на основе KVM с набором готовых образов операционных систем (Ubuntu, Debian, CoreOS, OpenBSD, RedHat/CentOS/Fedora включая Atomic, Windows Server 2016 и 2012 R2, pfSense), фильтрацию сетевых пакетов на уровне инфраструктуры, виртуальную маршрутизацию, виртуальные частные сети, автоматическое добавление SSH-ключей и группы правил для размещения виртуальных машин на физических хостах (anti-affinity).

voblaka делает ставку на удобный и понятный интерфейс пользователя и возможность без глубокой технической экспертизы создать/запустить/управлять виртуальными машинами, (что подойдёт небольшим компаниям с ИТ-администратором на аутсорсе), а также на поддержку всех новых технологий, интеграцию с GitHub и дальнейшее развитие поддержки OpenSource решений (это должно оценить в первую очередь dev-сообщество, в том числе небольшие фриланс-команды).

Инструкции для Terraform

Инструкции для Terraform

Ничего волшебного в решении нет — просто взял, пнул и полетело. Как оно себя покажет под нагрузкой — вопрос отдельный, и без нагрузки на него не ответишь. Но это инженерная проблема, а значит она решается. Специальной интеграции с популярными системами контейнеризации и управления контейнерами нет, а сам по себе сервис в хорошем смысле примитивен, поэтому можно творить всё, что угодно — и докер запускать, и кубернетес разворачивать, и код с гитхаба копировать. Ограничений, кроме тех, что накладывает VM, нет. То же касается и сети. Виртуальная машина получает публичный IPv4 адрес на eth0 и дальше всё зависит только от фантазии пользователя.

Запущенный в облаке пример магазина носков с микросервисами

Запущенный в облаке пример магазина носков с микросервисами

«Подверг магазин массированному наплыву покупателей-роботов»

Для теста я решил развернуть Kubernetes-кластер из четырёх нод (1 master + 3 workers)  и запустить на нём известное демо микросервисной архитектуры Sock Shop. Описывать в сто первый раз параметры запуска kubeadm нет никакого смысла, замечу только, что никаких проблем ни на этапе развертывания кластера, ни при тестировании кластера на конформность, ни при деплое Sock Shop не было. Всё прошло гладко, как и ожидалось.

Результат работы Terraform

Результат работы Terraform

Напоследок я подверг магазин массированному наплыву покупателей-роботов, осаждавших его с восточного побережья Северной Америки в течение часа. Вот что получилось:

** SIEGE 4.0.4
** Preparing 512 concurrent users for battle.
The server is now under siege...
Lifting the server siege...
Transactions: 4150367 hits
Transactions: 4150367 hits
Availability: 100.00 %
Elapsed time: 3599.91 secs
Data transferred: 116055.03 MB
Response time: 0.44 secs
Transaction rate: 1152.91 trans/sec
Throughput: 32.24 MB/sec
Concurrency: 511.85
Successful transactions: 4150367
Failed transactions: 0
Longest transaction: 4.34
Shortest transaction: 0.08

Что могло бы быть лучше:

  • Не хватает кнопки «Login with GitHub/Google/etc». Но это однозначно вопрос времени.
  • Нет удобных готовых инструментов, как у AWS и GCP. Это понятно, так как проект только выходит из стадии тестирования. Тем не менее, сложно назвать это серьёзным недостатком. Компания Exoscale поддерживает Terraform provider plugin, совместим с Terraform 0.10 и выше), который замечательно работает с облаком без дополнительных модификаций. Нужно только указать правильный API endpoint, ключи и зону (вся информация доступна в портале). Это на 99% избавляет от необходимости в специализированных CLI-утилитах и сводит всю проблему управления облачной инфраструктурой к написанию инструкций для Terraform, который в свою очередь прекрасно документирован, оттестирован в самых разнообразных ситуациях и обладает огромным комьюнити.
  • Сервис доступен только по протоколу IPv4, поддержки IPv6 нет.
  • Серверы физически размещены в Беларуси и подчиняются белорусскому законодательству, возможно это не самый оптимальный выбор для тех, чья целевая аудитория находится за границами республики.
  • На данный момент доступна только одна зона (BY-MSQ-1), а значит одна серьёзная авария в ЦОД может вывести из строя весь сервис целиком и к этому нужно быть готовым. Наверное, это единственный серьёзный недостаток.
Интерфейс с автоматически созданными серверами

Интерфейс с автоматически созданными серверами

Что и так хорошо:

  • Облако построено на стандартных технологиях. Есть доступ к API для управления инфраструктурой и поддерживается cloud-init.
  • Серверы физически размещены в Беларуси, и это большой плюс для тех, кто хранит и обрабатывает персональные данные белорусских граждан, и в целом для тех, кто работает на внутренний рынок (минимальные круговые задержки (RTT), стабильная скорость доступа, не зависящая от нагрузки на внешние каналы).
  • Публичные IPv4 адреса виртуальных машин заданы по умолчанию, чего не предоставляет ни AWS, ни GCP. Это избавляет от целого класса ненужных проблем.
  • Местная служба поддержки значительно упрощает коммуникацию. Не стоит это недооценивать.

Можно сказать, что voblaka — очень скучное облако: за время тестирования не было никаких сюрпризов. Всё просто работало, что и нужно от хорошей инфраструктуры. Сервис годный, я бы пользовался — просто нет такой необходимости.

​"БУДЕМ ДАЛЬШЕ УЛУЧШАТЬ И РАЗВИВАТЬ СЕРВИС»

Планируя запуск данного сервиса на рынке Беларуси, мы преследовали несколько важных целей. С одной стороны, нам было важно запустить гибкую по функционалу платформу для разработчиков ПО, которая будет иметь хорошую техническую документацию и интеграцию с GitHub. C другой, мы хотели предоставить небольшим компаниям возможность использовать облачный сервис, позволяющий создавать и запускать виртуальные машины в 2-3 клика. Стоит ещё раз отметить, что данный сервис размещён на мощностях собственного дата-центра, прошедшего сертификацию Uptime Institute Tier III Constructed Facility.

Независимое тестирование voblaka показало, что запущенный продукт хорошо себя зарекомендовал в профессиональном сообществе и справился с поставленными задачами. Однако, мы не собираемся останавливаться на достигнутом и будем дальше улучшать и развивать сервис. Уже в ближайшие дни мы анонсируем запуск объектного хранилища, а позже сообщим и о других нововведениях.

​Больше информации — на странице сервиса.

Что такое партнёрский материал?
Обсуждение