Микросервисы как худший архитектурный выбор для стартапа / Даниил Подольский (YADRO)

  Рет қаралды 13,141

HighLoad Channel

HighLoad Channel

Күн бұрын

Приглашаем на конференцию HighLoad++ 2024, которая пройдет 2 и 3 декабря в Москве!
Программа, подробности и билеты по ссылке: clck.ru/3DD4yb
--------
Профессиональная конференция разработчиков высоконагруженных систем Saint HighLoad++ 2023
Генеральный партнер конференции Garage Eight.
Презентация и тезисы:
highload.ru/sp...
Микросервисная архитектура, когда ее звезда только взошла на небосклоне разработки ПО, казалась нам решением всех наших проблем и ответом на все наши чаяния.
...
Нашли ошибку в видео? Пишите нам на support@ontico.ru

Пікірлер: 59
@rubyxanax4239
@rubyxanax4239 4 ай бұрын
Докладчик абсолютно не в материале микросервисов. 1. Определение микросервисов в корень не верно - "Микросервисы - способ проектировать приложение так, чтобы единица обслуживания и отгрузки была минимального возможного размера". Если руководствоваться его определением, то идеальная микросервисная архитектура это архитектура из entity сервисов (сервис на каждый агрегат). Но такой подход просто невероятно сильно увеличит связанность системы, превратив ее в распределенные ком грязи, оставив все минусы, как монолита так и микросервисов. 2. Тезис "Микросервисы позволят собирать разные бизнес-решения из элементарных технологических кубиков". Тут вообще нарушены все принципы микросервисов. - Микросервисы это не про "технологические", а про предметно ориентированные кубики. При разработке микросервисов основное внимание уделяется потребностям бизнеса, а не технической стороне. А если конкретнее - выявление поддомена бизнеса и определение ограниченного контекста для него. - Микроесервисы ни в коем случае не должны помогать собирать бизнес решения из кубиков. Вы путаете с SOA. Микросервисы образуют неразделяемую архитектуру (shared nothing) для максимального уменьшения связанности. Ошибочно полагать, что микросервис (ограниченный контекст) представляет собой отдельную сущность, например Customer. Он представляет собой бизнес-контекст и / или рабочий процесс, например CatalogCheckout. Цель микросервисов не в том, чтобы максимально уменьшить размер сервисов, а в том, чтобы создать полезный ограниченный контекст (решение) для конкретного поддомена (проблемы). И и достижении этого, предпочтение отдается возможному дублированию, нежели связанности.
@Olga-pc3bm
@Olga-pc3bm 4 ай бұрын
Как же здорово, что спустя 5 лет появились те, кто прочитал базовые книги по МС, сделал нормальные мс и хотя бы в виде комментариев ставит на место "гуру" докладчиков, код писавших ещё при Ельцине.
@kl45gp
@kl45gp 5 ай бұрын
если у вас увеличив сложность одного микро сервиса, автоматически увеличивается сложность других микросервисов, то у вас чтото не так с микросервисами и их границами
@michaelkokorin1145
@michaelkokorin1145 5 ай бұрын
Не совсем. Есть такой функционал которых разъезжается по всем микросервисам: локализация, безопасность, обновления протоколов, логирование и т.д. и тут изменение в одном сервисе - требует менять их все...
@yaqco2172
@yaqco2172 5 ай бұрын
@@michaelkokorin1145 В чем проблема вынести это все в общие либы/фрагменты/т.п. и менять один раз?
@michaelkokorin1145
@michaelkokorin1145 5 ай бұрын
@@yaqco2172 то что можно вынести оно и так выносится... но явно не всё и иногда возникают ситуации когда весь парк микросервисов приходится менять... иногда даже накатить новую версию пакета на все микросервисы - это проблема...
@jojoba149
@jojoba149 4 ай бұрын
Я это называю микромонолитами
@НикитаДавыдов-д3ь
@НикитаДавыдов-д3ь 4 ай бұрын
Основная проблема, что все делают микросервисы, но делают их просто монолитом на 10-30-50-100 деплойментах, которые связаны между собой по сети. А еще добавляют 30-50-100 репозиториев, где дублируется код. Мои искренние соболезнования таких архитектурным экспертам.
@АртемКисленко-з4ь
@АртемКисленко-з4ь 5 ай бұрын
Абсолютно согласен,работал в команде, где начали пилить микросервисы, проект денег не заработал, команду сократили в итоге поддержка микросервисов обходится очень дорого, добавить функционал приходилось прям заморочиться. Потом так вышло, что начал пилить монолиты для стартапов - на этом монолите можно жить стартапу несколько лет, каждая команда пилит свой модуль - чужие не трогает. В итоге за пару месяцев выходишь на MVP. Первый же проект (на микросервисах) пилили более полугода.
@sodz5144
@sodz5144 4 ай бұрын
Из моей практики всё же практичней(если это возможно) SOA. то есть пилим сервисы не на функции, а на процессы. К примеру из моего недавнего опыта: Система интенсивно работающая с внешними API(н-ное количество разнородных), БД и оборудованием(Производственные линии), а так же с ERP(правила интеграции наши). Пилим на отдельные сервисы: 1. Транспортный сервис для конкретного API. 2. Сервис оркестрации транспортных сервисов. 3. Сервис рутины БД(сервисные операции в ДБ). 4. Сервис пользовательского интерфейса. 5. Сервис API для клиента производственной линии. 6. Сервис интеграции с ERP. И получается что мы имея 6 видов сервисов и имея возможность их клонировать получаем гибкую систему, которую: 1. Легко изменять. 2. Легко масштабировать. 3. Легко обслуживать. 4. Отказ одного сервиса не влечет за собой шатдауна.
@shadoshadilan
@shadoshadilan 5 ай бұрын
Из чего он сделал вывод? Предложил идей сказал что они самоочевидны, и сказал что вывод???
@wildcat4435
@wildcat4435 5 ай бұрын
В отличие от большинства комментаторов, не являюсь ни хейтером ни фанатом микросервисов. И очень понравилась идея, когда узнал о них + пишу под разные задачи на разных языках, поэтому вообще был в восторге, что такая костылина теперь модный стандарт, который можно использовать. Но как же ты охреневаешь, когда понял в процессе, что архитектуру нужно немного поменять. Работа просто останавливается, после того, как разрулил все связи под новое, концентрация говорит пока, давай заново включайся. Я понимаю, что комментаторы они сразу еще на схеме делают идеальную архитектуру, а потом просто одной рукой кодят, второй пьют чай и параллельно свободным глазом смотрят аниме, но не всем повезло делать каталоги или не все хотят кормить команду, в которой 1 сотрудник пишет 100 строк в сутки, разные бывают ситуации. Микросервисы это будущее и тут сомнений нет, но нужны новые максимально высокоуровневые фреймворки, которые снимут большую часть головной боли и рутины
@alexeialexei7910
@alexeialexei7910 4 ай бұрын
Даниил абсолютно прав, выводы выстраданы опытом, это чувствуется. p.s. Агрессивные комментаторы-хомяки со смузи в голове как всегда. Извините.
@Smerrrtnik
@Smerrrtnik 4 ай бұрын
у Даниила вышла какая-то субъективная постная лапша (
@maxm1079
@maxm1079 5 ай бұрын
звук после 40:00 просто никакой, а вопросы больше всего хотел услышать
@xonicov
@xonicov 5 ай бұрын
После 44:30 стало чуть лучше...
@ilovesandyboy
@ilovesandyboy 5 ай бұрын
Ядро как всегда. Извините.
@RomanShchekin
@RomanShchekin 5 ай бұрын
Отличный пример неудачного доклада: подача с отрицаниями ("это я доказывать не буду"), тонны текста в презентации, отсутствие оригинальной идеи и т.д. Как говорится, смотри и учись (на чужих ошибках) 🙂
@ОлегИванов-я2ж5и
@ОлегИванов-я2ж5и 4 ай бұрын
А как выделить интерфейсы заранее? Как проверить, что их выделение правильно произошло и что тестируемость кода обеспечена этим?
@ОлегИванов-я2ж5и
@ОлегИванов-я2ж5и 4 ай бұрын
А чат зала есть в открытом доступе?
@garikdjan6266
@garikdjan6266 5 ай бұрын
Не согласен с теорией появления микросервисов, микросервисы появились еще в начале 2000, когда образовался такой термин как SaaS и SOA. SaaS надо было как-то разворачивать и обновлять, тогда и появились микросервисы, в 2001 уже были зачатки CI tooling-а, а после 2006, когда AWS запустила EC2 эта архитектура стала более популярной. Сама же методология DevOps появилась в 2008, а в 2010 появилась методология CI/CD
@juliap.5375
@juliap.5375 4 ай бұрын
Неловко поднимая руку… прочла про методологию devops (без упоминания самого термина) в журнале «Программист» году так в 2001-02. Вангую, что оно и раньше было, просто никто не догадался оформить это в виде пачки бессмысленных терминов впаривая всяким топап как убер-технологию. ЗЫ. где-то как раз с конца нулевых пошла странная тенденция каждые несколько лет рекламировать всякие обычные вещи как нечто из разряда вау, устраивая массовый психоз, интернеты наверное способствуют.
@Mardenskill
@Mardenskill 5 ай бұрын
Что такое терраформ кластер?
@colin1lincoln
@colin1lincoln 5 ай бұрын
Тоже интересно :DD
@jewgenijmoldawski3306
@jewgenijmoldawski3306 5 ай бұрын
Кластер, который описали и подняли с помощью террафррм?
@colin1lincoln
@colin1lincoln 5 ай бұрын
@@jewgenijmoldawski3306 Я правильно понял, что если с помощью терраформа поднять кластер постгрес, то он называется терраформ кластер?
@Mardenskill
@Mardenskill 5 ай бұрын
@@jewgenijmoldawski3306 Не похоже, спикер проговаривает "кубернетес кластер или терраформ кластер" на 6:31
@colin1lincoln
@colin1lincoln 4 ай бұрын
То есть если подняли терраформом кластер постгреса, то это получается терраформ кластер?
@TrueGameover
@TrueGameover 5 ай бұрын
На практике это будет выглядеть иначе. Если стартап начинается с монолита, то он и останется в нем жить до банкротства с прогрессирующей сложностью поддержки. Бюджеты на распил монолита на практике согласовать практически нереально. Его будут пытаться масштабировать, выделят людей для разработки и по итогу расходы превысят все мыслимые границы, но бизнесу покласть на всякие архитектуры, ему нужны фичи здесь и сейчас. Лучше сразу продавливать микросервисы с очевидными минусами на старте, решить все проблемы до появления нагрузок, а значит и больших штрафов\потерь средств. Нежели пытаться в начале с экономить на условную сотню часов пары разрабов.
@neoxack
@neoxack 5 ай бұрын
Монолиты тоже можно писать нормально
@wadyn95
@wadyn95 5 ай бұрын
На практике, не доживешь ты пока получишь плюсы от микросервисов
@jurijskobecs2803
@jurijskobecs2803 5 ай бұрын
Обидно за монолиты стало даже)
@СтороннийНаблюдатель-ч6ф
@СтороннийНаблюдатель-ч6ф 5 ай бұрын
У Вас ложная дихотомия в утверждении: "микросервисы - хорошая архитектура и поддерживаемость by design, монолит - пргрессирующая сложность и банкротство". Далее Вы, на основании этого ложного утверждения делаете выводы: "что надо продавливать микросервисы, пусть за это заплатит бизнес (правда, чужие деньги не свои же) - потому что когда-то потом это окупится". В реальности все может и скорее всего окажется наоборот. Микросервисы стартапа превратятся в микросервесный монолит о чем и говорит докладчик, а стоимость разработки будет возврастать с каждой строчкой.
@ЭдгарЭдгар-с4л
@ЭдгарЭдгар-с4л 5 ай бұрын
Монолит можно написать хорошо и он будет маштабироваться совершенно спокойно. Модульный монолит с асинхронными ивентами и вертикальным срезами спокойно маштабируюется, а в случае необходимости модуль вносится в отдельный сервис, главное не пытаться выносить то, что должно быть рядом в бд
@egor.cleric
@egor.cleric 5 ай бұрын
человек после 30 лет работы признаётся, что все эти 30 лет он как архитектор(или не все 30) плохо работает
@sergey8366
@sergey8366 4 ай бұрын
справедливо для 99% архитектов. просто не все признаются. большинство бесконечную евангелистику из базвордов на концах толкают
@inapik
@inapik 4 ай бұрын
Верните этому человеку 90е. Пусть себе «строит»…
@ЕвгенийГригорьев-ш9ц
@ЕвгенийГригорьев-ш9ц 5 ай бұрын
Миллион таблиц миллион диаграмм в стартапе? Что за чушь несет этот "знаток". Уважаемые люди из Ядра - гоните его немытой метлой, прям этот индивид портит вам авторитет!
@Petyaumniy
@Petyaumniy 4 ай бұрын
"Мы думаем о микросервисах с технологической точки зрения". "Облик микросервиса определяет технология на которой мы его строим". Понимаю почему этот пингвин в 50% случаев стоит распределенные монолиты. Но в упор не понимаю, что он делает на сцене?
@ОлегИванов-я2ж5и
@ОлегИванов-я2ж5и 4 ай бұрын
А где взять информацию как не ошибиться в таком построении?
@kl45gp
@kl45gp 5 ай бұрын
не согласен
@JoSmith0
@JoSmith0 5 ай бұрын
Интересный доклад, но представлен взгляд с инженерной точки зрения через понятия "сложности" без цифр,, хотя правильно бы взглянуть с бизнес стороны, где дешевле использовать микросераисы, а потом пивотить и создавать монолит на свой вкус. Да, будет техдолг, но на то он долг чтоб быть списан при пивотах)
@technotarius4444
@technotarius4444 4 ай бұрын
Хмм.. Интересно если например это DLP или SIEM система, то пусть попробуют её запихнуть в монолит. Одно дело десктоп приложения которые завязаны на железо(SCADA или приложение-комбайн для Side channel Analysis (типа Riscure Inspector), но даже в этих случаях примененяется система плагинов для расширения функции ПО.
@МихаилБасов-ш7ш
@МихаилБасов-ш7ш 4 ай бұрын
глянь архитектуру самого популярного DLP решения в России, это монолитный InfoWatch TM
@spheredemonis2235
@spheredemonis2235 5 ай бұрын
Ядро наверное пожалеет что взяло Даниила к себе. Когда человек больше языком чешет, чем делает это печально! Хотя Даниил воплотил мечту всех джунов - не писать производительный код, а просто языком трепать! Даниил надеюсь, я никогда не увижу код написанный вами, тем более в ядре. Желаю, чтобы вас раскусили и уволили быстрее, чем вы там что-то наделаете
@ЕвгенийГригорьев-ш9ц
@ЕвгенийГригорьев-ш9ц 5 ай бұрын
Я тоже надеюсь, что есть разумные люди в Ядре посмотрят и выставят эту "сову на глобусе" за дверь и надеюсь карьера это "пузыря" покатится под откос
@grigoriiegorov7778
@grigoriiegorov7778 4 ай бұрын
Он конечно товарищь повышенной таксичности, но откуда такая злоба =). Знаний которые он переносит в дело достаточно, и то что люди с ростом меньше делают, а больше языком чешут это данность не случайность
@alieslapatsin5848
@alieslapatsin5848 5 ай бұрын
добры даклад! "Варвара Лискова" - пасьмяяўся :)
Остановили аттракцион из-за дочки!
00:42
Victoria Portfolio
Рет қаралды 3,6 МЛН
Самое неинтересное видео
00:32
Miracle
Рет қаралды 2,9 МЛН
АЗАРТНИК 4 |СЕЗОН 2 Серия
31:45
Inter Production
Рет қаралды 1,1 МЛН
🍉😋 #shorts
00:24
Денис Кукояка
Рет қаралды 3,3 МЛН
Почему вам нужно изучать программирование
19:09
Сергей Дмитриевский. Программирование
Рет қаралды 815
Остановили аттракцион из-за дочки!
00:42
Victoria Portfolio
Рет қаралды 3,6 МЛН