Особенности Yandex Cloud в Казахстане

В 2015-2016 году я руководил проектом адаптации небольшого SaaS (разрабатываемого до этого ещё лет 5) к модели Managed On-premise (и заодно White Label), когда необходимо было развернуть несколько выделенных копий сервиса (помимо тестовых окружений) для крупных клиентов. Делом это оказалось небыстрым и кропотливым, и вылилось в длинную цепочку взаимосвязанных планов, доработок и релизов. Пришлось решать вопросы развёртывания на разных площадках со своими техническими особенностями, менять подход к циклам релизов (синхронная выкатка затруднена), добавлять фиче-флаги, новые параметры, заводить независимые аккаунты используемых коммерческих сервисов (типа рассылок), менять принципы тарификации, убирать из кода массу вшитых вещей типа доменов, брэндирования, некоторых текстов, учиться эффективно собирать и выкатывать брэндированные версии мобильных приложений. Основательно в этом помогло то, что мы использовали SaltStack (по нему я веду отдельный блог). Короче ужас-ужас.

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

Выбранная стратегия (отдельные домены, инфраструктура, юрлица, и т.п.) вполне понятна и разумна в текущих условиях, когда запад ведёт с Россией гибридную войну, а страны мира резко озадачились вопросами суверенитета (цифрового, культурного, информационного, технологического, военного, экономического и политического) и контролем цепочек поставок. Казахстан и его Минцифры здесь не исключение.

И всё-же я не рад, что всё это обособлено в отдельные структуры. Для Яндекса это вероятно выльется в дополнительные накладные расходы (организационные, технические, финансовые) и снизит скорость развития сервисов. AWS в силу большей централизации таких потерь не имеет, а следовательно эффективнее. Для пользователей облака это выльется в то, что в единой консоли Yandex Cloud нельзя просто взять и выбрать зону kz1-a или ru-central1-a и получить вычислительные ресурсы в нужном регионе, оплачивая их в своей валюте.

Видимо по этим же причинам, на момент написания данной статьи, в Казахстане пока не доступны ключевые бессерверные компоненты:

Из доступных бессерверных компонентов можно перечислить следующие:

Вот табличка (в разрезе бессерверных компонентов, и скорее всего не исчерпывающая) со списком технических различий которые я обнаружил:

ПараметрРоссияКазахстан
Консольhttps://console.yandex.cloudhttps://kz.console.yandex.cloud
Организацияhttps://org.yandex.cloudhttps://kz.org.yandex.cloud
Биллингhttps://billing.yandex.cloud-
Мониторингhttps://monitoring.yandex.cloudhttps://kz.monitoring.yandex.cloud
Monitoring APIhttps://monitoring.api.cloud.yandex.nethttps://monitoring.api.yandexcloud.kz
Дата-центрыВладимир, Москва, РязаньКараганда
Зоны доступностиru-central1-a, ru-central1-b, ru-central1-dkz1-a
Пример подсети158.160.0.0/16 (Yandex.Cloud LLC LIR)5.35.104.0/21 (Yandex.Cloud Kazakhstan LLP LIR)
YC CLI Endpointapi.cloud.yandex.net:443api.yandexcloud.kz:443
Terraform Endpointapi.cloud.yandex.net:443api.yandexcloud.kz:443
S3 (Cloud Storage) Endpointstorage.yandexcloud.netstorage.yandexcloud.kz
S3 Website Domain*.website.yandexcloud.net*.website.yandexcloud.kz
Certificate Manager CNAME*.cm.yandexcloud.net*.cm.yacloudkz.tech
DNS серверыns1.yandexcloud.net, ns2.yandexcloud.netns1.yandexcloud.kz, ns2.yandexcloud.kz
Cloud DNS APIhttps://dns.api.cloud.yandex.nethttps://dns.api.yandexcloud.kz
Container Registrycr.yandexcr.yandexcloud.kz
Message Queue Endpointhttps://message-queue.api.cloud.yandex.nethttps://ymq.ydb.yacloudkz.tech
KMS Crypto APIhttps://kms.yandexhttps://dpl.kms.api.yandexcloud.kz
KMS Key APIhttps://kms.api.cloud.yandex.nethttps://cpl.kms.api.yandexcloud.kz
Data Transfer APIhttps://datatransfer.api.cloud.yandex.nethttps://datatransfer.api.yandexcloud.kz
Cloud Logging APIhttps://logging.api.cloud.yandex.nethttps://logging.api.yandexcloud.kz
Audit Trails APIhttps://audit-trails.api.cloud.yandex.nethttps://audit-trails.api.yandexcloud.kz
Lockbox API Endpointhttps://lockbox.api.cloud.yandex.nethttps://cpl.lockbox.api.yandexcloud.kz
API Gateway Domain*.apigw.yandexcloud.net-
Cloud Functionshttps://functions.yandexcloud.net-
Serverless Containers*.containers.yandexcloud.net-
YDB gRPC Endpointydb.serverless.yandexcloud.net:2135-
YDB Document API Endpointdocapi.serverless.yandexcloud.net-
YDB Kinesis API Endpointyds.serverless.yandexcloud.net-
YDB Kafka API Endpointydb-01.serverless.yandexcloud.net:9093-
CDN API Endpointhttps://cdn.api.cloud.yandex.net-
CDN CNAME*.edgecdn.ru-
SpeechKit STT APIstt.api.cloud.yandex.net:443-
SpeechKit TTS APItts.api.cloud.yandex.net:443-
Smart Captchahttps://smartcaptcha.yandexcloud.net-
Postbox API/SMTPhttps://postbox.cloud.yandex.net-
Yandex Query APIhttps://api.yandex-query.cloud.yandex.net-
IoT Data API Endpointhttps://iot-data.api.cloud.yandex.net-
IoT Device API Endpointhttps://iot-devices.api.cloud.yandex.net-
IoT Broker API Endpointhttps://iot-broker.api.cloud.yandex.net-

Уже по количеству разных доменов и выделенному LIR можно догадаться о масштабах проекта суверенного облака в Казахстане. Вообще свой TLD yandex это довольно престижно, было бы неимоверно круто если бы Яндекс консолидировал под ним все ресурсы.

Интересно, а были ли в Яндексе дебаты по поводу основного домена облака - yandex.cloud или cloud.yandex?

В заключение, небольшие пояснения по табличке:

Если вы хотите обеспечить возможность деплоя копии вашего проекта в Казахстане, вам потребуется учесть все эти параметры в Terraform коде (а без Terraform обеспечить идентичность окружений довольно проблематично и трудоёмко). Также рекомендую к зазубриванию принципы The Twelve-Factor App. Мне в своё время они сильно помогли в реализации проекта упомянутого в начале статьи.

Бесплатный тестовый доступ на два месяца к Yandex Cloud в РК можно получить тут.

16 мая 2024 года состоялось мероприятие Yandex Cloud Kazakhstan Deep Dive, где раскрыты некоторые подробности запуска Яндекс Облака в Казахстане:


Если у вас есть вопросы или уточнения, можете написать мне .