Последние посты

Архитектура распределённых систем
17 сент., 14:28изменён
С 2022 года я задаю индустрии один и тот же вопрос: насколько мелко нарезать? Сначала про микросервисы, потом про модули монолита и даже про команды и отделы. Теперь настало время приложить вопрос и принципы ответа на него к большим объёмам данных и поиску по ним. Здесь он звучит так: какого размера должен быть шард индекса.Повод задуматься дал Яндекс. На конференции «Я про бэкенд» есть активность «2718» — system design наоборот. Задачи присылают зрители, жюри отбирает самую заковыристую, а решает её в прямом эфире инженер Яндекса: условие видит впервые, детали выспрашивает сам. Я не удержался и отправил свою.Если кратко: Поиск по двум миллиардам документов. Индекс на одну машину не помещается, его режут на шарды и раскладывают по двумстам серверам. Порежете мелко — каждый запрос превращается в тысячу обращений, и ответ придёт со скоростью самого медленного шарда. Порежете крупно —TelegramАрхитектура распределённых системПосле одного из выступлений мне задали очень хороший вопрос — применим ли мой принцип каскадного снижения связанности только в софте (микросервисах и монолитах) или в целом и в других сферах жизни? Скажу честно — к такому вопросу я готов не был 😅. Сходу…
Архитектура распределённых систем
10 сент., 22:05
Продолжаю развивать свои архитектурные подходы и aact — мой открытый репозиторий для работы с архитектурой as code. Теперь хочу подключить к этому студентов и магистрантов: подал несколько проектов в AI Talent Hub ИТМО, которые можно начать на проектной практике и развить в диплом/ВКР под моим научным руководством.Да, с прошлого года я ещё и научрук 🧑🎓За последние годы у меня накопилось много материала про границы компонентов, связанность, тестирование архитектуры as Code и другие архитектурные подходы и идеи. Часть из них материализуются в aact — там появляются инструменты, которыми эти идеи можно проверять. Но и сами подходы хочется дальше проверять об практику, искать ограничения и дорабатывать. Тем более, что у меня появился ещё и средовой подход, ещё более требующий какого-то воплощения в реальности и проверки своих гипотез.Из всего этого


Архитектура распределённых систем
2 сент., 07:12изменён

Архитектура распределённых систем
15 авг., 16:37изменён

Архитектура распределённых систем
3 авг., 21:22изменён
[начало выше]Во втором варианте человек сначала проектирует среду создания: спецификацию, архитектурные правила, тесты, доступные инструменты, контекст, ограничения по ресурсам и условия остановки. Те же ИИ-агенты, возможно даже с тем же оркестратором, создают систему внутри этой среды. Человек вмешивается, когда правила среды не удерживают нужный результат или оказываются неполными.А потом начать портить обоим вариантам жизнь: увеличивать объём системы, добавлять неизвестные заранее требования, менять условия в процессе, заменять модель или одного из агентов. Измерять затраты человека на настройку и дальнейшие вмешательства, количество прямых исправлений, объём перепроектирования, нарушения правил, стоимость и время создания системы.На маленькой задаче поэлементное управление вполне может победить: среду ещё нужно построить, а её стоимость не успеет окупиться. Но с ростом системы


Архитектура распределённых систем
3 авг., 21:13изменён
Очень много всего сейчас происходит параллельно... Голова кипит. Из основного творческого — это 2 отдельных почти непересекающихся направления: конечно же, книга «Доказательная архитектура» и средовой подход. Сегодня ночью очередь второго ⚗️Основная гипотеза перехода от системного к средовому подходу в ИТ у меня сейчас такая: код благодаря ИИ дешевеет; компонентов любой системы (микросервисов, модулей в модульном монолите и т.д.), вероятно, станет больше, а изменения в них ускорятся. Количество потенциальных взаимодействий между ними может расти ещё быстрее. В какой-то момент проектировать каждое взаимодействие вручную станет слишком дорого, и часть работы архитектора переедет на уровень среды: архитектор будет задавать общие законы, настраивать стимулы и механизмы отбора.Тут есть пробел в рассуждении — «в какой-то момент», а в какой? При каких


Архитектура распределённых систем
28 июл., 04:50изменён
Всем привет! Сегодня у меня день рождения, и я сделал себе к нему подарок — закончил работать над черновиком своей книги "Доказательная архитектура" 😊 🎞️🎞️🎞️🎞️🎞️🎞️🎞️«Ну ты же архитектор, тебе виднее».Эту фразу слышал, кажется, каждый в профессии, и говорят её обычно с уважением. Только вот с чего виднее? За решением стоит опыт — сколько-то похожих систем, сколько-то прочитанных книг, сколько-то шишек. У коллеги, который предлагает сделать наоборот, найдётся не менее убедительная история. Оба опираются на опыт и оба звучат уверенно, а выбрать в итоге нужно какой-то один вариант.Я много лет собирал ответ на этот вопрос по кускам: в докладах,


