Микросервисы заменить монолитом = 90% экономии
От: Shmj Ниоткуда  
Дата: 07.05.23 04:46
Оценка: 3 (1)
Тут: https://habr.com/en/articles/733786/

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

Но на практике, как обычно, оказалось не все так радужно
Re: Микросервисы заменить монолитом = 90% экономии
От: Gurney Великобритания www.kharlamov.biz
Дата: 07.05.23 05:56
Оценка: 7 (1) +3
Здравствуйте, Shmj, Вы писали:

S>Микросервисы кажутся удобнее, ведь как бы есть четкий протокол и небольшие системы, каждая из которых выполняет не сложную задачу. Ну и как бы встроенное масштабирование малой кровью за счет некой шины обмены данными/событиями — подключай к шине сколько тебе нужно нод.

Это никому не нужно, более того — вредно. Такая архитектура безцельной повсеместной масшабируемости одна из причин почему Cassandra опасно применять в продукции.

S>Но на практике, как обычно, оказалось не все так радужно

На моей памяти этот подход с микросервисами изобретают 5-ый раз. И каждый раз все должно быть суперкруто на этот раз, но вот опять не получается.
Удивительно, правда?
Re: Микросервисы заменить монолитом = 90% экономии
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 07.05.23 10:10
Оценка: 10 (2) +6 :)
Здравствуйте, Shmj, Вы писали:

S>Тут: https://habr.com/en/articles/733786/


S>Микросервисы кажутся удобнее, ведь как бы есть четкий протокол и небольшие системы, каждая из которых выполняет не сложную задачу. Ну и как бы встроенное масштабирование малой кровью за счет некой шины обмены данными/событиями — подключай к шине сколько тебе нужно нод.

Недавно набрел на видос на тему микросервисов, тру стори во второй половине
https://youtu.be/s-vJcOfrvi0


S>Но на практике, как обычно, оказалось не все так радужно

На практике микросервисы ВСЕГДА работают хуже монолита. Преимущество микросервисов в масштабировании разработки, чтобы огромное количество разработчиков могли регулярно выдавать релизы не ломая систему полностью. И то если придерживаться строгих правил изоляции этих самых микросервисов.
Re: Микросервисы заменить монолитом = 90% экономии
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 07.05.23 11:39
Оценка: 4 (1)
Здравствуйте, Shmj, Вы писали:

S>Тут: https://habr.com/en/articles/733786/


S>Микросервисы кажутся удобнее, ведь как бы есть четкий протокол и небольшие системы, каждая из которых выполняет не сложную задачу. Ну и как бы встроенное масштабирование малой кровью за счет некой шины обмены данными/событиями — подключай к шине сколько тебе нужно нод.


S>Но на практике, как обычно, оказалось не все так радужно


Это доказательство только одного: "Если в башне по...нь, то что е...нь, что не е...нь". Ибо засовывать в S3 промежуточные кадры при генерации видео (если статья не врёт) было запредельной шизой с самого начала.

— Ребе, у меня дома тесно, друг у друга на головах сидим!
— Введи в дом корову.
— Ребе, теперь даже повернуться негде!
— Убери корову из дома.
— Ребе, спасибо, стало так свободно!

Ну и что толку с этого рассказа, кроме того, что автора решения надо было уволить с самого начала?
The God is real, unless declared integer.
Re: Микросервисы заменить монолитом = 90% экономии
От: scf  
Дата: 07.05.23 16:48
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Но на практике, как обычно, оказалось не все так радужно


Микросервисы — это инструмент, и инструмент опасный, не для фанатиков и бездумного применения. Я бы сказал, что главное назначение микросервисов — управление сложностью системы. Можно написать код в 200 строчек, можно наворотить 20 взаимосвязанных классов. На уровне микросервисов это выглядит точно так же.
Re: Микросервисы заменить монолитом = 90% экономии
От: vsb Казахстан  
Дата: 07.05.23 17:09
Оценка: +1
Про микросервисы судить не буду. Наверное на каком-то масштабе они неизбежны. Вроде у всех крупных компаний они. Я таких проектов не видел.

