home.social

#microservices — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #microservices, aggregated by home.social.

  1. Go shines where speed, simplicity, and concurrency matter.

    - Compiles fast to native binaries → easy deployment
    - Built‑in goroutines make scalable back‑ends and microservices painless
    - Strong std‑lib & static typing keep large codebases tidy

    Great for cloud‑native services and CLI tools, less so for heavy GUI work.

    #golang #programming #cloudnative #microservices #opensource

    🔗 news.google.com/rss/articles/C

  2. The book starts by explaining what microservices really are, not just small services, but systems organized around business responsibilities.

    Read the full article: Book Review: Microservices Up & Running
    lttr.ai/AqKqG

    #microservices #StepByStepGuide #MicroservicesArchitecture

  3. The book starts by explaining what microservices really are, not just small services, but systems organized around business responsibilities.

    Read the full article: Book Review: Microservices Up & Running
    lttr.ai/AqKqG

    #microservices #StepByStepGuide #MicroservicesArchitecture

  4. The book starts by explaining what microservices really are, not just small services, but systems organized around business responsibilities.

    Read the full article: Book Review: Microservices Up & Running
    lttr.ai/AqKqG

    #microservices #StepByStepGuide #MicroservicesArchitecture

  5. The book starts by explaining what microservices really are, not just small services, but systems organized around business responsibilities.

    Read the full article: Book Review: Microservices Up & Running
    lttr.ai/AqKqG

    #microservices #StepByStepGuide #MicroservicesArchitecture

  6. I feel like microservices vs monolith is as much as architectural decision as it is an organisational one.

  7. I feel like microservices vs monolith is as much as architectural decision as it is an organisational one.

    #microservices #softwarearchitecture #programming

  8. I feel like microservices vs monolith is as much as architectural decision as it is an organisational one.

    #microservices #softwarearchitecture #programming

  9. I feel like microservices vs monolith is as much as architectural decision as it is an organisational one.

    #microservices #softwarearchitecture #programming

  10. I feel like microservices vs monolith is as much as architectural decision as it is an organisational one.

    #microservices #softwarearchitecture #programming

  11. Повесть о конфигурации как инженерной гигиене

    Привет, Хабр! Меня зовут Юрий Соловьёв, я ведущий инженер в команде экосистемы Tarantool . С опытом я пришел к тому, что конфигурация должна иметь строгую спецификацию, так же как и HTTP API. В этой статье я предлагаю альтернативный подход на базе protobuf и постараюсь показать, что это не избыточная сложность, а необходимый уровень инженерной гигиены — особенно для систем, рассчитанных на долгую и стабильную жизнь. Это в какой-то мере технорассказ, которым я хочу поделиться — и именно в такой форме.

    habr.com/ru/companies/vktech/a

    #vk_cloud #конфигурация #protobuf #configuration_management #infrastructure_as_code #best_practices #yaml #microservices #tarantool #валидация

  12. Повесть о конфигурации как инженерной гигиене

    Привет, Хабр! Меня зовут Юрий Соловьёв, я ведущий инженер в команде экосистемы Tarantool . С опытом я пришел к тому, что конфигурация должна иметь строгую спецификацию, так же как и HTTP API. В этой статье я предлагаю альтернативный подход на базе protobuf и постараюсь показать, что это не избыточная сложность, а необходимый уровень инженерной гигиены — особенно для систем, рассчитанных на долгую и стабильную жизнь. Это в какой-то мере технорассказ, которым я хочу поделиться — и именно в такой форме.

    habr.com/ru/companies/vktech/a

    #vk_cloud #конфигурация #protobuf #configuration_management #infrastructure_as_code #best_practices #yaml #microservices #tarantool #валидация

  13. Повесть о конфигурации как инженерной гигиене

    Привет, Хабр! Меня зовут Юрий Соловьёв, я ведущий инженер в команде экосистемы Tarantool . С опытом я пришел к тому, что конфигурация должна иметь строгую спецификацию, так же как и HTTP API. В этой статье я предлагаю альтернативный подход на базе protobuf и постараюсь показать, что это не избыточная сложность, а необходимый уровень инженерной гигиены — особенно для систем, рассчитанных на долгую и стабильную жизнь. Это в какой-то мере технорассказ, которым я хочу поделиться — и именно в такой форме.

    habr.com/ru/companies/vktech/a

    #vk_cloud #конфигурация #protobuf #configuration_management #infrastructure_as_code #best_practices #yaml #microservices #tarantool #валидация

  14. Повесть о конфигурации как инженерной гигиене

    Привет, Хабр! Меня зовут Юрий Соловьёв, я ведущий инженер в команде экосистемы Tarantool . С опытом я пришел к тому, что конфигурация должна иметь строгую спецификацию, так же как и HTTP API. В этой статье я предлагаю альтернативный подход на базе protobuf и постараюсь показать, что это не избыточная сложность, а необходимый уровень инженерной гигиены — особенно для систем, рассчитанных на долгую и стабильную жизнь. Это в какой-то мере технорассказ, которым я хочу поделиться — и именно в такой форме.

    habr.com/ru/companies/vktech/a

    #vk_cloud #конфигурация #protobuf #configuration_management #infrastructure_as_code #best_practices #yaml #microservices #tarantool #валидация

  15. 𝗙𝗹𝗲𝘅𝗶𝗯𝗹𝗲 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗸𝘁𝘂𝗿 𝗲𝗻𝘁𝘀𝘁𝗲𝗵𝘁 𝗻𝗶𝗰𝗵𝘁 𝗱𝘂𝗿𝗰𝗵 𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝗮𝗹𝗹𝗲𝗶𝗻 – 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗺𝗶𝘁 𝗘𝗯𝗲𝗿𝗵𝗮𝗿𝗱 𝗪𝗼𝗹𝗳𝗳 𝘂𝗻𝗱 𝗙𝗮𝗹𝗸 𝗦𝗶𝗽𝗽𝗮𝗰𝗵 🎤
    Machen #Microservices Systeme automatisch flexibler? Nicht unbedingt. Im Interview erklären @ewolff und @sippsack, warum echte Flexibilität bereits bei fachlichen Grenzen und Architekturentscheidungen beginnt.

    💡 Themen:
    #DDD & Flexibilität
    #Modulith vs. #Microservices
    • praktische Schritte zu flexibleren Systemen

    👉 t1p.de/bf4sm

    #SAF2026 #iSAQB #Softwarearchitektur

  16. 𝗙𝗹𝗲𝘅𝗶𝗯𝗹𝗲 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗸𝘁𝘂𝗿 𝗲𝗻𝘁𝘀𝘁𝗲𝗵𝘁 𝗻𝗶𝗰𝗵𝘁 𝗱𝘂𝗿𝗰𝗵 𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝗮𝗹𝗹𝗲𝗶𝗻 – 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗺𝗶𝘁 𝗘𝗯𝗲𝗿𝗵𝗮𝗿𝗱 𝗪𝗼𝗹𝗳𝗳 𝘂𝗻𝗱 𝗙𝗮𝗹𝗸 𝗦𝗶𝗽𝗽𝗮𝗰𝗵 🎤
    Machen #Microservices Systeme automatisch flexibler? Nicht unbedingt. Im Interview erklären @ewolff und @sippsack, warum echte Flexibilität bereits bei fachlichen Grenzen und Architekturentscheidungen beginnt.

    💡 Themen:
    #DDD & Flexibilität
    #Modulith vs. #Microservices
    • praktische Schritte zu flexibleren Systemen

    👉 t1p.de/bf4sm

    #SAF2026 #iSAQB #Softwarearchitektur

  17. 𝗙𝗹𝗲𝘅𝗶𝗯𝗹𝗲 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗸𝘁𝘂𝗿 𝗲𝗻𝘁𝘀𝘁𝗲𝗵𝘁 𝗻𝗶𝗰𝗵𝘁 𝗱𝘂𝗿𝗰𝗵 𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝗮𝗹𝗹𝗲𝗶𝗻 – 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗺𝗶𝘁 𝗘𝗯𝗲𝗿𝗵𝗮𝗿𝗱 𝗪𝗼𝗹𝗳𝗳 𝘂𝗻𝗱 𝗙𝗮𝗹𝗸 𝗦𝗶𝗽𝗽𝗮𝗰𝗵 🎤
    Machen #Microservices Systeme automatisch flexibler? Nicht unbedingt. Im Interview erklären @ewolff und @sippsack, warum echte Flexibilität bereits bei fachlichen Grenzen und Architekturentscheidungen beginnt.

    💡 Themen:
    #DDD & Flexibilität
    #Modulith vs. #Microservices
    • praktische Schritte zu flexibleren Systemen

    👉 t1p.de/bf4sm

    #SAF2026 #iSAQB #Softwarearchitektur

  18. 𝗙𝗹𝗲𝘅𝗶𝗯𝗹𝗲 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗸𝘁𝘂𝗿 𝗲𝗻𝘁𝘀𝘁𝗲𝗵𝘁 𝗻𝗶𝗰𝗵𝘁 𝗱𝘂𝗿𝗰𝗵 𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝗮𝗹𝗹𝗲𝗶𝗻 – 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗺𝗶𝘁 𝗘𝗯𝗲𝗿𝗵𝗮𝗿𝗱 𝗪𝗼𝗹𝗳𝗳 𝘂𝗻𝗱 𝗙𝗮𝗹𝗸 𝗦𝗶𝗽𝗽𝗮𝗰𝗵 🎤
    Machen #Microservices Systeme automatisch flexibler? Nicht unbedingt. Im Interview erklären @ewolff und @sippsack, warum echte Flexibilität bereits bei fachlichen Grenzen und Architekturentscheidungen beginnt.

    💡 Themen:
    #DDD & Flexibilität
    #Modulith vs. #Microservices
    • praktische Schritte zu flexibleren Systemen

    👉 t1p.de/bf4sm

    #SAF2026 #iSAQB #Softwarearchitektur

  19. 𝗙𝗹𝗲𝘅𝗶𝗯𝗹𝗲 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗸𝘁𝘂𝗿 𝗲𝗻𝘁𝘀𝘁𝗲𝗵𝘁 𝗻𝗶𝗰𝗵𝘁 𝗱𝘂𝗿𝗰𝗵 𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝗮𝗹𝗹𝗲𝗶𝗻 – 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗺𝗶𝘁 𝗘𝗯𝗲𝗿𝗵𝗮𝗿𝗱 𝗪𝗼𝗹𝗳𝗳 𝘂𝗻𝗱 𝗙𝗮𝗹𝗸 𝗦𝗶𝗽𝗽𝗮𝗰𝗵 🎤
    Machen #Microservices Systeme automatisch flexibler? Nicht unbedingt. Im Interview erklären @ewolff und @sippsack, warum echte Flexibilität bereits bei fachlichen Grenzen und Architekturentscheidungen beginnt.

    💡 Themen:
    #DDD & Flexibilität
    #Modulith vs. #Microservices
    • praktische Schritte zu flexibleren Systemen

    👉 t1p.de/bf4sm

    #SAF2026 #iSAQB #Softwarearchitektur

  20. Most memory problems aren’t leaks—they’re structural. Wanderson Xesquevixos breaks down how Compact Object Headers in #JDK25 shrink per-object overhead & why this finally matters in containers & #Microservices.

    Benchmark-backed, no hype: javapro.io/2026/02/10/masterin

    #JVM @openjdk

  21. Most memory problems aren’t leaks—they’re structural. Wanderson Xesquevixos breaks down how Compact Object Headers in #JDK25 shrink per-object overhead & why this finally matters in containers & #Microservices.

    Benchmark-backed, no hype: javapro.io/2026/02/10/masterin

    #JVM @openjdk

  22. A surprisingly good way to learn distributed systems is to go deep on NATS first.

    'Core NATS' + 'NATS JetStream' teach many of the core ideas behind Kafka, RabbitMQ, gRPC, Redis Streams, etc. Once those mental models click, switching systems becomes far easier.

    #microservices #coding #softwaredevelopment

  23. Software Engineering AI vs Manual Review Zero Bug Deploys

    When 98% of defects trace back to missed review spots, AI steps in to seal the leak. Learn how AI code review slashes bugs, trims build cycles, and drives zero‑bug releases for microservice teams.

    techsuite.site/software-engine

    #aicodereview #zerobugdeployments #microservices #continuousintegration #defectreduction

  24. Software Engineering AI vs Manual Review Zero Bug Deploys

    When 98% of defects trace back to missed review spots, AI steps in to seal the leak. Learn how AI code review slashes bugs, trims build cycles, and drives zero‑bug releases for microservice teams.

    techsuite.site/software-engine

    #aicodereview #zerobugdeployments #microservices #continuousintegration #defectreduction

  25. Build Automotive Data Integration Fitment API in Minutes

    A 70% speed edge can shrink your automotive API rollout from weeks to days. Discover the exact architecture, data pipelines, and real‑time tricks that let you launch a fitment API in minutes. Click to see the playbook.

    pivotramp.live/build-automotiv

    #fitmentapi #graphqlautomotive #dataintegration #microservices #whatisfitstep

  26. Build Automotive Data Integration Fitment API in Minutes

    A 70% speed edge can shrink your automotive API rollout from weeks to days. Discover the exact architecture, data pipelines, and real‑time tricks that let you launch a fitment API in minutes. Click to see the playbook.

    pivotramp.live/build-automotiv

    #fitmentapi #graphqlautomotive #dataintegration #microservices #whatisfitstep

  27. Microservices Masterclass by David Farley is the featured course 🎓 on Leanpub!

    Microservices are a great approach for building software at scale. But although the ideas at the root of microservices may sound simple, this is not a simple approach. There are several big traps along the way, and it's important to avoid them...

    Link: leanpub.com/courses/leanpub/mi

    #computer_programming #microservices #digital_transformation

  28. Microservices Masterclass by David Farley is the featured course 🎓 on Leanpub!

    Microservices are a great approach for building software at scale. But although the ideas at the root of microservices may sound simple, this is not a simple approach. There are several big traps along the way, and it's important to avoid them...

    Link: leanpub.com/courses/leanpub/mi

    #computer_programming #microservices #digital_transformation

  29. Microservices Masterclass by David Farley is the featured course 🎓 on Leanpub!

    Microservices are a great approach for building software at scale. But although the ideas at the root of microservices may sound simple, this is not a simple approach. There are several big traps along the way, and it's important to avoid them...

    Link: leanpub.com/courses/leanpub/mi

    #computer_programming #microservices #digital_transformation

  30. Microservices Masterclass by David Farley is the featured course 🎓 on Leanpub!

    Microservices are a great approach for building software at scale. But although the ideas at the root of microservices may sound simple, this is not a simple approach. There are several big traps along the way, and it's important to avoid them...

    Link: leanpub.com/courses/leanpub/mi

    #computer_programming #microservices #digital_transformation

  31. Is it really a micro service with tight boundaries if you need to make a change to 3 other services to handle your change?

    #microservices #softwaredevelopment

  32. Is it really a micro service with tight boundaries if you need to make a change to 3 other services to handle your change?

    #microservices #softwaredevelopment

  33. Is it really a micro service with tight boundaries if you need to make a change to 3 other services to handle your change?

    #microservices #softwaredevelopment

  34. Is it really a micro service with tight boundaries if you need to make a change to 3 other services to handle your change?

    #microservices #softwaredevelopment

  35. Is it really a micro service with tight boundaries if you need to make a change to 3 other services to handle your change?

  36. Почему spec-driven development плохо работает на микросервисах: часть 1. Где теряется контекст

    Я работаю в большой продуктовой компании с тысячей микросервисов. В такой системе даже небольшая фича часто проходит через несколько сервисов, событий и внутренних контрактов. Spec-driven development с LLM уже применяется в некоторых командах для планирования и ревью фич, поэтому мне было важно понять, где этот подход помогает, а где начинает ошибаться. Пока задача живёт внутри одного сервиса, всё обычно идёт быстро: спека короткая, описание и реализация помещаются в контекст модели. Но как только фича проходит через несколько сервисов, начинаются проблемы. По отдельности каждый кусок выглядит нормально: разбиение на слои, именование по код стайлу, прохождение тестов и ревью. Но в целом система не работает должным образом. Типичные ошибки: нет идемпотентности, LLM упускает сценарии и edge case-ы, появляются циклические вызовы сервисов. Чем больше делаешь правок, тем больше ошибок она допускает. Для эксперимента я собрал отдельный стенд: Go-проект - платформа для поиска фрилансеров . Внутри 12 микросервисов, связанных через gRPC и брокер сообщений; в этом проекте брокером выступает NATS. Одни сервисы хранят задачи и профили исполнителей, другие подбирают кандидатов, считают расстояния, проверяют портфолио и отправляют уведомления. Проект специально спроектирован с шестью категориями архитектурных ловушек: они проявляются не внутри одного сервиса, а на границах между сервисами. Фича для эксперимента была такой: если выбранный фрилансер отказался от оффера, платформа должна автоматически найти следующего подходящего кандидата, отправить ему новый оффер и уведомить заказчика о переназначении. Claude написал спеку, реализацию и юнит-тесты, но полный сценарий отказа и переназначения не сошёлся. Два независимых ревью нашли одну и ту же группу ошибок: по отдельности сервисы выглядели нормально, а вместе работали не так, как нужно. На это можно ответить, что нужен end-to-end тест на весь сценарий, но это не закрывает проблему целиком. End-to-end тесты есть не везде, их дорого поддерживать, и они не покрывают все развилки: особенно редкие edge case-ы, дубликаты событий, гонки и редкие комбинации условий. Главное же в другом: на этапе spec-driven разработки модель должна помочь собрать требования, ограничения и контекст, а именно там она часто ошибается. Разработчик тоже не всегда заранее знает, где спрятана проблема. Он может помнить про Outbox, дедупликацию уведомлений или особые требования конкретного сервиса к входным данным, но не сформулировать это как ограничение для новой фичи. LLM читает документы по сервисам, задаёт уточняющие вопросы и всё равно может пропустить связь между ними. В итоге спека получается подробной, но неполной: в ней есть локальные изменения по сервисам, зато нет системных инвариантов, которые живут между сервисами. Реализация может быть нормально разложена по слоям, тесты отдельных компонентов проходят, а ошибка обнаруживается уже на уровне сценария или ревью. Где LLM теряет контекст

    habr.com/ru/articles/1033510/

    #claude_code #specdriven_development #microservices #system_design #llm #архитектура #code_review #go #clean_architecture

  37. Почему spec-driven development плохо работает на микросервисах: часть 1. Где теряется контекст

    Я работаю в большой продуктовой компании с тысячей микросервисов. В такой системе даже небольшая фича часто проходит через несколько сервисов, событий и внутренних контрактов. Spec-driven development с LLM уже применяется в некоторых командах для планирования и ревью фич, поэтому мне было важно понять, где этот подход помогает, а где начинает ошибаться. Пока задача живёт внутри одного сервиса, всё обычно идёт быстро: спека короткая, описание и реализация помещаются в контекст модели. Но как только фича проходит через несколько сервисов, начинаются проблемы. По отдельности каждый кусок выглядит нормально: разбиение на слои, именование по код стайлу, прохождение тестов и ревью. Но в целом система не работает должным образом. Типичные ошибки: нет идемпотентности, LLM упускает сценарии и edge case-ы, появляются циклические вызовы сервисов. Чем больше делаешь правок, тем больше ошибок она допускает. Для эксперимента я собрал отдельный стенд: Go-проект - платформа для поиска фрилансеров . Внутри 12 микросервисов, связанных через gRPC и брокер сообщений; в этом проекте брокером выступает NATS. Одни сервисы хранят задачи и профили исполнителей, другие подбирают кандидатов, считают расстояния, проверяют портфолио и отправляют уведомления. Проект специально спроектирован с шестью категориями архитектурных ловушек: они проявляются не внутри одного сервиса, а на границах между сервисами. Фича для эксперимента была такой: если выбранный фрилансер отказался от оффера, платформа должна автоматически найти следующего подходящего кандидата, отправить ему новый оффер и уведомить заказчика о переназначении. Claude написал спеку, реализацию и юнит-тесты, но полный сценарий отказа и переназначения не сошёлся. Два независимых ревью нашли одну и ту же группу ошибок: по отдельности сервисы выглядели нормально, а вместе работали не так, как нужно. На это можно ответить, что нужен end-to-end тест на весь сценарий, но это не закрывает проблему целиком. End-to-end тесты есть не везде, их дорого поддерживать, и они не покрывают все развилки: особенно редкие edge case-ы, дубликаты событий, гонки и редкие комбинации условий. Главное же в другом: на этапе spec-driven разработки модель должна помочь собрать требования, ограничения и контекст, а именно там она часто ошибается. Разработчик тоже не всегда заранее знает, где спрятана проблема. Он может помнить про Outbox, дедупликацию уведомлений или особые требования конкретного сервиса к входным данным, но не сформулировать это как ограничение для новой фичи. LLM читает документы по сервисам, задаёт уточняющие вопросы и всё равно может пропустить связь между ними. В итоге спека получается подробной, но неполной: в ней есть локальные изменения по сервисам, зато нет системных инвариантов, которые живут между сервисами. Реализация может быть нормально разложена по слоям, тесты отдельных компонентов проходят, а ошибка обнаруживается уже на уровне сценария или ревью. Где LLM теряет контекст

    habr.com/ru/articles/1033510/

    #claude_code #specdriven_development #microservices #system_design #llm #архитектура #code_review #go #clean_architecture

  38. Почему spec-driven development плохо работает на микросервисах: часть 1. Где теряется контекст

    Я работаю в большой продуктовой компании с тысячей микросервисов. В такой системе даже небольшая фича часто проходит через несколько сервисов, событий и внутренних контрактов. Spec-driven development с LLM уже применяется в некоторых командах для планирования и ревью фич, поэтому мне было важно понять, где этот подход помогает, а где начинает ошибаться. Пока задача живёт внутри одного сервиса, всё обычно идёт быстро: спека короткая, описание и реализация помещаются в контекст модели. Но как только фича проходит через несколько сервисов, начинаются проблемы. По отдельности каждый кусок выглядит нормально: разбиение на слои, именование по код стайлу, прохождение тестов и ревью. Но в целом система не работает должным образом. Типичные ошибки: нет идемпотентности, LLM упускает сценарии и edge case-ы, появляются циклические вызовы сервисов. Чем больше делаешь правок, тем больше ошибок она допускает. Для эксперимента я собрал отдельный стенд: Go-проект - платформа для поиска фрилансеров . Внутри 12 микросервисов, связанных через gRPC и брокер сообщений; в этом проекте брокером выступает NATS. Одни сервисы хранят задачи и профили исполнителей, другие подбирают кандидатов, считают расстояния, проверяют портфолио и отправляют уведомления. Проект специально спроектирован с шестью категориями архитектурных ловушек: они проявляются не внутри одного сервиса, а на границах между сервисами. Фича для эксперимента была такой: если выбранный фрилансер отказался от оффера, платформа должна автоматически найти следующего подходящего кандидата, отправить ему новый оффер и уведомить заказчика о переназначении. Claude написал спеку, реализацию и юнит-тесты, но полный сценарий отказа и переназначения не сошёлся. Два независимых ревью нашли одну и ту же группу ошибок: по отдельности сервисы выглядели нормально, а вместе работали не так, как нужно. На это можно ответить, что нужен end-to-end тест на весь сценарий, но это не закрывает проблему целиком. End-to-end тесты есть не везде, их дорого поддерживать, и они не покрывают все развилки: особенно редкие edge case-ы, дубликаты событий, гонки и редкие комбинации условий. Главное же в другом: на этапе spec-driven разработки модель должна помочь собрать требования, ограничения и контекст, а именно там она часто ошибается. Разработчик тоже не всегда заранее знает, где спрятана проблема. Он может помнить про Outbox, дедупликацию уведомлений или особые требования конкретного сервиса к входным данным, но не сформулировать это как ограничение для новой фичи. LLM читает документы по сервисам, задаёт уточняющие вопросы и всё равно может пропустить связь между ними. В итоге спека получается подробной, но неполной: в ней есть локальные изменения по сервисам, зато нет системных инвариантов, которые живут между сервисами. Реализация может быть нормально разложена по слоям, тесты отдельных компонентов проходят, а ошибка обнаруживается уже на уровне сценария или ревью. Где LLM теряет контекст

    habr.com/ru/articles/1033510/

    #claude_code #specdriven_development #microservices #system_design #llm #архитектура #code_review #go #clean_architecture

  39. Почему spec-driven development плохо работает на микросервисах: часть 1. Где теряется контекст

    Я работаю в большой продуктовой компании с тысячей микросервисов. В такой системе даже небольшая фича часто проходит через несколько сервисов, событий и внутренних контрактов. Spec-driven development с LLM уже применяется в некоторых командах для планирования и ревью фич, поэтому мне было важно понять, где этот подход помогает, а где начинает ошибаться. Пока задача живёт внутри одного сервиса, всё обычно идёт быстро: спека короткая, описание и реализация помещаются в контекст модели. Но как только фича проходит через несколько сервисов, начинаются проблемы. По отдельности каждый кусок выглядит нормально: разбиение на слои, именование по код стайлу, прохождение тестов и ревью. Но в целом система не работает должным образом. Типичные ошибки: нет идемпотентности, LLM упускает сценарии и edge case-ы, появляются циклические вызовы сервисов. Чем больше делаешь правок, тем больше ошибок она допускает. Для эксперимента я собрал отдельный стенд: Go-проект - платформа для поиска фрилансеров . Внутри 12 микросервисов, связанных через gRPC и брокер сообщений; в этом проекте брокером выступает NATS. Одни сервисы хранят задачи и профили исполнителей, другие подбирают кандидатов, считают расстояния, проверяют портфолио и отправляют уведомления. Проект специально спроектирован с шестью категориями архитектурных ловушек: они проявляются не внутри одного сервиса, а на границах между сервисами. Фича для эксперимента была такой: если выбранный фрилансер отказался от оффера, платформа должна автоматически найти следующего подходящего кандидата, отправить ему новый оффер и уведомить заказчика о переназначении. Claude написал спеку, реализацию и юнит-тесты, но полный сценарий отказа и переназначения не сошёлся. Два независимых ревью нашли одну и ту же группу ошибок: по отдельности сервисы выглядели нормально, а вместе работали не так, как нужно. На это можно ответить, что нужен end-to-end тест на весь сценарий, но это не закрывает проблему целиком. End-to-end тесты есть не везде, их дорого поддерживать, и они не покрывают все развилки: особенно редкие edge case-ы, дубликаты событий, гонки и редкие комбинации условий. Главное же в другом: на этапе spec-driven разработки модель должна помочь собрать требования, ограничения и контекст, а именно там она часто ошибается. Разработчик тоже не всегда заранее знает, где спрятана проблема. Он может помнить про Outbox, дедупликацию уведомлений или особые требования конкретного сервиса к входным данным, но не сформулировать это как ограничение для новой фичи. LLM читает документы по сервисам, задаёт уточняющие вопросы и всё равно может пропустить связь между ними. В итоге спека получается подробной, но неполной: в ней есть локальные изменения по сервисам, зато нет системных инвариантов, которые живут между сервисами. Реализация может быть нормально разложена по слоям, тесты отдельных компонентов проходят, а ошибка обнаруживается уже на уровне сценария или ревью. Где LLM теряет контекст

    habr.com/ru/articles/1033510/

    #claude_code #specdriven_development #microservices #system_design #llm #архитектура #code_review #go #clean_architecture