Информация об изменениях

Сообщение Расскажите про облака без напряга от 08.04.2024 16:16

Изменено 08.04.2024 16:17 vsb

Расскажите про облака без напряга
Я уже несколько лет познаю облака. Но до сих пор меня не покидает ощущение, что я что-то делаю сильно не так. Я начал со своей инсталляции кубернетеса на виртуалки у хостера. Сейчас переехал на managed кубернетес. Но меня поражает объём работы, который нужно делать для поддержания всей этой инфраструктуры. Это всё такое, как говорится, bare bones. Каждый нюанс нужно настраивать.

Вот приведу только один простой пример — логгирование. Имеется куча сервисов, которые пишут логи в stdout. Эти логи нужно собирать централизованно, класть в каком-то виде в S3 и давать к ним доступ для просмотра. Чтобы это работало, я потратил не один день, разбираясь со стеком loki + promtail + grafana. У меня кучка манифестов для запуска всех этих сервисов в кластере. У меня абсолютно не дефолтный конфиг для loki. promtail я тоже несколько дней настраивал, и там честно говоря ещё настраивать и настраивать. Вывод каждой программы нужно парсить в нужном формате. Настроил для spring boot 2, обновились, оказалось — формат лога поменялся. Настроил для spring boot 3. Сегодня вот запустил один сервис, который льёт логи как не в себя (ну по моим меркам), loki начал валиться с загадочными ошибками, тоже пару часов потратил на исследование и решение проблемы.

И выше только один пример. Кроме него ещё множество задач, часть которых я вообще не успеваю делать. Мониторинг (его по-моему можно настраивать вечность), скалирование, безопасность, CI/CD пайплайн.

Я в целом уже во всём этом разбираюсь, каждую отдельную задачу решал, если мне надо с чистого листа всё настроить, то за пару месяцев, наверное, настрою, если не выгорю.

Но что меня поражает — это же всё абсолютно типовые задачи. Если мне надо настроить парсинг логов для кейклока, его надо настроить всем остальным. Всем нужен сбор логов, всем нужен сбор метрик, всем нужна сборка образа при пуше и выкладывание этого образа в свой реестр. Всем нужна автоматизация инфраструктуры из гит репозитория. И тд и тп.

Я вполне представляю теоретическое облако, где все эти вопросы решены. Где я вбиваю токен от гитхаба в админку и дальше он все вопросы сам решает. Настраивает CI/CD. Настраивает все нужные скалирования, всякие там ресурсы, cpu, memory. Собирает логи. Имеет готовые настройки для всех сервисов, которые мне могут понадобиться. Но на практике я это облако не вижу.

Если провести аналогию — я ставлю какой-нибудь centos на сервер и имею из коробки настроенный фаервол, а также удобные средства для его кастомизации. Я имею из коробки настроенное логгирование, мне не нужно разбираться с каким-то rsyslog или journald или чего там сейчас используют. У меня из коробки настроен ssh, для всех программ в дистрибутиве настроены профили selinux. То бишь от меня скрыта довольно немаленькая сложность. А то, что я делаю в кубе, мне напоминает компиляцию своего линукса из исходников в сравнение с этим.

Сейчас я пользуюсь облаком от селектела. Я также смотрел в яндекс и немного соприкасался с aws (с ним по-моему разобраться жизни не хватит). В общем я там ничего такого не увидел.

Правильно ли я понимаю, что на текущем этапе развития любая компания, которая хочет хоститься в облаке со сложностью большей, чем один докер-композ, обречена на трату практически одного человекоместа только на то, чтобы совладать со всем этим? Причём все компании делают примерно одно и то же.
Расскажите про облака без напряга
Я уже несколько лет познаю облака. Но до сих пор меня не покидает ощущение, что я что-то делаю сильно не так. Я начал со своей инсталляции кубернетеса на виртуалки у хостера. Сейчас переехал на managed кубернетес. Но меня поражает объём работы, который нужно делать для поддержания всей этой инфраструктуры. Это всё такое, как говорится, bare bones. Каждый нюанс нужно настраивать.

Вот приведу только один простой пример — логгирование. Имеется куча сервисов, которые пишут логи в stdout. Эти логи нужно собирать централизованно, класть в каком-то виде в S3 и давать к ним доступ для просмотра. Чтобы это работало, я потратил не один день, разбираясь со стеком loki + promtail + grafana. У меня кучка манифестов для запуска всех этих сервисов в кластере. У меня абсолютно не дефолтный конфиг для loki. promtail я тоже несколько дней настраивал, и там честно говоря ещё настраивать и настраивать. Вывод каждой программы нужно парсить в нужном формате. Настроил для spring boot 2, обновились, оказалось — формат лога поменялся. Настроил для spring boot 3. Сегодня вот запустил один сервис, который льёт логи как не в себя (ну по моим меркам), loki начал валиться с загадочными ошибками, тоже пару часов потратил на исследование и решение проблемы. Причём практически все проблемы приводят либо в исходники, либо в закрытые 3 года назад issues. Или вообще никуда не приводят. Такого, чтобы проблема случилась и ты просто нагуглил решение в документации — фиг вам.

И выше только один пример. Кроме него ещё множество задач, часть которых я вообще не успеваю делать. Мониторинг (его по-моему можно настраивать вечность), скалирование, безопасность, CI/CD пайплайн.

Я в целом уже во всём этом разбираюсь, каждую отдельную задачу решал, если мне надо с чистого листа всё настроить, то за пару месяцев, наверное, настрою, если не выгорю.

Но что меня поражает — это же всё абсолютно типовые задачи. Если мне надо настроить парсинг логов для кейклока, его надо настроить всем остальным. Всем нужен сбор логов, всем нужен сбор метрик, всем нужна сборка образа при пуше и выкладывание этого образа в свой реестр. Всем нужна автоматизация инфраструктуры из гит репозитория. И тд и тп.

Я вполне представляю теоретическое облако, где все эти вопросы решены. Где я вбиваю токен от гитхаба в админку и дальше он все вопросы сам решает. Настраивает CI/CD. Настраивает все нужные скалирования, всякие там ресурсы, cpu, memory. Собирает логи. Имеет готовые настройки для всех сервисов, которые мне могут понадобиться. Но на практике я это облако не вижу.

Если провести аналогию — я ставлю какой-нибудь centos на сервер и имею из коробки настроенный фаервол, а также удобные средства для его кастомизации. Я имею из коробки настроенное логгирование, мне не нужно разбираться с каким-то rsyslog или journald или чего там сейчас используют. У меня из коробки настроен ssh, для всех программ в дистрибутиве настроены профили selinux. То бишь от меня скрыта довольно немаленькая сложность. А то, что я делаю в кубе, мне напоминает компиляцию своего линукса из исходников в сравнение с этим.

Сейчас я пользуюсь облаком от селектела. Я также смотрел в яндекс и немного соприкасался с aws (с ним по-моему разобраться жизни не хватит). В общем я там ничего такого не увидел.

Правильно ли я понимаю, что на текущем этапе развития любая компания, которая хочет хоститься в облаке со сложностью большей, чем один докер-композ, обречена на трату практически одного человекоместа только на то, чтобы совладать со всем этим? Причём все компании делают примерно одно и то же.