Мы живем в мире, где зависимость от того или иного вендора может привести к катастрофе. Если базировать свой бизнес на Google Cloud, AWS или Azure, или даже каком-то отечественном аналоге, то в любой момент тебе могут сказать, что твоё облако больше не твоё. А ты уже привык или привыкла (я очень надеюсь тут на женский взгляд на проблему) к их гитлабу, нексусу и прочим плюшкам, которые доступны из коробки и заинтегрированы между собой и твоим проектом. Как быть?
Решение тут одно. Нам не нужно одно гигантское облако, как нам не нужны моносервисы. Ими сложно управлять. Нужны микросервисы и микрооблака. Представьте, что вы хотите создать своё приложение для знакомств. Разве вам для его работы нужны ксеоны и прочие суперпроцессоры? Вряд ли. Нужен ли вам гигантский дата-центр? Ответ тот же. Скорее всего, вам достаточно 2-4 виртуалок обычного типа, на которых нужно запустить ваше приложение и небольшую инфраструктурную обвязку вроде api-gateway и sso, а также гитлабов и нексусов, если речь идет о контуре разработки. И обойдется это вам гораздо дешевле. Проблема только в том, что хостингов виртуалок на рынке полно, а вот удобно инструмента превращения этих виртуалок в своё небольшое облако - нет. А теперь представьте, что такой инструмент есть. Тогда если хостинг скажет вам "прости-прощай и собирай манатки", то мы просто берем и переезжаем со словами "а ну и пожалуйста, не очень то и хотелось".
Я уже начал вести разработки в этом направлении. В этой статье я показал, как можно взять сеть виртуалок и сравнять на них операционные системы. Это был первый шаг к подготовке такого микрооблака. Вторым шагом будет связка этих виртуалок в единую сеть, для чего нам понадобится OpenVPN. В целом, я хочу создать серию скриптов, запускаемых из докера, которые последовательно подготовят такое микрооблако.