Keep IT clean: mid-sized building blocks and hexagonal architecture
summary
Allegro runs ~550 microservices, 13.5k requests/sec, 90 deployments/day and uses Java + Spring; the concrete claim is that using package-private as default to make mid-sized packages single-entry modules yields easier refactoring and fast tests. The build uses ports-and-adapters / hexagonal architecture, CQRS for separate read models, and in-memory repositories for module-level unit tests that run in milliseconds so 90% of behavior can be verified quickly while integration tests cover only wiring and IO.
AI-written summary · about
chapters (10)
- 0:00Introduction and speaker background
- 2:01Complexity and software building blocks
- 12:24Why package scope matters
- 16:54Public as published API
- 17:14Article module example
- 28:34Hexagonal architecture explained
- 32:09Test-driven development with modules
- 43:15Java modules vs packages
- 46:26Q&A on testing and Spring Boot
- 49:14Applying to large applications
related talks
50mGrowing Spring-based commons, lessons learned
55mArchitectural Patterns for Rapid, Reliable, Frequent and Sustainable Development
49mMid-sized building blocks and hexagonal architecture
46mFrom Chaos to Cohesion: Building Modular Monoliths in the Real World
46mClean & Hexagonal Architecture - it really works!
01h 02mTools for simplified large scale systems
43mCode quality as an engine of your IT business
39m7 Strategies for Building Majestic Monoliths