Архитектура распределённых систем
22 июл., 21:39
🎙 На канале @another_sa вышел подкаст с моим участием [спасибо Андрей @and_burakov, что позвал. Зови ещё!]Говорили про то, что я люблю больше всего: куда едут код-агенты, что будет с индустрией, как поедут наши роли и чему придётся доучиваться. Вышло и правда философски — местами улетали лет на десять вперёд.С этого и начали. Прошлой осенью я впервые на конференции про свой взгляд на будущее (позже написал статью), где сдвиг в методологиях проектирования архитектуры я закладывал на «лет через пять-десять». А в этом месяце сел за ретроспективу своих прогнозов — и обнаружил, что этот сдвиг уже случился, за какие-то полгода. Настолько всё ускорилось.💨 Несколько мыслей, которые я в подкасте накидываю на вентилятор🤖 Код-агенты за полгода прыгнули так, что я сам не сразу поверил ПрошлыYouTubeРазработка и проектирование после AI. Куда движется индустрияКод-агенты развиваются и все лучше справляются с разработкой, но можем ли мы использовать AI для более высокоуровневых задач, включая проектирование архитектуры? Куда будет двигаться индустрия в ближайшие годы, как будут меняться привычные IT-роли? Обсудили…
Архитектура распределённых систем
18 июл., 12:49изменён
В этом году я впервые был научруком в ИТМО ▪️ И я в очередной раз убедился, что преподавание для архитектора работает как супер-ускоритель насмотренности (писал об этом: https://t.me/rsa_enc/339). Приведу три примерчика, какие штуки в итоге получились у моих дипломников:➡️ Сервис изучения английского на LLM. Самое вкусное там — каскадный пайплайн: большая внешняя модель занимается только коррекцией ошибок, а классификацию по 263 компонентам знаний делает дешёвый правило-ориентированный маршрутизатор. Качество обнаружения ошибок выше 90%, а время и стоимость запроса — кратно ниже, чем если загонять всё в одну большую западную LLM. Хорошее напоминание: стохастическое и детерминированное стоит разносить по разным компонентам. Продукт запущен: https://dreamlang.ru/ 🔥
Архитектура распределённых систем
10 июл., 11:03
Вычислительная техника десятилетиями приучала нас, программистов, к абсолютному детерминизму: написал инструкцию — машина выполнила ровно её, миллиард раз подряд одинаково. Кажется, мы единственные инженеры, которым достались настолько тепличные условия. Строитель никогда не знал точной прочности конкретного замеса бетона — только распределение, и надёжность в ГОСТах до сих пор считается через вероятность отказа. Инженерный мир всегда жил с допусками. Софт был исключением.Ещё в школе, когда я только изучал Паскаль, мне казалось, что настоящий искусственный интеллект наступит тогда, когда программы начнут ошибаться (как и мы, люди — в этом одна из главных наших сильных способностей). Тогда бесило, что "if" всегда работает одинаково, что 2+2 — всегда 4 (про javascript я тогда ещё не знал 😂). И казалось, что ошибки программ (именно ошибки, не баги) —


Архитектура распределённых систем
2 июл., 19:36изменён
Нужны ли джуниоры в ИТ, когда есть ИИ?Вопрос звучит в каждом втором чате, и мне кажется, он поставлен в устаревшей системе координат.Смотрите: технологии сменились настолько, что опыта в новом нет ни у кого. ИИ-агенты, SDD, harness-инжиниринг — этим дисциплинам ноль лет, а приёмы в них устаревают быстрее, чем успеваешь их документировать (вышла новая модель — половина наработок в корзину). В этом смысле сейчас джуниоры — все. И вчерашний выпускник, и синьор с 15 годами стажа.🤩 Мы просто всё ещё живём в парадигме лопат: есть джуниор-копатели и синьор-копатели, первые копают медленно, вторые быстро. А в отрасль приехали экскаваторы. И да, джуниор-копатель в новой картине мира не нужен — нужен джуниор-экскаваторщик. Мы же продолжаем совершенствовать лопаты и спрашивать на собеседованиях разницу между штыковой и совковой.Тем, кто уверен, что синьоры


Архитектура распределённых систем
25 июн., 08:50
В прошлых постах и докладах, и статьях (😅) про будущее ИТ я говорил о важности формулирования новых вызовов в индустрии: Но мы почти не говорим о нерешённых и, тем более, о непоставленных задачах. Мы не обсуждаем вопросы, которые ещё не заданы. А чтобы задача поставилась, нужно как минимум о ней задуматься. И там же постарался такой вызов сформулировать: На мой взгляд, следующий этап развития ИТ — это переход от системного подхода к средовому. Теперь настало время хотя бы начать задумываться об ответе. А кому этим заняться, если не мне? 😎Сел набрасывать методологию: как проектировать ИТ-продукт, когда ты больше не специфицируешь 300 микросервисов поштучно, а задаёшь среду — законы, стимулы, ниши, отбор, — а продукт внутри взращивается сам или руками ИИ-агентов. По сути садоводство вместо сборки.И тут вылезло


Архитектура распределённых систем
15 июн., 09:51изменён
В одном из прошлых постов я писал о том, что архитектура часто строится на вере:По сути, слишком большая часть архитектуры в индустрии до сих пор строится на вере. На вере в авторитет, в паттерны, в привычные формы, в чужой опыт и в надежду, что если у кого-то это уже сработало, то у нас тоже как-нибудь взлетит.Предлагаю порассуждать, что в архитектуре можно считать доказательством.Как только мы произносим слово "доказательство" применительно к архитектуре, появляется соблазн понять его слишком буквально.В математике доказательство — это вывод из аксиом, который верен всегда и везде. В физике — воспроизводимый эксперимент. В медицине — иерархия исследований, на вершине которой двойные слепые рандомизированные испытания. И во всех трёх случаях за словом "доказано" стоит вполне определённый, формализованный процесс.В ИТ-архитектуре такого процесса нет. И, скорее всего, не будет.TelegramАрхитектура распределённых системВ июне на конференции TechLeadConf в Питере я буду куратором и членом жюри архитектурной каты — соревнования по проектированию ИТ-архитектуры. И пока думаю, как это всё лучше организовать и по каким критериям потом оценивать решения, меня всё сильнее гложет…
Архитектура распределённых систем
9 июн., 15:08изменён
🎙 На CodeFest я не только был в команде ПК, но ещё и немножко выступил сам — поучаствовал в публичных дебатах на интересную тему:Есть ли будущее у языков программирования в том виде, в котором мы их знаем? (видео дебатов)Самое забавное, что по жребию мне досталась защита позиции «да, языки останутся примерно такими же» Хотя моя настоящая позиция почти противоположная. Я уже писал об этом отдельный провокационный пост и статьюНо дебаты хороши тем, что заставляют честно сыграть иногда и за противоположную сторону. И аргументы пришлось приводить вполне себе настоящие:1️⃣. Всё, что сейчас умеют LLM, — это в огромной степени наш человеческий опыт.Они обучены на нашем коде, библиотеках, паттернах, ошибках и костылях. Они пишут на Python, C# и JavaScript не потому, что это «правильные» языки, а потому что на них


Архитектура распределённых систем
27 мая, 20:36изменён
На дне открытых дверей ИТМО кратко рассказал про свой курс по проектированию микросервисной архитектуры (https://microservices.itmo.ru/)Кратко, конечно, получилось условно — потому что курс я веду уже который год, и каждый год он немного мутирует 🙂 Начиналось всё с 7 теоретических лекций, из которых приходилось что-то выкидывать, чтобы заменять на новое, более полезное.. И сейчас их уже 10, и я всё чаще думаю, что нужна минимум 11-я. При этом убирать уже совсем нечего: всё случайное и устаревшее постепенно отвалилось, осталась база (которую, на мой взгляд, нельзя просто «загуглить и прочитать в паре статей») и уникальный мейнстрим, о котором стараюсь рассказывать и на конференциях.Почему курс сейчас кажется мне ещё актуальнее, чем несколько лет назад?Потому что с приходом ИИ код всё сильнее уходит в сторону генерации агентами. Простые решения всё
Архитектура распределённых систем
10 мая, 20:34изменён
Встречайте AACT 2.0 — большое обновление моего OpenSource-репозитория с инструментами для работы с архитектурой as Code!Сегодня замержили большой PR #17: https://github.com/Byndyusoft/aact/pull/17 🐱Только зацените: +16871 | -6444 🟩🟩🟩⬜️⬜️Когда я впервые выкладывал aact, это был код и примеры к идее: раз архитектура у нас «as Code», почему бы не покрыть её тестами? Потом появились автогенерация, roadmap, справочник принципов и паттернов... А теперь репозиторий сделал следующий большой шаг: aact превращается из набора примеров в полноценный инструмент — CLI + npm-пакет для проверки, анализа, генерации и частичного автоисправления архитектуры.Команды CLI: npx aact init npx aact check npx aact check --fix npx aact analyze npx aact generateЧто умеет: 🔘поддержка PlantUML и Structurizr
Архитектура распределённых систем
4 мая, 12:12изменён
🎙 Codefest, дебаты и провокация про языки программирования ⚔️В этом году я снова в программном комитете Codefest — и помимо привычных дел с архитектурным/Future/бэкенд треками в этот раз мне выпало участвовать ещё и в самих дебатах в качестве одного из спикеров. Тема дебатов прямо в десятку моих недавних провокаций:«Есть ли будущее у языков программирования в том виде, в котором мы их знаем и привыкли видеть?»Формат для конференции свежий: прямо на сцене нас поделят на две команды — За и Против — и попросят аргументировать каждую позицию. Зал сможет подключаться вопросами, а в конце каждый спикер раскроет, на чьей стороне он на самом деле 😏Свою настоящую позицию я в канале уже размашисто проговаривал (https://t.me/rsa_enc/382), коротко напомню 👇


Архитектура распределённых систем
23 апр., 17:17изменён
Неделя выдалась плодотворная ) очередной пост ))Уже почти становится традицией — третью весну подряд у меня выходит статья на Хабре ☀️На этот раз я в текст облёк свой доклад про будущее ИТ, о котором уже писал здесь.. Повторюсь, что в этот раз я решил сознательно чуть отойти от привычного сугубо практического формата.Если раньше я в основном писал про вполне прикладные вещи (гранулярность микросервисов, проектирование отказоустойчивости, покрытие архитектуры тестами, каскадное снижение связанности) — то здесь попробовал замахнуться на горизонт пошире: - что вообще происходит с ИТ, - что меняется из-за ИИ, - зачем в новом мире по-прежнему нужна архитектура, - и что со всем этим делать разработчику уже сейчас.Ключевая мысль для меня такая: человеческая ценность всё меньше в самом написании кода и всё больше — в борьбе со сложностью, в


