Open Source Cloud Computing 2

Intro

Open Source Cloud Computing 1

Для того, чтобы построить облачный сервис понадобится горизонтально масштабируемая база данных. Cloudstack «из коробки» не знает что такое HA, предполагается, что для этого нужно использовать встроенный функционал MySQL или такое решение как Galera Cluster. Но мы пойдем другим путем и остановим свой выбор на Vitess — надежной, легко масштабируемой системы кластеризации для MySQL.

Архитектура

Не будем долго говорить об архитектуре Vitess — это очень сложный проект, задача которого упрощение администрирования высоконагруженных кластеров MySQL. Однако на уровне приложения кластер Vitess ничем не отличается от одной большой базы MySQL, а один из компонентов решает проблему с пулом соединений.

Нас больше интересует мы будем использовать Vitess с Cloudstack.

Ниже приведены диаграммы (в стиле Боско):

scaling1

scaling1

Горизонтальное масштабирование:

scaling2

scaling2

Vitess не нужен Kubernetes, но в данном случае оператор k8s решит сразу несколько задач связанных с логированием, мониторингом и обновлением кластеров, поэтому использовать будем именно его:

архитектурный паттерн Event-Driven Architecture, и для этого нам понадобится провайдер CDC (Change Data Capture) Debizium и брокер сообщений Kafka:

CDC

CDC

События из топиков Kafka должны использоваться в качестве триггеров для сервисов и функций Apache OpenWhisk.

© Habrahabr.ru