Привет, Хабр! Этот сумасшедший год подходит к концу, а новый – уже совсем близко. Поэтому поздравляем вас с наступающим новым годом. В этой статье подводим итоги, делимся статистикой популярности наших локаций и вспоминаем главные фичи и значимые события этого года.  Мы расскажем, какие были победы и сложности при запуске новых фичей, зачем мы переходим к микросервисам, как отделяли фронт от монолита и как в целом этот год повлиял на нас. В общем, немного похвалим себя и поделимся тем, что ждет дальше.  Если вы категорически против рекламной информации, вам эта статья не зайдет, здесь мы рассказываем только о себе и своих достижениях за год.   Мы сейчас на территории Хабр, поэтому и начнем с того, что мы-таки запустили свой блог. Он существует совсем недавно, но мы уже поговорили о будущем облачного стриминга,  разобрали нашумевшие ошибки в программах, рассказали об архитектуре микросервисов, сравнили инструменты мониторинга и сделали обзоры на новое оборудование и дата-центр в Канаде. Что не может не радовать, за 4 месяца наши статьи набрали около 130 тысяч просмотров.    Начало года. Все идет по плану.  Мы запустили сетевые шлюзы, или по-простому эджи, настройка которых теперь доступна для vStack серверов. При создании шлюза вы можете выбрать изолированные сети, которые будут к нему подключены (максимальное количество – 3). Сетевые шлюзы поддерживают создание правил NAT и Firewall на интерфейсе, который подключен ко внешней сети.  «Во время тестирования нам необходимо было проверить, что все протоколы, которые представлены у нас в панели работают корректно. Нужно было создать тестовые условия, чтобы пропустить трафик, подходящий по этим правилам и убедиться, что они работают корректно» – Анастасия Трофимова, глава разработки B2C сегмента.  Управление правилами NAT и Firewall было также добавлено в наш Public API. У нас была тактика и мы ее придерживались (до весны).  Новая фича Cloud VPN появилась внепланово. Многим нашим пользователям, уехавшим за границу, необходимо было получить доступ к российским сервисам. Поэтому мы решили запустить возможность развертывать настроенный VPN-сервер. Пользователи могут получить безопасный доступ к интернет-ресурсам на скорости до 50 Мбит/с.  Вначале услуга была реализована на основе ПО SoftEther, но оно использует более устаревшие протоколы, которые не работают с обновленными версиями ОС Windows 22 и Android 13. Это вызывало у многих пользователей проблемы, поэтому позже мы реализовали новую версию на базе strongSwan. ПО поддерживает современный протокол IKEv2, который по умолчанию используется в новых версиях Android, Windows, macOS и iOS.  Также по запросу мы реализовали возможность добавлять неограниченное количество пользователей к VPN-серверу. Если раньше это можно было сделать только через клиент SoftEther, который нужно было отдельно устанавливать, то сейчас это доступно прямо в панели управления для обоих ПО. Возвращаемся к плану.  Одним из главных событий этого года стала реализация возможности создавать VM с предустановленными приложениями 1-Click Apps. У пользователей были частые запросы на то, чтобы поставить такие базовые вещи, как Docker. Поэтому было решено реализовать установку популярных приложений: WordPress, Docker, PostgreSQL, PHP, Apache, NGINX, LAMP, LEMP. Дополнительно они не биллингуются, поэтому доплачивать за них не нужно. Установка приложений реализована с помощью передачи bash-скриптов в ОС сервера. Как раз одним из сложных этапов в разработке было написать первый скрипт. Чтобы сразу выявить все возможные препятствия, для начала был выбран объемный скрипт WordPress.  Наши специалисты проверили работоспособность 8 приложений на каждой из 5 доступных ОС. Во время тестирования возникали проблемы с совместимостью скриптов приложений с ОС. Для разных версий шаблонов скрипты отличались, например для Ubuntu 18 и для Ubuntu 20. Но в целом все прошло гладко и сейчас услуга пользуется популярностью. Для нас это стоило немного, но зато пользователи могут получить веб-сервер или сервер с базой данных за несколько минут.  Большим достижением для нас в этом году стало подключение нового дата-центра в Канаде. Теперь можно создавать виртуальные машины в новой локации, которая сейчас пользуется большой популярностью. В первую неделю почти все IP адреса были заняты.  Канада вышла в топ-3 по локациям на третье место – 18% VM. Она заняла место США и составила конкуренцию лидерам – Нидерландам и России. Нидерланды сейчас занимают 41% от всех VM, а Россия – 22,5% VM. В обзоре «Как мы подключали и тестировали дата-центр в Канаде» мы подробно рассказали о том, как настраивали оборудование «удаленными руками» и объяснили, как тестировали сетевую связность, пропускную способность, производительность дисков и отказоустойчивость кластера.  В московском дата-центре DataSpace наши инженеры провели эксперимент – поставили и протестировали серверы от китайского поставщика RACK-серверов Gooxi. В статье «Обзор серверов Gooxi SL101. Опыт установки и первые впечатления» мы рассказали, как прошло монтирование оборудования, какие были сложности с подключением комплектующих и настройкой систем мониторинга, и что было с совместимостью с VMware.  Фича с пылу с жару, выпущенная несколько дней назад – это правила Affinity и Anti-affinity. Они позволяют размещать группу VM на одном или разных пулах кластера. Если виртуальные машины созданы по Affinity, то скорость взаимодействия между машинами увеличивается и сетевая связность становится максимальной. Однако, если пул выйдет из строя, то все машины станут временно недоступны до окончания технических работ.   Правило Anti-Affinity предотвращает недоступность VM, если пул выйдет из строя по каким-то причинам. Пользователь может продолжать работу с оставшимися пулами. Настроить правила можно в панели управления при создании сервера. В этом году мы подключили целых два новых способа оплаты: по QR-коду и с помощью криптовалюты Everscale. С ухода многих платежных систем оплата по QR-коду приобрела популярность, поэтому мы внедрили оплату услуг через систему быстрых платежей (СБП). Интеграция с СБП реализована через платежный шлюз IT PAY, позволяющий принимать платежи с помощью графического кода. Возможность пополнения счета через СБП доступна в десктопной и мобильной версиях панели управления Serverspace. Получается не надо вводить каждый раз данные карты на сайт и переживать за безопасность. Нужно просто отсканировать QR-код, перейти внутри своего банковского приложения в раздел оплаты и нажать оплатить.  После февраля, перед нашими зарубежными пользователями встал вопрос оплаты, так как иностранные карты наш платежный шлюз перестал принимать. Поэтому в качестве ниточки связи, мы подключили оплату через криптовалюту Everscale.  Еще одним нововведением в панели стала вкладка «Тарифы». От пользователей было много вопросов, как именно формируется цена на услуги. Мы решили сделать более прозрачный биллинг и вынесли детализацию в отдельную вкладку «Тарифы». Это удобно как для нашего внутреннего использования, так и для клиентов –  они всегда могут узнать, сколько и за что они платят.  Мы реализовали отделение кодовой базы frontend от backend. Это еще один этап перехода к гибридной архитектуре монолита и микросервисов. Теперь код frontend вынесен в отдельный репозиторий, что значительно упрощает архитектуру сервиса. В дальнейшем мы можем деплоить задачи, связанные с UI, отдельно от задач backend. Это существенно ускорит процесс деплоя в продакшн. «Если раньше у нас был большой кусок монолита и все фронтовые задачи входили в монолит, то есть даже опечатку приходилось исправлять полным деплоем. Теперь мы можем катить фронтовые задачи большой пачкой, и это собирается за 3 минуты» – Алиса Кичик, QA-инженер. Многие компании пытаются уйти от монолита к микросервисам, но это не получается на 100%. После релиза, например, работает гибридная архитектура. И мы стараемся уходить к тому, чтобы каждую фичу создавать отдельно друг от друга. Все новые крупные фичи мы разрабатываем отдельно, чтобы их можно было отдельно деплоить. Подробнее о микросервисах можно узнать в статьях «Микросервисная архитектура, ее паттерны проектирования и особенности» и «Стратегии тестирования микросервисов».  Наши ребята не только работали, но и учились. В этом году прошло два курса для нашей команды разработки. Первый был про администрирование Linux и основы использования ОС. Так как мы недавно выпустили услугу Managed Kubernetes, второй курс помог глубже погрузиться в принципы работы с системой управления контейнеров. В этом году мы столкнулись со многими сложностями: запреты с оплатами, уход зарубежных сервисов, изменение планов, но мы справились. Мы откорректировали планы, заменили рабочие сервисы, которыми пользовались ранее, например Slack, и добавили новые способы оплаты для связи с нашими пользователями. Год был насыщенный новыми фичами, но мы не останавливаемся на этом. В следующем году мы будем дорабатывать существующие услуги и выкатывать новые. А какие ждут вас в ближайшее время, расскажем в планах.  Из масштабных обновлений в ближайшей перспективе, мы выпустим услугу CDN и сделаем редизайн панели. Также доработаем услугу Managed Kubernetes, добавим Persistence Volumes, Container Registry, Мониторинг и Dashboard. Кроме того будем продолжать добавлять новые фичи и повышать производительность остальных услуг. За апдейтами можете следить в ченджлоге, рассылках для пользователей и новостях. Вооот такие дела. Мы перечислили самые значимые события этого года. Будем рады ваше поддержке. Дальше – больше.