Архитектура распределённых систем
22 апр., 12:31изменён
🔮 Стратегия айтишника в эпоху ИИ: как остаться востребованнымВсем привет! Последние месяцы я активно думаю, пишу и выступаю о будущем ИТ — доклады про ИИ, посты про настоящие компетенции, на подходе — объёмная статья для Хабра..И наконец-то я довёл все эти рассуждения до конкретного прикладного результата — и спешу им с вами поделиться! 🚀📌 SWOT-анализ + стратегия «Айтишник в шестой технологической волне» ➡️ https://app.sociotech.center/projects/public/133b2a7b-c7b0-4559-8fe6-1b734e5085b1Это не очередные «10 советов, как не потерять работу из-за ИИ» 😅. Это полноценная стратегия — с целью до 2029 года, измеримыми метриками, тремя ключевыми гипотезами и конкретными задачами под каждую. Всё по букве методологий Карты гипотез и Связанного


Архитектура распределённых систем
21 апр., 09:07
Вышел пилотный выпуск подкаста про ИИ в разработке, в котором я принимал участие 🎙 Говорили не про ИИ в SDLC в целом, а конкретно про проектирование архитектуры — ровно нашу тему 😋, которая иногда теряется пока все обсуждают генерацию кода.Собрались вчетвером: ведущий Андрей Дмитриев (JUG Ru Group), Максим Смирнов (@it_arch), Андрей Бураков (@another_sa) и я.Пара тем, которые хочется отдельно отметить 👇🚀 Архитектурные метрики. Тема, про которую я писал и выступал уже много раз — и метрики через покрытие архитектуры тестами, и принцип каскадного снижения связанности, и наш опенсорс-инструмент для подсчета архитектурных метрик.. И вот прямо сейчас та самая ситуация, когда то, чем занимался годами, на глазах становится в разы актуальнее! СобиратьYouTubeAI Dev Podcast #1 / Проектирование систем в эпоху ИИ / Максим Смирнов, Руслан Сафин, Андрей Бураков📢 [AI Dev подкаст #1] ИИ в проектировании архитектуры: хайп, метрики и «скиллы» Спойлер: LLM уже справляется с проверкой техрадара, оценкой пул-реквестов и анализом архитектурного долга. Но есть нюансы. Мы собрали трех практиков, чтобы ответить на вопросы:…