Монолит в экстремуме это однозначно дурость. Если у меня есть человек, который на питоне делает ИИ, правильней этот модуль обернуть в докер и вызывать. А не переписывать на го.

Также часто есть отдельные задачи, очевидно требующие масштабирования. Ну к примеру перекодировка видео. Запускать новый инстанс монолита (и вообще проектировать монолит под кластерность) только потому, что у тебя на сервере закончился CPU это тупо. Выделить перекодировку видео в отдельный сервис из ста строк, и масштабировать только его — правильно. Вы же не суёте постгрес в адресное пространство бэкэнда.

Также есть отдельные задачи, легко решающиеся на одном стеке технологий и сложно решающиеся на другом. К примеру в Казахстане используется своя криптография. Есть библиотека для Java. Код на Java это несколько сотен строк. Переписывать эти библиотеки на Go (к которым нет исходников), потом по-хорошему эту новую реализацию ещё и сертифицировать в КНБ надо будет. Удачи, ага. Не, я бы взялся, если кому-то охота потратить пару лет. Но всем охота потратить пару дней.

Резюмируя — начинать надо с монолита, но не стесняться выделять из него то, что "просится" выделиться в отдельные сервисы, а не впихивать невпихуемое.

А насчёт прям полноценных микросервисов сказать ничего не могу. Пока нужды такой не было.
Отредактировано 07.05.2023 17:11 vsb . Предыдущая версия . Еще …
Отредактировано 07.05.2023 17:10 vsb . Предыдущая версия .
Отредактировано 07.05.2023 17:09 vsb . Предыдущая версия .
Re[2]: Микросервисы заменить монолитом = 90% экономии
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 07.05.23 17:33
Оценка: +2 -1
Здравствуйте, scf, Вы писали:

S>>Но на практике, как обычно, оказалось не все так радужно


scf>Микросервисы — это инструмент, и инструмент опасный, не для фанатиков и бездумного применения. Я бы сказал, что главное назначение микросервисов — управление сложностью системы. Можно написать код в 200 строчек, можно наворотить 20 взаимосвязанных классов. На уровне микросервисов это выглядит точно так же.


С микросервисами проще — можно посадить девопс-обезъян, чтобы разруливали, и разрабов не трогали. В монолите весь головняк на разрабах
Маньяк Робокряк колесит по городу
Re[3]: Микросервисы заменить монолитом = 90% экономии
От: vsb Казахстан  
Дата: 07.05.23 17:59
Оценка:
Здравствуйте, Marty, Вы писали:

S>>>Но на практике, как обычно, оказалось не все так радужно


scf>>Микросервисы — это инструмент, и инструмент опасный, не для фанатиков и бездумного применения. Я бы сказал, что главное назначение микросервисов — управление сложностью системы. Можно написать код в 200 строчек, можно наворотить 20 взаимосвязанных классов. На уровне микросервисов это выглядит точно так же.


M>С микросервисами проще — можно посадить девопс-обезъян, чтобы разруливали, и разрабов не трогали. В монолите весь головняк на разрабах


Только в этой трактовке обезьяны будут разработчики. Т.к. их огораживают в клетки.
Re: Микросервисы заменить монолитом = 90% экономии
От: IT Россия linq2db.com
Дата: 08.05.23 15:54
Оценка: 74 (5) +7
Здравствуйте, Shmj, Вы писали:

S>Но на практике, как обычно, оказалось не все так радужно


Есть две типичные ошибки, которые мы все так любим допускать.

1. Если что-то работает хорошо для нас в конкретной ситуации, то мы пытаемся запихать это во все дырки и убедить всех окружающих, что им без этого никак не прожить, и если они это не используют, то они лохи и дураки.
2. Если что-то работает плохо для нас в конкретной ситуации, то мы недемленно предаём это анафеме, всячески пытаемся оградить от этого всех окружающих, и если они это всё же используют, то они лохи и дураки.
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: Микросервисы заменить монолитом = 90% экономии
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 11.05.23 09:02
Оценка:
Здравствуйте, Marty, Вы писали:

