LINUX.ORG.RU
ФорумTalks

Что не так с DevOps?

 ,


0

3

Почему когда изучаешь вроде как прогрессивную философию IT, глаза текут кровью? Все те Ansible, Puppet, Kubernetes или даже Docker настолько убоги в реализации, что хочется плакать кровавыми слезами?!

Поправьте меня, но не все ли эти технологии - лишь костыль для затыкания реальных проблем разработки?

P.S Контейнеризация приложений - синтаксический опий который губит всю разработку.


Ответ на: комментарий от George

Ну значит мы друг друга не поняли. Ничего не имею против использования терраформа для поднятия обычных облачных ресурсов и как способа хранения текущей конфигурации всяких виртуалок и пр. Хотя с таким же успехом для этой цели можно использовать конкретные CLI-утилиты облачных платформ.

vinvlad ★★
()
Ответ на: комментарий от Hg194

«мне рынок не нужен» это пять. у тебя какой-то свой, особый рынок? без _всех_ крупных игроков. весело на нем существовать?)

loki_ ★★
()
Ответ на: комментарий от vinvlad

Ну, двух для надежности и просто банального апгрейда базового софта наверно маловато будет)

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

софтовая инфраструктура для развертывания-деплоя соответствующих приложений, совместимая с удобной средой разработки

scp/ssh не совместимы с вашей средой разработки?

Отдельный разговор - это базы данных

10 ПБ в рамках одного сервера вам не хватит на базу данных?

foror ★★★★★
()
Ответ на: комментарий от foror

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

Мне сложно что-либо сказать не зная, что конкретно крутится на серверах, сколько рабочих реплик требуется для той или иной софтинки, чтобы она работала без сбоев при таких обломах. Я, в общем-то, пользователь облачных софтовых инфраструктур - ниже не залезал.

scp/ssh не совместимы с вашей средой разработки?

Если работать с кубом, то вся среда разработки находится в контейнерах, содержащих софт тех же версий, что и на проде - в идеале, одни и те же Docker-образы. Docker-образы естественно свои. Это, к примеру, Nginx + Backend API + СУБД. Контейнеры можно крутить на локальном компе или на виртуалке в облаке. В качестве IDE-шки лично я использую VSCode - там есть нормальная поддержка работы с контейнерами + поддержка работы в среде облачных виртуалок через SSH (работа в локальной и удаленной среде фактически ничем не отличается). Деплой обычный - через Git, и далее автоматическая генерация Docker-образов (busybox + архив прикладного кода) и рестарт Pod-ов с уже новой версией в качестве init-контейнеров.

10 ПБ в рамках одного сервера вам не хватит на базу данных?

Понятия не имею. Меня больше волнует бесперебойность доступа к данным, для чего нужно иметь определенное количество активных экземпляров СУБД.

vinvlad ★★
()
Ответ на: комментарий от vinvlad

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

что конкретно крутится на серверах

Гугл/яндекс поиск

foror ★★★★★
()
Ответ на: комментарий от stave

В реальном мире нынче тренд на экономию. Даже кубернетис про эффективное использование ресурсов

У вас неправильное представление о реальном мире. Нынче в реальном мире зачастую все происходит примерно так:

  • среденетипичный дебил - выпускник курсов вайти в айти пишет говнокод который работает только через ХЗ как собранное окружение

  • получив говнокод, который в 80% запросов не падает, рзаработчик говорит что у него есть продукт готовый к деплою

  • но поскольку рабочее окружение «чуть-чуть» (нет) отличается от того говна которое творится на ноутбуке разработчика, говнокод не стартует и падает в 80% запросов

  • разработчик ноет что инфраструктура говно и вот если бы у него был девопс, то…

  • на помощь разработчику выдвигают девопса (выпускника таких же курсов вайти в айти). Девопёс говорит, что разработчик должен «деплоиться в кубер контейнерами» потому что там в контейнере можно повторить то говно которое кодер устроил у себя

  • менеджеру докладывают что скоро все будет работать потмоу что есть девопес и кубер (большой копроративный кубер)

  • об этом узнает зам техдира, который имеет реальное представление о «талантах» и «способностях» девопеса и кодера и приходит в ужас - какой нахрен деплой в продовый кубер, вы там доланулись?! Нахрен с прода!

  • конфликт выходит на уровень техдира, и на общем совещании решают - дать девопсу и кодеру свой собственный кубер. А чтобы не нарушать правила «всё деплоится в кубер», то кубер для кодера и его приклады разворачивают в виртуалках которые запускают в основном кубере, получив кубер в виртуалках в кубере (и хорошо если там не будет цефа в кубере в виртуалках над цефом в кубере)

