Intro
Для того, чтобы построить облачный сервис понадобится горизонтально масштабируемая база данных. Cloudstack «из коробки» не знает что такое HA, предполагается, что для этого нужно использовать встроенный функционал MySQL или такое решение как Galera Cluster. Но мы пойдем другим путем и остановим свой выбор на Vitess – надежной, легко масштабируемой системы кластеризации для MySQL.
Архитектура
Не будем долго говорить об архитектуре Vitess – это очень сложный проект, задача которого упрощение администрирования высоконагруженных кластеров MySQL. Однако на уровне приложения кластер Vitess ничем не отличается от одной большой базы MySQL, а один из компонентов решает проблему с пулом соединений.
Нас больше интересует мы будем использовать Vitess с Cloudstack.
Ниже приведены диаграммы (в стиле Боско):
Горизонтальное масштабирование:
Vitess не нужен Kubernetes, но в данном случае оператор k8s решит сразу несколько задач связанных с логированием, мониторингом и обновлением кластеров, поэтому использовать будем именно его:
Инструкции по установке Vitess Kubernetes Operator.
архитектурный паттерн Event-Driven Architecture, и для этого нам понадобится провайдер CDC (Change Data Capture) Debizium и брокер сообщений Kafka:
События из топиков Kafka должны использоваться в качестве триггеров для сервисов и функций Apache OpenWhisk.
oller
Для поднятия системы виртуализации, аналога Proxmox, требуется кубернетес и мильен не до конца понятных решений, за пониманием нужно на месяца три залезть в документацию всем отделом.
Но это все вообще никак не вяжется с безопасностью.
Опять же не ясно удалили ли шпионский код с docker, что превращает всю эту идею во что-то далёкое от серьезных проектов.