M>С микросервисами проще — можно посадить девопс-обезъян, чтобы разруливали,

Максимум неэтичное отношение к девопсам.
M>и разрабов не трогали. В монолите весь головняк на разрабах
Первое что сделают девопсы если есть проблемы с развёртыванием или интеграцией это пойдут к девелоперам которые будут вынуждены разбираться что же такое происходит в деплое.
Sic luceat lux!
Re[2]: Микросервисы заменить монолитом = 90% экономии
От: zx zpectrum  
Дата: 27.08.23 00:54
Оценка: :)
G>На практике микросервисы ВСЕГДА работают хуже монолита. Преимущество микросервисов в масштабировании
заработков на
G>разработке, чтобы огромное количество разработчиков могли регулярно
кормиться там, где достаточно небольшой команды

Старый доктор оставил вместо себя сына, недавно окончившего мединститут, и уехал в отпуск. Возвращается, а сын ему заявляет:
— Я тут Павла Моисеевича вылечил. Ты его тридцать лет лечил, а я его — за один месяц!
— Идиот! Я на его почках тебя выучил, машину купил, дачу построил... А ты его... вылечил!!!

Re[2]: Микросервисы заменить монолитом = 90% экономии
От: zx zpectrum  
Дата: 27.08.23 00:59
Оценка:
vsb>Также есть отдельные задачи, легко решающиеся на одном стеке технологий и сложно решающиеся на другом. К примеру в Казахстане используется своя криптография. Есть библиотека для Java. Код на Java это несколько сотен строк. Переписывать эти библиотеки на Go (к которым нет исходников), потом по-хорошему эту новую реализацию ещё и сертифицировать в КНБ надо будет. Удачи, ага. Не, я бы взялся, если кому-то охота потратить пару лет. Но всем охота потратить пару дней.
Неужели это настолько экзотичная криптография, что её нет в OpenSSL/LibreSSL/WolfSSL?
Re: Микросервисы заменить монолитом = 90% экономии
От: Qulac Россия  
Дата: 27.08.23 07:21
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Тут: https://habr.com/en/articles/733786/


S>Микросервисы кажутся удобнее, ведь как бы есть четкий протокол и небольшие системы, каждая из которых выполняет не сложную задачу. Ну и как бы встроенное масштабирование малой кровью за счет некой шины обмены данными/событиями — подключай к шине сколько тебе нужно нод.


S>Но на практике, как обычно, оказалось не все так радужно


Вот как должна быть организована работа программиста, там где в вакансиях указано ci/cd и прочие подобные дела?
Вот мне нужно внести изменения в какой-то кусок проекта, этот кусок представлен одним решением в VS, я могу его запустить у себя на компьютере что бы погонять в отладчике, мне для этого не нужна бд где-то в стороне, я бд с нужными ему данными подымаю у себя на компе(делаю экспорт) В проекте есть тесты, все зависимости заменены заглушками. Я вношу изменения, запускаю тесты, убеждаюсь что все хорошо, делаю коммит пушу в репо, а дальше работает автоматика на ci/cd сервере и этап ручного тестирования если он у нас есть. В общем если, мой код принят, то мои проблемы как программиста закончились.

Вот микросервисы под такую организацию работы идеально подходят.
Программа – это мысли спрессованные в код
Re[3]: Микросервисы заменить монолитом = 90% экономии
От: vsb Казахстан  
Дата: 27.08.23 12:57
Оценка:
Здравствуйте, zx zpectrum, Вы писали:

ZZ>Неужели это настолько экзотичная криптография, что её нет в OpenSSL/LibreSSL/WolfSSL?