Поэтому эффективное использование ресурсов и девопс это антонимы

no-dashi-v2 ★★★
()
Последнее исправление: no-dashi-v2 (всего исправлений: 1)
Ответ на: комментарий от no-dashi-v2

выпускник курсов вайти в айти

+1. Выпускники ВУЗов, посмотрев на этот ужос, уходят глубоко в системщину, благо образование позволяет.

PhD
()
Ответ на: комментарий от no-dashi-v2

Я поспорю. Весь бэк давно пишется в тех или иных песочницах, будь то jvm+maven, ruby+gems, python+pip, и в большинстве случаев разработка шла на одной ОС, а фактический деплой происходил на другой, и не всегда другой средой был Linux, вполне мог оказаться проприетрный Unix. И были тогда разработчики и админы которые жили по своему распорядку, и было хорошо.

А вот потом пошла конвергенция, разработчики стали ближе к среде исполнения а админы начали движение в devops.

Я считаю что причина в микросервисах, они получили широкое использование не из-за каких-то невероятных преимуществ конечного продукта, а только потому что разработку отдельных микросервисов можно распределить на множество команд. Короче менеджмент нашел решение как заставить 9 женщин родить ребенка за 1 месяц, они просто поручили каждой успеть родить по кусочку к определенному сроку, потом это все сшивается нитками и получившийся франкеншейн объявляется живым и здравствующим, правда живет оно только в контейнере под присмотром девопсов.

Aber ★★★★★
()
Ответ на: комментарий от foror

… Гугл/яндекс поиск

Узкое место в этих приложениях - это работа баз данных, обработка поисковых запросов. И базы данных там, насколько я понимаю, не какие-нибудь Oracle-MySQL, а свои собственные - со своими специфическими индексами, процессами обработки запросов, АПИ и прочими прибамбасами. Соответственно, чтобы рассуждать на тему, как все это разложить по железу и промежуточной софтовой инфраструктуре, нужно более детально понимать, как там все устроено в плане архитектуры прикладного софта и взаимодействия отдельных компонент, как осуществляется хранение и резервирование данных на дисках, и прочее… Без этого - это просто пустой треп.

vinvlad ★★
()
Ответ на: комментарий от pekmop1024

Просто ты не понимаешь, зачем оно надо, вот организм и отторгает.

Да не, он прав. Воопрос не к идее, вопрос к чудовищно костыльной реализации. Давай начнем с того, что ошибки ansible в консоли читать невозможно, потому что там raw json. Ещё лулз: в ансибол до сих пор нет модуля для настройки grub. Вообще. Ни одного.

cumvillain
()
Последнее исправление: cumvillain (всего исправлений: 3)
Ответ на: комментарий от cumvillain

Да, все регекспами костыляют - факт. :) Но ансибл это вообще, как бы… entry level, что ли. Ничего серьезного, превышающего хотя бы тысячу инстансов, им нормально менеджить уже нельзя, просто в силу парадигмы.

И тут уже приходят Puppet и иже с ним.

pekmop1024 ★★★★★
()

Про докер согласен. Это попытка заткнуть убогость линуксового управления пакетами. В результате, многие просто делают make install и заворачивают это в контейнер. Очередная итерация решения очередной версии DLL Hell.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от PhD

Docker или Kubernetes на уровне запуска инстансов — это не системщина?

static_lab ★★★★★
()
Ответ на: комментарий от pekmop1024

И тут уже приходят Puppet и иже с ним.

