Ах, как хочется вернуться, ворваться в монолит! / Павел Лакосников (Авито)

  Рет қаралды 14,443

HighLoad Channel

HighLoad Channel

7 ай бұрын

Приглашаем на конференцию Saint HighLoad++ 2024, которая пройдет 24 и 25 июня в Санкт-Петербурге!
Программа, подробности и билеты по ссылке: vk.cc/cuyIqx
--------
--------
Профессиональная конференция разработчиков высоконагруженных систем Saint HighLoad++ 2023
Генеральный партнер конференции Garage Eight.
Презентация и тезисы:
highload.ru/spb/2023/abstract...
Микросервисы - это все еще новый черный. Любой продукт станет лучше, если в нем есть блютус, блокчейн и микросервисы. Даже моя бабушка спросила, можно ли сделать микросервисную швейную машинку.
...
--------
Нашли ошибку в видео? Пишите нам на support@ontico.ru

Пікірлер: 110
@nomorerabb1ts
@nomorerabb1ts 7 ай бұрын
Кажется, эффективные менеджеры уже придумали, чем будут заниматься в Авито последующие 8 лет :-)
@TheMMgo
@TheMMgo 7 ай бұрын
Портить малину инженерам и запиливать сервисв обратно в монолит, конечно-же :sarcasm:
@user-fg3ed2gz7y
@user-fg3ed2gz7y 2 ай бұрын
Такое ощущение что большинство комментаторов работают в маленьких компаниях и не понимают про работу в больших и сложных с многими бизнесами внутри, сложными процессами, согласований и консистентного общего сайта
@dmitriyobidin6049
@dmitriyobidin6049 7 ай бұрын
Микросервисы - это следующий этап развития монолита. Не альтернатива, как многие думают. Для 99% компаний SoA, по сути флот из малого количества средне размерных монолитов общающихся по общей шине(той же кафке) - золотая середина.
@sasichkamega
@sasichkamega 5 ай бұрын
Чё такое SoA нахой?
@germanmalinovsky1719
@germanmalinovsky1719 5 ай бұрын
@@sasichkamega Service-oriented architecture
@germanmalinovsky1719
@germanmalinovsky1719 5 ай бұрын
Это не следующий этап развития монолита. Выбор архитектуры зависит не только от задач проекта, но и от способа логической организации работы команд в компании. Также и монорепозитории появились как раз в первую очередь из-за способа организации команд проекта, и нельзя сказать что везде монорепозитории нужны, как и микросервисы.
@nikitavilunov1913
@nikitavilunov1913 7 ай бұрын
То что дебагинг микросервисов стал такой проблемой это симптом того, что вы неправильно на микросервисы распилили. У вас не должно быть такого, что микросервис порождает десяток подзапросов, если вам нужны данные, то нужно их дореплицировать в свой микросервис/домен, либо в крайнем случае делать максимально дешевые запросы, которые практически не надо дебажить. Десять подзапросов на каждый запрос - это не микросервисы, это распределенный монолит.
@SergeiPeshalov
@SergeiPeshalov 7 ай бұрын
Полная чушь. 1) "Десять подзапросов на каждый запрос" - самый обычный случай - у тебя конвейер. Там хоть 100 будет - и что дальше?. 2) Если у тебя запрос ложится в 2-3 подзапроса - у тебя настолько ничтожно-малая система, что не понятно нафига вообще тебе микросервисы?
@proger150
@proger150 7 ай бұрын
поделитесь пожалуйста навыками суждений о масштабах системы лишь по кол-ву порождаемых ее запросов. каким образом можно достичь такого уровня дзынь?)
@TheMMgo
@TheMMgo 7 ай бұрын
К счастью участь распределенного монолита мы избежали. репликация данных из сервиса в сервис - есть такой подход, да. Но это - не самый дешевый подход (особенно на масштабах Авито с десятками террабайт данных в сервисе), требует вместе с данными тащить и логику их получения\заполнения (ведь сервисы это таки не CRUD, а если CRUD - у тебя проблемки) Идея в том, что если у тебя глубина цепочки >1 ты уже не можешь поставить бряку в произвольной точке, как раньше. А этого ох как хочется.
@constantinegeist1854
@constantinegeist1854 7 ай бұрын
"Неправильно распилили монолит" - это как "real communism was never tried". Есть якобы какой-то идеальный распил, но никто его не видел
@bgckrbm
@bgckrbm 4 ай бұрын
Все знают, что распил монолитов придумали для распила фота.
@-dubok-
@-dubok- 7 ай бұрын
Проблема микросервисов в том, что из-за синхронной манеры общения между ними (в стиле запрос/ответ) они в сумме мало отличаются от монолита - просто добавляются сетевые издержки и куча условностей в общении между ними. Если не поменять сам подход к созданию системы, то у вас так и останется монолит, но прибавится куча проблем. А выход - в EDA, event-driven architecture, в событийно-ориентированной архитектуре. И, по идее, надо изначально делать систему именно такой. Распилить монолит и сделать его в другой архитектуре не получится. EDA - это асинхронный подход к созданию распределённой системы. Из-за этого прямые связи между модулями отсутствуют, передаются безадресные события через некого посредника-шину. Это делает систему очень надёжной, устойчивой к выходу из строя отдельных модулей (например, во время их обновления), а также к полной независимости модулей друг от друга, что и позволяет использовать любые языки. Всё, что общее - это события, которые все модули понимают одинаково. Но EDA - это совсем другой мир и тут надо совсем по-другому мыслить и изначально делать систему в таком виде.
@i.p.1832
@i.p.1832 7 ай бұрын
EDA не панацея и не серебрянная пуля. Посмотрите полезный доклад на тему Event Sourcing You are doing it wrong by David Schmitz
@-dubok-
@-dubok- 7 ай бұрын
@@i.p.1832 event sourcing не равно EDA. Эта технология может использоваться вне EDA, а EDA может не использовать event sourcing.
@alexb6036
@alexb6036 3 ай бұрын
Ни чем кроме отсутсвия необходимости мгновенного ответа это не отличается. Более того некоторых задачах нужен мгновенный ответ а не ожидания пока оно обработается в очередни. Система очередей это вообще не новая идея а старая как само програмирование. Возводить технологию в абсолют это типичный признак начинающего инженера которому не имется найти гениальную идею что бы показать все насколько он умен. Типичное меряние письками вместо обдумывание и целепологания на результат.
@-dubok-
@-dubok- 3 ай бұрын
​@@alexb6036 по существу ничего не сказал. Кроме наезда уловил только мысль о том, что иногда нужен мгновенный ответ. Само собой, но как раз-таки глупо использовать этот паттерн в сложной системе, где нужна модульность для простоты поддержки и разработки. Одной команде сложно работать с монолитом, даже разбитым на микросервисы. Там, где нужен быстрый ответ, там его и нужно использовать, а если он не нужен (что чаще всего и бывает), то лучше использовать события, потому что они делают части системы независимыми и самодостаточными, о чём мечтают все нормальные программисты, потому что такой код проще контролировать.
@alexb6036
@alexb6036 3 ай бұрын
​@@-dubok- Насчет быстрого ответа, он нужен почти везде, а где не нужен быстый ответ синхронизация происходит через записить в базу в одном месте и чтения в другом. Что обеспечивает целостность информации по средствам базы и простой понятный подход с возможностью посмотреть состояние через SQL и очень простым аудитом. Этого достаточно почти всегда. А вот очереди это самое последнее что нужно использовать, потому что они требуют много дополнительных сил для настройки и управления. Асинхронно работающий код очень сложно понимать в сравнени с последовательным опросом внешних сервисов. Но ситуация даже проще, микросервисы почти ни где не нужны, потому что имеют смысл только там где большие нагрузки вроде авито или гугла. В остальных проектах это монолит, в лучшем случае пару дополнительных отдельных крупных сервисов и может быть где то микро для особо нагруженных задач. То что вы написала про очереди как о более простом способе общения это не так. В случае с запросами код выполняется последовательно и он либо выболнился получив ответ или не выполнился, все просто и понятно. С очередями вам нужно заводить какие то примитивы синхронизации в которых будет копиться информация приходящая из очередей и как раз в этом случае вам потребуется писать код котрых будет периодически проверять состояние а пришли ли все данные из нескольких сервисов что бы их объеденить и сделать следующее действие, что и есть "куча условностей в общении между ними". Про "добавляются сетевые издержки" это надуманное, с очередями все даже хуже. Потому что вы сначала пошлете данные в условых RebbitMQ а потом он перешлет данные в другой сервис это два HTTP запроса, если у вас сервис запрашивает данные у другого сервса напрямую это один запрос.
@romanbush5164
@romanbush5164 Ай бұрын
Согл, а когда команда из 5 человек, 3 из которых разработчики бэка, решают распилить монолит и идти в микро сервисы, я не знаю как это назвать... В мелкой компании где всего 10 сотрудников
@nekodim
@nekodim 7 ай бұрын
Версионность на 2К микросервисов в принципе не рассматривается? Даже если представить не 2К, а хотя-бы 200 микросервисов в бакенде, включить версионность, совместимость (матрицу совместимости АПИ), и кросс-тестирование совместимости всего этого после нескольких лет интенсивной разработки, не забыть про поддержку старых версий и прочее. Теоретически можно, если 50 человек на саппорт архитектуры, но это не точно.
@TheMMgo
@TheMMgo 7 ай бұрын
версионированность чего именно? у нас внутренние методы, и события версионируются. есть постоянное контрактное тестирование как часть жизненного цикла ЛЮБОГО сервиса. И теперь это не требует 50 человек на поддержку (часы поддержки тратим на иное =))
@mrvillst
@mrvillst 27 күн бұрын
Офигенное выступление, выпал на "Позиция SRE" профилирование микросервисов, ахахахха
@qinabu
@qinabu 7 ай бұрын
"Сорян-мусорян", но кто написал 2300 сервисов? Кто отвернулся в другую сторону когда это случилось? =) Всем привет!
@TheMMgo
@TheMMgo 7 ай бұрын
мы и написали, да -) И не стоит мое "нытье" воспринимать как сожаление о своем решении. Путь в микросервисы был долгим, дорогим. И мы многое потеряли в процессе - тот же дебагинг. Но оно того стоило в итоге. Хоть и жаль тот же дебагинг...
@ddruganov
@ddruganov 7 ай бұрын
извините конечно, но 2.5-4к сервисов? я может чего-то не понимаю, но откуда они берутся? на каждую кнопку свой сервис?)
@TheMMgo
@TheMMgo 7 ай бұрын
в Авито 5 больших, не похожих друг на друга, вертикалей бизнеса: Авто, Работа, Недвижимость, Услуги, Товары Каждая вертикаль - живет по своим законам. Считай - что каждая вертикаль - отдельный бизнес, отдельный(нет) набор микросервисов. Добавим сюда - пачку внутренних сервисов, и пачку тестирующихся в моменте АБ-тестов (иногда с отдельными мини сервисами под эксперимент)
@redneck_prm5429
@redneck_prm5429 3 ай бұрын
@@TheMMgo А сколько в среднем выходит численность команды, поддерживающей один микросервис? Или на таких числах уже выходит несколько микросервисов на команду?
@TheMMgo
@TheMMgo 3 ай бұрын
@@redneck_prm5429 сложно ответить, владение сервисами идет не персональное а командное. и это сильно зависит от самой команды, ее размера, ее бизнес-домена
@viacheslav90
@viacheslav90 3 ай бұрын
На каждого бекендера по сервису)) Мне кажется что большинство проблем у них из-за того что слишком мелко все распилили
@N5O1
@N5O1 Ай бұрын
каждый модуль/сервис вынесен в лямбду например. я переписывал как-то букинг систему, где логики практически нет, но она была поделена на несколько десятков микросервисов
@sergeya3184
@sergeya3184 Ай бұрын
Из крайности в крайность: от монолита в тысячи сервисов. Вообще, интересно сравнить эти 2 парадигмы на одном и том же функционале, сколько к примеру людей нужно, чтобы поддержать современный авито, если бы он остался монолитом, и сколько при этом дежурных?
@SergeiPeshalov
@SergeiPeshalov 7 ай бұрын
Начало распила - реально горе от ума )
@alexanderkolinchenko
@alexanderkolinchenko 7 ай бұрын
Микросервисы - имхо это только и исключительно про сохранение константной скорости разработки системы при любом дополнительном объеме этой разработки. Кардинальное упрощение большой части системы ценой сильного, но контролируемого, усложнения ее в целом. Уверен, что доп функционала, хотя бы близко сравнимого с тем, который заложен в 2500+ мс, в монолите за это же время, имея даже, не знаю, x2 людей, сделать было бы невозможно.
@user-vu8ch5eo7w
@user-vu8ch5eo7w 7 ай бұрын
Микросервисы - это способ раздувания хэдкаунта и ЧСВ менеджеров.
@linermgn
@linermgn 5 ай бұрын
полностью согласен, микросервис это больше про изоляцию, включая команды разработки
@romanbush5164
@romanbush5164 Ай бұрын
что 1000 микросервисов стало сложно поддерживать? и 200 которые неизвестно кто и зачем написал
@PsychoDelissemo
@PsychoDelissemo 5 ай бұрын
Спасибо за доклад, все по делу от практиков 😊
@bfg5244
@bfg5244 7 ай бұрын
Интересно, почему ни слова о SLA
@user-ik4xd8fs8f
@user-ik4xd8fs8f 7 ай бұрын
Докладчик молодец. Можно и монолит держать, как микросервис. Т.е. можно проводить границы в рамках монолита. Авито - огромная компания. Если компания рога и копыта то там и микросервисов будет пару. Легко поддерживать.
@dmitriyobidin6049
@dmitriyobidin6049 7 ай бұрын
8:50 Ну так если раньше собирались, то и при микросервисах будут собираться, т.к. скорее всего меняется апи/контракты/и т.д. А если меняется только внутренний код - то модули же решают.
@bananasba
@bananasba 7 ай бұрын
Обо всем и ни о чем
@Prof-Shor
@Prof-Shor 2 ай бұрын
Вывод: пилите микросервисы, будете обеспечены работой до пенсии и даже после!))
@urbalex
@urbalex 4 ай бұрын
Честно говоря, рассказ скорее выглядит грустно, чем поучительно. Over 2500 микросервисов, долгие релизы, огромные команды поддержки платформы. Вы точно поняли как делать правильно? это совсем не похоже на agile ни в каких местах. Для бизнеса это колоссальная боль маневрировать так медленно и долго
@vyacheslavkovalev9824
@vyacheslavkovalev9824 5 ай бұрын
весело, живо о печальном )
@yegorpetrov
@yegorpetrov 7 ай бұрын
Дошло до того, что заказчики требуют микросервисную архитектуру, отвергая всё остальное как устаревший подход. И плевать, что это всего лишь интернет-магазин пустяшный (я не про Авито, а про компанию, на которую сейчас довелось работать).
@user-eu2rf9hh2z
@user-eu2rf9hh2z 7 ай бұрын
Так радуйтесь, можно денег больше снять
@germanmalinovsky1719
@germanmalinovsky1719 5 ай бұрын
IT болен слепым следованием моде.
@andreiosipov2766
@andreiosipov2766 4 ай бұрын
Так сделайте им микросервис. Один.
@alexb6036
@alexb6036 3 ай бұрын
@@andreiosipov2766 Так это уже будет не микро.))
@alexb6036
@alexb6036 3 ай бұрын
Вы им предложите ещё сделать микро фронт енд, тогда можно к прайсу накрутить ещё какое то кол-во десятков процентов.))
@SergeiPeshalov
@SergeiPeshalov 7 ай бұрын
И правильно что хочется! Монолит - сила! Микросервисы - могила! Микросервисы - для программистов с микропенисами!
@TheMMgo
@TheMMgo 7 ай бұрын
У парней с монолитом 49.5 см
@alexb6036
@alexb6036 3 ай бұрын
Они думают что если сделали в своих рагах и копытах, архитектуру якобы как в гугле, то из размер пениса сразу же становится как у парней из гугла. Это всегда так. Стоит челу из крупной компании написать про какой то подход или технологию, сразу же crud'щики из шараг пытаются копироват, потому что хотят быть такими же. Это называется - мода.
@user-md3xy2kc5l
@user-md3xy2kc5l 3 ай бұрын
@@TheMMgo в диаметре!
@alexchto
@alexchto 2 ай бұрын
@@TheMMgoвнутрь
@ElisDN
@ElisDN 7 ай бұрын
Ну давайте теперь слейте код 2500 сервисов в монолит и попробуйте запустить на ноутбуке :)
@TheMMgo
@TheMMgo 7 ай бұрын
ну пока был монолит "все работало"
@ElisDN
@ElisDN 7 ай бұрын
@@TheMMgo Пардон, но то, что работало и влезало в ноутбук семь лет назад не заработает и не влезет сейчас, когда кода стало в ХХ раз больше.
@Rusebor
@Rusebor 6 ай бұрын
забавно, что этот комментарий, был сделан скорее всего из под ОС, которая представляет из себя монолитное ядро, в котором поболее чем 2.5к сервисов
@ElisDN
@ElisDN 6 ай бұрын
@@Rusebor В ядре Linux это 82 396 файлов с голыми процедурами и функциями на C, которые проверяются быстрыми юнит-тестами. Это не 2.5к модулей, обслуживающих HTTP-запросы и ходящих в свои таблицы БД и свои очереди, что нужно тестировать более медленными интеграционными. Но даже так каждый релиз ядра занимает 2 месяца, а свои проекты мы скорее всего релизим почти каждый день.
@ElisDN
@ElisDN 6 ай бұрын
@@Rusebor Я про простую математику. Что если микросервис из ~30 файлов и 3 таблиц в БД с 3 миграциями и 6 фикстурами можно на ноуте запустить и всеми линтерами и тестами разных типов проверить за 10 секунд, то после склейки 2.5к таких сервисов итоговый монолит из 75к файлов с 7.5к таблицами по 7.5к миграциям с 15к фикстурами эти же проверки займут пару часов.
@urbalex
@urbalex 4 ай бұрын
про амазон история в деталях выглядит совсем не так, как ее разобрали многие кликбейтные заголовки kzfaq.info/get/bejne/p9SUhruZ0NTcgpc.html
@redkostia
@redkostia 5 ай бұрын
Всё так. На текущем проекте сливаем обратно микросеоаисы в один сервис😂
@nickyat2
@nickyat2 7 ай бұрын
Переодически проскакивала мысль - что ты куришь докладчик?
@TheMMgo
@TheMMgo 7 ай бұрын
не курю, спасибо-) но можешь угостить меня виски -)
@alexanderk3762
@alexanderk3762 7 ай бұрын
Ростовчане то вам че не угодили?:))))))
@TheMMgo
@TheMMgo 7 ай бұрын
Ростовчане лапочки-)
@proger150
@proger150 7 ай бұрын
ну а как же офигенно огромной ттм в жирном монолите? Про проблемы сервис меша - это все валидно и инженеры страдают. Но профит для бизнеса огромен когда есть возможность доставлять гранулярно фичи без глобального регресса. Каким образом тогда как минимум гонять QA пайплайны? по всему монолиту сразу? Вы не назвали главного плюса который по истечению этапа мучений перекрывает все минусы - это быстрая адаптация к изменению бизнес требований(относительно быстрая конечно же). Как это делать в условиях просто тотально жирного монолита - не совсем понятно. Наверное в теме доклада ставилась цель донести только минусы, в противном случае вы через чур сильно нас напугали). Но на старте конечно это должен быть монолит чтобы компания смогла скоре заработать и не тратить на оверинжиниринг
@nikitavilunov1913
@nikitavilunov1913 7 ай бұрын
Ответ в том, что нужно не монолиты или микросервисы делать, а сервисы здравого размера, которые достаточно гранулярны чтобы их релиз не стопорил всю компанию, но достаточно большие чтобы не страдать от типичных проблем распределенных систем. А еще нужно осознавать дележку по бизнесу и дележку по техническим требованиям и не надо эти границы всегда делать одинаковыми. > это быстрая адаптация к изменению бизнес требований Мутно сформулированный тезис, который сложно конструктивно обсуждать. Монолиты в целом проще рефакторить, проще модифицировать при затрагивании нескольких доменов одновременно, следовательно он адаптируется быстрее. > Каким образом тогда как минимум гонять QA пайплайны? по всему монолиту сразу? Нет, гоняйте только по изменившимся модулям. Нет тулинга? Так там платформенная команда на 50 человек, может и тулинг сварганить.
@proger150
@proger150 7 ай бұрын
@@nikitavilunov1913 > Мутно сформулированный тезис, который сложно конструктивно обсуждать. Монолиты в целом проще рефакторить, проще модифицировать при затрагивании нескольких доменов одновременно, следовательно он адаптируется быстрее. Быстрая адаптация - это опять же вопрос размера этого монолита.Мой тезис имеет место быть только если работаем со сравнительно внушительных размером модульным монолитом. Автор доклада, как я понял, рассказывает о том что процесс распила был инициирован как рас тогда когда монолит стал жирным(в контексте их реалий). Опять же простота рефакторинга напрямую зависит от его модульности и от уровня изоляции доменов на уровне кода. Если мы говорим о четко выдерженных джентельменских соглашених, когда команды из соседних доменов свои ручки к чужим не суют(что тоже является соблазном и легко пропускается на ревью), если есть тулы которые позволяют делать различного рода рестрикшены на уровне контрибьютинга и т д . Я к тому, что в SOA границы четко расставлены по сервисам, есть возможность внедрения API first на уровне общепринятых инструментов(генераторы и свагеры...), есть железные контракты, которые поломать не так просто(элементарно на уровне приватности тех же репозиториев). В монолите, как вы выразились, для этого всего нужен кастомный тулинг(я конечно с монолитами таких масштабов не работал, может такого рода тулы и существуют. Как-то раньше до распила дело доходило). Если поделитесь ссылочкой на доклад где тема такого рода раскрывается - буду Вам благодарен > Ответ в том, что нужно не монолиты или микросервисы делать, а сервисы здравого размера, которые достаточно гранулярны чтобы их релиз не стопорил всю компанию, но достаточно большие чтобы не страдать от типичных проблем распределенных систем Да, да. Это тру. Микро или не микро - это всегда философский вопрос, ответ на который варьируется от мнения к мнению. Распиливая монолит на любого размера сервисы так или иначе придется делать саги разного уровня сложности(ну в большинстве случаев) и тут мы и сталкиваемся со всеми этими проблемами. Даже если мы начнем "Душить" монолит и по итогу будет монолит + пару сервисов, то уже распределенная система со всеми ее проблемами -> Нет, гоняйте только по изменившимся модулям. Нет тулинга? Так там платформенная команда на 50 человек, может и тулинг сварганить. Можно конечно, опять же вопрос выставления границ. Я с этим не сталкивался, потому как опять же не доводили до такого. Но пилить такого рода тулы - это уже сигнал к тому что какой-то булшит происходит и стоит уже задуматься о долгосрочной перспективе
@proger150
@proger150 7 ай бұрын
Да и к тому же сам факт того что весь биг тех переезжает(или уже переехал) на SOA - неоспоримое подтверждение преимуществ гибкости. Если бы проблемы распределенных систем были бы камнем преткновения , полагаю что CTO, за плечами которых опыта вагон и маленькая тележка, не стали бы тратить на это такое кол-во времени. Мода на сервисы переросла в эмпирически полученный ценный опыт по масштабированию и стала каноном хайлоада в той или иной мере(не придирайтесь только к словам плиз)
@nikitavilunov1913
@nikitavilunov1913 7 ай бұрын
@@proger150 > Я к тому, что в SOA границы четко расставлены по сервисам На практике это не так, вот даже у автора доклада походу получился распределенный монолит, и вообще, я лично никогда не видел хорошо поделенных микросервисов. Границы это не что-то что можно идеально понять с первого раза, а зачастую и со второго-третьего. И даже если ты их поймешь и реализуешь, может прийти что-то новое и затребовать пересмотреть границы. Перенести код между двумя модулями одного сервиса намного проще, чем между двумя разными сервисами, это и делает монолиты гибче. > легко пропускается на ревью Это очень хороший поинт, я часто сталкиваюсь с тем что что-то нежелательное пропускается на ревью. Что с этим можно сделать? 1. Задокументировать неявные свойства кода, сделать их явными, чтобы можно было на них сослаться и в принципе прочитать их если сомневаешься. 2. Покрыть тестами и линтами точки каплинга, валить CI если нарушены договоренности о проведении границ. > если есть тулы которые позволяют делать различного рода рестрикшены на уровне контрибьютинга Делайте тулинг, я ж уже сказал, можно юзать освободившийся ресурс из-под платформы микросервисов. Вопрос того что тулинг нужен уже как бы и не стоит, просто можно его в другую сторону делать. > это уже сигнал к тому что какой-то булшит происходит и стоит уже задуматься о долгосрочной перспективе Почему тулинг для поддержания бизнесовой дележки без влияния на техническую дележку - это булшит, а форсировать одинаковую дележку микросервисами - это не булшит? Второе звучит намного булшитнее. > Да и к тому же сам факт того что весь биг тех переезжает на SOA - неоспоримое подтверждение преимуществ гибкости Нет тут ничего неоспоримого, мало того что очевидно требования бигтеха не ложатся даже на тот же авито, так еще и бигтех сам по себе допускает ошибки. Это не какой-то непоколебимый мудрец, это такие же работяги, которые уязвимы к модным нововведениям и хотят пополнить ими свои сивишечки.
@proger150
@proger150 7 ай бұрын
> Нет тут ничего неоспоримого, мало того что очевидно требования бигтеха не ложатся даже на тот же авито, так еще и бигтех сам по себе допускает ошибки. Это не какой-то непоколебимый мудрец, это такие же работяги, которые уязвимы к модным нововведениям и хотят пополнить ими свои сивишечки. Мода перетекла в здравый смысл. Если есть компании, которые имея несколько тысяч инженеров которые довольны монолитом, то я был бы рад услышать рассказ об их опыте и увидеть их довольные лица а не гарольдфейс) я апеллирую тем, что вижу на этих докладах. Обратной тенденции не наблюдается. Инженеры готовы проходить весь этот путь и идти на коспромиссы распределенных систем. Опять же, если не прав, поделитесь опытом) > Делайте тулинг, я ж уже сказал, можно юзать освободившийся ресурс из-под платформы микросервисов. Вопрос того что тулинг нужен уже как бы и не стоит, просто можно его в другую сторону делать Думаете экономически целесообразно когда распил грозит в будущем?) > 1. Задокументировать неявные свойства кода, сделать их явными, чтобы можно было на них сослаться и в принципе прочитать их если сомневаешься. 2. Покрыть тестами и линтами точки каплинга, валить CI если нарушены договоренности о проведении границ. Ну вы же понимаете что документация кода - это то что надо всегда поддерживать) это так не работает в условиях agile. Документировать будут продукт, а не код. Да и то документация по продукту устаревает, я уж не говорю про документирование кода
@artemiy_uo
@artemiy_uo 6 ай бұрын
прикол в том что сам сайт авито работает максимально плохо, я часто ошибки ловлю на нем ) я слежу за вашими докладами лет 10. такое ощущение что у вас там адский бардак, оверинженеринг и работа ради работы )
@alexb6036
@alexb6036 3 ай бұрын
Там где микросервисы всегда так. Бюджет большой а выход ноль.
@artemiy_uo
@artemiy_uo 3 ай бұрын
@@alexb6036 ну не всегда. Долго работал в компании или где 10 сервисов на банке и в целом все не плохо.
@user-ll2xw7tn6v
@user-ll2xw7tn6v 8 күн бұрын
@@alexb6036 нет. Там где не умеют в микросервисы а-ка EDA , а делают распределённые монолиты - там так, да. В общем-то во многих крупных русских компаниях почему-то не умеют в микросервисы и пилят распр. монолиты.
@AntonioLopez8888
@AntonioLopez8888 7 ай бұрын
Авито что-то опасная компания, я смотрел несколько видео от них..либо для начинающих либо инфантильное вроде этого. Что у вас там происходит?
@MurtagBY
@MurtagBY 7 ай бұрын
В чем заключается инфантильность?
@SYMBAT.K.E
@SYMBAT.K.E 6 ай бұрын
Второй доклад от авито и опять фигня какая-то
@linermgn
@linermgn 5 ай бұрын
IDE подсветит))) Ты просто был моложе, а когда моложе то и ярки краше и еда вкуснее и монолит приятнее)
@OnenessVoices
@OnenessVoices 5 ай бұрын
Перших 15-20% загального часу спікер розповідае про традиційну невиліковну хворобу ВСІХ російських бізнесів - «відсутність професійного менеджменту, відсутність грамотної взаемодіі команд + авральний способ праці ВСІХ». «Жирні нафтови» рокі стрімко закінчились, на порозі военна мілітаризація, стагнація всього, що «не для війни», та арешт закордонних активів + «залізний занавес». Останніх 1-2 рокі бюджетів доя розробки чогось цівільного…
@alexb6036
@alexb6036 3 ай бұрын
Так а что в Украине лучше что ли?) Такое же рукожопие у вас дохрена народа сейчас воюет в армии РФ, прошло уже 2 года войны но в раше даже смогли наладить свой ВПК а в Украине волонтеры собирют дроны дома, что бы хоть как то удерживать фронт. Я конечно же осущдаю нападение на Украину но не нужно всех в РФ обсирать по любому поводу и делать вид как будто в РФ дно а в Украине рай. Я бывал и там и там. По моему обе страны на дне.
@user-ll2xw7tn6v
@user-ll2xw7tn6v 8 күн бұрын
@@alexb6036 1. Это бот. 2. ИТ на украине на порядок выше классом, чем ИТ в России. потому что ИТ на украине это придаток ИТ в США, с их подходами , менеджментом и технологиями. У нас это почему-то "свой путь." Наблюдаю это на примере тех же "микросервисов". Только русские крупные компании продолжают делать распределённый синхронный монолит, вместо асинхронной EDA - трушной мс архитектуры. И ещё спорят с пеной у рта.
О, сосисочки! (Или корейская уличная еда?)
00:32
Кушать Хочу
Рет қаралды 8 МЛН
Would you like a delicious big mooncake? #shorts#Mooncake #China #Chinesefood
00:30
100❤️
00:19
Nonomen ノノメン
Рет қаралды 38 МЛН
Chips evolution !! 😔😔
00:23
Tibo InShape
Рет қаралды 42 МЛН
Учимся составлять факт-карту
35:24
Академия смысла
Рет қаралды 18 М.
О, сосисочки! (Или корейская уличная еда?)
00:32
Кушать Хочу
Рет қаралды 8 МЛН