Подвиды ГОСТа. Я детально в этом не разбираюсь. Может и есть, но там есть нюансы. Во-первых "одобренная" библиотека имеет какой-то сертификат от КНБ. Утверждается, что если пишешь реализацию сам или используешь неодобренную, то надо проходить сертификацию в КНБ, а это вероятно геморрой. Звучит страннно, но пробовать большого желания нет.

Помимо этого есть ещё Web Services Security, XML Security. Там тоже руками ничего не напишешь, там всякая муть, трансформы и прочее. В общем библиотека работает и даёт результат (подпись принимается, чужая подпись проверяется). А своя или ещё какая-то реализация вполне может не работать, а связи с "той стороной" особо нет, приходит тебе ошибка и всё тут.

Если интересны названия алгоритмов из местной документации, то вот:

Алгоритм хеширования ГОСТ 34.311
Алгоритм ГОСТ 34.310
Алгоритм подписи ГОСТ 34.310
Алгоритм шифрования ГОСТ 28147-89
ГОСТ 34.310-2004
Алгоритм подписи ГОСТ 34.310 (4)
Алгоритм подписи ГОСТ Р 34.10
Алгоритм подписи ГОСТ 34.310 (3)
Алгоритм подписи ГОСТ 34.310 (4)
СТ РК ГОСТ Р 34.10-2015
Подпись СТ РК ГОСТ Р 34.10-2015 с хэшированием СТ РК ГОСТ Р 34.11-2015 (256)
Подпись СТ РК ГОСТ Р 34.10-2015 с хэшированием СТ РК ГОСТ Р 34.11-2015 (512)
ГОСТ 34.11-95

Насколько я понимаю, тут несколько базовых алгоритмов из семейства ГОСТ и куча их вариаций и сочетаний.
Отредактировано 27.08.2023 13:02 vsb . Предыдущая версия . Еще …
Отредактировано 27.08.2023 12:58 vsb . Предыдущая версия .
Re[2]: Микросервисы заменить монолитом = 90% экономии
От: SkyDance Земля  
Дата: 28.08.23 00:25
Оценка: +1
Q> дальше работает автоматика на ci/cd сервере и этап ручного тестирования если он у нас есть. В общем если, мой код принят, то мои проблемы как программиста закончились.

В теории оно так, а на практике тебе придется таки разобраться, что где происходит, и почему твой код то старой версии, то новой, то "отсутствует allocation", то "мы тебе включили auto-scaling, иди перепиши весь свой сервис".
Re[3]: Микросервисы заменить монолитом = 90% экономии
От: Qulac Россия  
Дата: 28.08.23 04:47
Оценка:
Здравствуйте, SkyDance, Вы писали:

Q>> дальше работает автоматика на ci/cd сервере и этап ручного тестирования если он у нас есть. В общем если, мой код принят, то мои проблемы как программиста закончились.


SD>В теории оно так, а на практике тебе придется таки разобраться, что где происходит, и почему твой код то старой версии, то новой, то "отсутствует allocation", то "мы тебе включили auto-scaling, иди перепиши весь свой сервис".


Я конечно не много с идеализировал, но то что микросервисы позволяют легко и просто настроить удобный рабочий процесс — это их преимущество. Можно конечно и без микросервисов это сделать, но тут уже нужно уметь.
Программа – это мысли спрессованные в код
Re: Микросервисы заменить монолитом = 90% экономии
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 28.08.23 09:19
Оценка:
Здравствуйте, Shmj, Вы писали:

Кстати а чем микросервисы лучше AppDomain или изоляторов?
https://github.com/SteveSandersonMS/DotNetIsolator
и солнце б утром не вставало, когда бы не было меня
Re[4]: Микросервисы заменить монолитом = 90% экономии
От: SkyDance Земля  
Дата: 28.08.23 17:28
Оценка:
Q>Я конечно не много с идеализировал, но то что микросервисы позволяют легко и просто настроить удобный рабочий процесс — это их преимущество. Можно конечно и без микросервисов это сделать, но тут уже нужно уметь.

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