И тут приходят golden image, которые готовятся packer + ansible. Менеджить тысячи хостов puppet’ом это примерно тот же уровень треша, что и менеджить тысячи хостов ansible.

cumvillain
()
Последнее исправление: cumvillain (всего исправлений: 2)
Ответ на: комментарий от Nervous

А jq на что?

Часть вывода plain text (то что ansible пишет), часть вывода – json (то, что программа пишет в stdout). Ну и НАВЕРНОЕ хочется от тулзы #1 для devops хоть какого-то базового UI, где не надо тут же начинать костылять в консоли.

cumvillain
()
Последнее исправление: cumvillain (всего исправлений: 3)
Ответ на: комментарий от Hg194

Оно (контейнеризация) было бы не нужно, если бы Линукс - был как синодальный перевод Библии, т.е. канон. Один раз - и на столетия, и никаких изменений, и в рамках одной православной веры везде одинаков.

Так нет же, сволочь, меняется постоянно. Не угонишься.

tiinn ★★★★★
()
Ответ на: комментарий от cumvillain

И тут приходят golden image, которые готовятся packer + ansible

И уходят туда же, откуда пришли. Потому что их менеджить надо, а не раскатать один раз и забыть.

pekmop1024 ★★★★★
()
Ответ на: комментарий от cumvillain

Часть вывода plain text (то что ansible пишет), часть вывода – json (то, что программа пишет в stdout). Ну и НАВЕРНОЕ хочется от тулзы #1 для devops хоть какого-то базового UI, где не надо тут же начинать костылять в консоли.

Скажи спасибо, что она тебе не выдаёт три экрана блевотины из стектрейсов, как это делает большая часть кода на Java, Rust или Python.

hateyoufeel ★★★★★
()
Ответ на: комментарий от tiinn

Контейнеризация была бы не нужна если разрабы жили обычной человеческой жизнью не просиживая 24/7 за клепанием очередной новой версии библиотек или своего велосипеда чтобы сделать %имя-технологии% ещё лучше (по своему мнению). Но нет, у нас же бесконечное «развитие» и IT недели не может прожить как бы не выпустить очередной велосипед в мейнстрим. А мейнстрим схавает.

Hg194
() автор топика
Ответ на: комментарий от Hg194

Контейнеризация была бы не нужна если разрабы жили обычной человеческой жизнью не просиживая 24/7 за клепанием очередной новой версии библиотек

Они бы не просиживали, если бы вы им патчи не слали. Так, вы ещё и возмущаетесь, что они не оперативно принимают ваши патчи.

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

если бы вы

Кто мы то? А вообще, обкатанный софт работает и без патчей. Патчи же нужны только на еже(дневный|недельный|месячный) релиз с нескучными правками. А кто просил? Манагеры, или шило в одном месте у разраба?

Hg194
() автор топика
Ответ на: комментарий от pekmop1024

И уходят туда же, откуда пришли.

Нет, не уходят.

Потому что их менеджить надо, а не раскатать один раз и забыть.

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

cumvillain
()
Ответ на: комментарий от cumvillain

Нет, не уходят.

Уходят. Потому что нормально написанная infra as code на паппете это делает одним мержем в гит.

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

Ну да, ну да. Пошел я нахер со своими 20к хостов.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

Уходят. Потому что нормально написанная infra as code на паппете это делает одним мержем в гит.

Про ансибл то же самое говорят, если что.

Ну да, ну да. Пошел я нахер со своими 20к хостов.

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

cumvillain
()
Последнее исправление: cumvillain (всего исправлений: 1)
Ответ на: комментарий от Hg194

Бизнес хочет. Он же и деньги платит, что характерно. Так и живём. Если ты ещё во все это не залез, и не сильно-то вся наша айтишка нравится - может, не стоит и начинать?

George
()
Ответ на: комментарий от cumvillain

Про ансибл то же самое говорят, если что.

С ансиблом так не выйдет. В силу того, что он push.

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

Ну если у тебя руками правят мимо IaC, то тебе ничего не поможет. На пресловутых 20к ничего руками не правят, правилка не выросла.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

