Уже почти полгода пользователям доступен сервис 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-сообщество, в том числе небольшие фриланс-команды).
Ничего волшебного в решении нет — просто взял, пнул и полетело. Как оно себя покажет под нагрузкой — вопрос отдельный, и без нагрузки на него не ответишь. Но это инженерная проблема, а значит она решается. Специальной интеграции с популярными системами контейнеризации и управления контейнерами нет, а сам по себе сервис в хорошем смысле примитивен, поэтому можно творить всё, что угодно — и докер запускать, и кубернетес разворачивать, и код с гитхаба копировать. Ограничений, кроме тех, что накладывает VM, нет. То же касается и сети. Виртуальная машина получает публичный IPv4 адрес на eth0 и дальше всё зависит только от фантазии пользователя.
«Подверг магазин массированному наплыву покупателей-роботов»
Для теста я решил развернуть Kubernetes-кластер из четырёх нод (1 master + 3 workers) и запустить на нём известное демо микросервисной архитектуры Sock Shop. Описывать в сто первый раз параметры запуска kubeadm нет никакого смысла, замечу только, что никаких проблем ни на этапе развертывания кластера, ни при тестировании кластера на конформность, ни при деплое Sock Shop не было. Всё прошло гладко, как и ожидалось.
Напоследок я подверг магазин массированному наплыву покупателей-роботов, осаждавших его с восточного побережья Северной Америки в течение часа. Вот что получилось:
Что могло бы быть лучше:
- Не хватает кнопки «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 — очень скучное облако: за время тестирования не было никаких сюрпризов. Всё просто работало, что и нужно от хорошей инфраструктуры. Сервис годный, я бы пользовался — просто нет такой необходимости.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.