Что происходит при сбое и как проверить восстановлениеДопустим, нужно убедиться, что PostgreSQL восстановится из резервной копии. В DevSpace для этого можно поднять отдельный кластер, проверить данные и подключить к нему тестовое приложение. Рабочую базу трогать не придется.
Кластером
PostgreSQL управляет CloudNativePG: он поддерживает репликацию, пересоздает отказавшие узлы и выполняет автоматический failover. При включенном резервном копировании доступны архивирование WAL и восстановление на момент времени. Например, можно восстановить состояние базы до неудачной миграции в отдельный кластер и разобраться, что изменилось.
У
Redis своя схема: основной узел и реплики сопровождает оператор, за обнаружение отказа и переключение отвечает Sentinel. Вы задаете ресурсы и число реплик, а оператор поддерживает эту конфигурацию и пересоздает отказавшие узлы.
В
MongoDB используется Percona Operator. Replica set автоматически выбирает новый первичный узел при отказе текущего; оператор восстанавливает узлы и управляет TLS-сертификатами, включая их обновление. Есть резервное копирование и шардирование. Выпуск сертификатов для каждого узла не превращается в отдельную задачу команды.
Обновление и масштабирование кластеровВ
Kubernetes control plane и etcd работают под управлением платформы. Рабочие узлы создаются как виртуальные машины, их жизненным циклом управляет Cluster API. Количество узлов можно менять автоматически с помощью cluster-autoscaler.
Для
Kafka используется Strimzi. Он следит за конфигурацией и выполняет последовательные обновления брокеров. Топики, число партиций, фактор репликации и политики хранения описываются декларативно. Такие настройки можно хранить в репозитории, проверять на ревью и включать в принятый командой GitOps-процесс.
В основе DevSpace — открытая платформа Cozystack. Для инженера это вполне практичная деталь: понятно, какие компоненты управляют сервисами и где посмотреть, как работают их механизмы восстановления и обновления.
Окружение проекта в одном пространствеПриложение в Kubernetes, PostgreSQL, Redis и Kafka можно разместить в одном пространстве DevSpace. Сервисы взаимодействуют по внутренним адресам: чтобы приложение подключилось к базе или брокеру, публиковать их в интернете не требуется. Если проекту позже понадобится MongoDB, ее можно добавить туда же.
Terraform и привычный доступ к сервисамВ Kubernetes доступны стандартный API, kubeconfig и административные права. Можно работать через
Terraform, kubectl, Helm, Argo CD и Flux, использовать свои манифесты и подключать существующий CI/CD. Состояние кластеров хранится в отдельном etcd внутри пространства клиента и не разделяется с другими клиентами платформы.
К PostgreSQL, Redis, MongoDB и Kafka приложения подключаются стандартными драйверами и клиентами. При тестировании DevSpace можно взять существующий pipeline и проверить его на новом окружении. Так сразу будет видно, какие настройки нужно адаптировать под проект.
По вопросам работы сервисов и панели управления доступна поддержка Облакотеки
24/7. Обсуждать инфраструктуру и управляемые сервисы можно с одной командой провайдера.
Ресурсы и расходы по проектамВ DevSpace есть изолированные пространства,
лимиты на CPU, память и хранилище, права доступа и централизованный учет потребления. Доступ к финансовому управлению и к инфраструктуре настраивается отдельно.
Например, для тестового окружения можно задать собственные лимиты, а потребление рабочего проекта отслеживать отдельно. По мере роста нагрузки ресурсы можно увеличивать.
При сравнении стоимости стоит посчитать и время команды. Сколько часов уходит на сопровождение кластеров, собственных скриптов и процедур восстановления? Какие из этих операций уже автоматизированы в DevSpace? С таким списком проще оценить, что изменится в расходах после перехода.
Возможности для интеграторовDevSpace можно использовать и для клиентских проектов. В партнерской модели White Label Облакотека позволяет предоставлять облачные услуги под своим брендом. Доступны управление тарифами, назначение клиентских лимитов и контроль маржинальности.
Интегратор может включить управляемые сервисы в свое предложение вместе с внедрением и сопровождением приложений. Под нового заказчика можно создать отдельное пространство и собрать в нем нужную конфигурацию из сервисов DevSpace.
Что проверить на тестеНачать лучше с окружения, похожего на рабочее. Подключите свой pipeline, проверьте доступы и связь между сервисами. Для PostgreSQL включите резервное копирование и попробуйте восстановить данные в отдельный кластер. Затем дайте нагрузку и посмотрите на потребление ресурсов.
В DevSpace предусмотрен тестовый период. Если конфигурация подходит, ее можно перевести в коммерческую эксплуатацию без переноса данных из тестовой среды.
Попробуйте DevSpace от Облакотеки на задачах своего проекта.