С ансиблом так не выйдет. В силу того, что он push.

И? Любой аналог Tower умеет запуск по расписанию, который, в идеале, делает то же самое, что мониторинг папета.

Ну если у тебя руками правят мимо IaC, то тебе ничего не поможет. На пресловутых 20к ничего руками не правят, правилка не выросла.

Да-да, я уже это слышал десятки раз.

cumvillain
()
Ответ на: комментарий от cumvillain

И? Любой аналог Tower умеет запуск по расписанию, который, в идеале, делает то же самое, что мониторинг папета.

И как ты себе это представляешь на 20к, не на 100 хостах? Единая точка отказа? Перегруженный истанс awx/tower/whatever? Нет, технически - накостылять можно. Фекально-дендральное поделие даже работать будет некоторое время, пока с грохотом не рассыплется, погребая под собой бизнес и всех горе-дисижнмейкеров.

Да-да, я уже это слышал десятки раз.

Ну ты слышал, а я работаю. Понятное дело, что у тебя нет никаких оснований мне доверять, но как бы так помягче сказать… мне насрать.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

И как ты себе это представляешь на 20к, не на 100 хостах? Единая точка отказа?

Оно прекрасно шардируетcя.

Перегруженный истанс awx/tower/whatever?

Перегруженный puppet (на рубях, напомню) чем-то сильно лучше?

Нет, технически - накостылять можно. Фекально-дендральное поделие даже работать будет некоторое время, пока с грохотом не рассыплется, погребая под собой бизнес и всех горе-дисижнмейкеров.

Про паппет говорят то же самое :)

Ну ты слышал, а я работаю. Понятное дело, что у тебя нет никаких оснований мне доверять, но как бы так помягче сказать… мне насрать.

Твоя агрессивная манера пытаться мне доказать что ты стоящий специалист меня сильно умиляет.

cumvillain
()
Ответ на: комментарий от cumvillain

Оно прекрасно шардируетcя.

По локациям растащи, угу. Так, чтобы если AWX ушел в одном месте, всё осталось работоспособным в остальных. Только на костылях.

Перегруженный puppet (на рубях, напомню) чем-то сильно лучше?

Оно масштабируется влегкую, капасити докидывается вплоть до автоскейлинга.

Твоя агрессивная манера пытаться мне доказать что ты стоящий специалист меня сильно умиляет.

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

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

По локациям растащи, угу. Так, чтобы если AWX ушел в одном месте, всё осталось работоспособным в остальных. Только на костылях.

Есть разные варианты fault tolerance, и это довольно просто решаемая задача. Но речь вроде не про это была.

Оно масштабируется влегкую, капасити докидывается вплоть до автоскейлинга.

Не поверишь, люди, которые ansible’ом делают 20к хостов говорят то же самое про awx и аналоги.

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

Ну вот гугол, у которого сильно больше, чем 20к хостов, прекрасно живет с golden image. Извини, но их опыт как-то показательнее.

cumvillain
()
Ответ на: комментарий от cumvillain

Есть разные варианты fault tolerance, и это довольно просто решаемая задача. Но речь вроде не про это была.

И про это в том числе.

Не поверишь, люди, которые ansible’ом делают 20к хостов говорят то же самое про awx и аналоги.

При push-парадигме надежность всей конструкции сильно меньше, в силу того, что приходится костылировать. Но зачем костылировать, если можно делать хорошо?

Ну вот гугол, у которого сильно больше, чем 20к хостов, прекрасно живет с golden image. Извини, но их опыт как-то показательнее.

Ты, похоже, просто оперируешь понятиями, не до конца понимая их смысл. Потому что использование golden image никак не отменяет необходимости IaC, да и по функционалу с IaC пересекается крайне слабо. Ты говоришь о короткоживущих инстансах, но инфра, мягко говоря, состоит не только из них.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

Ты, похоже, просто оперируешь понятиями, не до конца понимая их смысл. Потому что использование golden image никак не отменяет необходимости IaC, да и по функционалу с IaC пересекается крайне слабо. Ты говоришь о короткоживущих инстансах, но инфра, мягко говоря, состоит не только из них.

Вопрос в другом – зачем тебе IaC напрямую на сервере, если большая часть твоей конфигурация – типовая? Если у тебя есть две сотни db хостов, отличающихся только хостнеймом, нет буквально никакого смысла конфигурировать их в рантайме.

Нет, я допускаю что у тебя очень специфичный случай, когда у тебя мало одинаковых конфигураций, но это сильно редкая история.

cumvillain
()
Последнее исправление: cumvillain (всего исправлений: 1)
Ответ на: комментарий от cumvillain

Вопрос в другом – зачем тебе IaC напрямую на сервере, если большая часть твоей конфигурация – типовая? Если у тебя есть две сотни db хостов, отличающихся только хостнеймом, нет буквально никакого смысла конфигурировать их в рантайме.

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

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

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

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

Кажется что ребилдить приложение часами каждый раз – некоторая наркомания, и проще взять готовый артефакт, но кто я чтобы вас осуждать.

cumvillain
()
Ответ на: комментарий от cumvillain

Кажется что ребилдить приложение часами каждый раз – некоторая наркомания, и проще взять готовый артефакт, но кто я чтобы вас осуждать.

Это ты же предложил golden image для этого использовать, я так-то тоже считаю, что это наркомания.

pekmop1024 ★★★★★
()
Ответ на: комментарий от cumvillain

Нет, я не предлагал тебе часами ребилдить приложение, это ты сам придумал.

Ты предлагал мне ребилдить сами инстансы.

pekmop1024 ★★★★★
()
Ответ на: комментарий от cumvillain

Часов там нет.

Учитывая, что всю аппку сразу уронить нельзя, а инстансов тысячи, роллинг ребилд (вместо роллинг рестарта) займет часы. А теперь представь, что чендж хреновый, его нужно откатить. Опять на часы. Это десятки или даже сотни тысяч долларов, потерянные из-за простоя. Вместо отсутствующего даунтайма вообще.

pekmop1024 ★★★★★
()
Ответ на: комментарий от cumvillain

Я не вижу где ты часы видишь. Ребилд образа — минуты. Ребут через kexec — минута. Откат — взять старый образ.

Я вижу тут применение инструмента не по назначению в силу незнания инструментария - это раз.

Я также вижу твое непонимание того, что рестарт аппки - это, буквально, секунда. Раскатать образ на барметал - это минимум 10 минут. Раскатать на вмку - пару минут. Умножаем это на, скажем, 6 тысяч и плачем.

Возвращаемся к тому, что ты просто не подумал о том, что инстансы могут быть не облачными спотовыми/короткоживущими, и вообще железными.

pekmop1024 ★★★★★
()
Ответ на: комментарий от cumvillain

Конечно нет. Ты просто не умеешь. Hint: там слово kexec не для красоты.

Это ты не понимаешь, что костыли используют только в случае крайней необходимости, а не для изменения одной строчки в конфиге.

И делать нужно хорошо, а не модно.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

Раскатать на вмку - пару минут. Умножаем это на, скажем, 6 тысяч и плачем.

Ну ващет оно параллелится. И особой разницы между БВ и ВМ нету. У нас с прогонкой папета минут 5 что там, что там. Но это если бареметал это именно бареметал в терминологии клауд-провайдеров - виртуалка размером с блейд. А полноценный железный сервер сетапится дольше, конечно.

leave ★★★★★
()
Ответ на: комментарий от leave

Ну ващет оно параллелится

Аппку всю ронять нельзя. Капасити тоже не резиновая, 2х делать пупок развяжется для green/blue - никаких бюджетов не хватит.

полноценный железный сервер сетапится дольше, конечно

This.

pekmop1024 ★★★★★
()
Ответ на: комментарий от Hg194

Кто мы то? А вообще, обкатанный софт работает и без патчей.

Сообщество Open Source. Так, никто софт не обкатывает. Да и как ни обкатывай, люди всё равно находят непотребное.

tiinn ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)