"매 large-scale, mission-critical, long-lived". 매 enterprise software 의 multi-team / multi-decade scale 의 system 의 design — 매 reliability, security, compliance, integration 의 first-class concern. 매 2026 의 cloud-native + 매 legacy mainframe 의 hybrid 의 reality.
매 핵심
매 Enterprise 의 specific concerns
Scale: 매 thousands of concurrent users, TB+ data.
Longevity: 매 10-30년 의 lifespan — 매 maintainability 의 critical.
Compliance: 매 SOX, GDPR, HIPAA, PCI-DSS.
Integration: 매 N legacy system 의 talk to.
Multi-team: 매 Conway's law — 매 org structure 가 architecture 의 reflect.
// 매 Domain — 매 framework 의존 XpublicclassOrderService{privatefinalOrderRepositoryrepo;// portprivatefinalPaymentGatewaypayment;// portpublicOrderplace(PlaceOrderCommandcmd){varorder=Order.create(cmd);payment.charge(cmd.payment());returnrepo.save(order);}}
# 매 Gateway routing — 매 old → new 의 incrementalroutes:- path:/api/orders/*backend:new-order-service # 매 migrated- path:/api/billing/*backend:legacy-mainframe # 매 still legacy
매 Multi-tenancy 의 patterns
// 매 Row-level — 매 cheapest@EntityclassOrder{@ColumnUUIDtenantId;// 매 every query 의 tenant filter}// 매 Schema-per-tenant — 매 isolationDataSourceds=tenantRouter.resolve(currentTenant());// 매 DB-per-tenant — 매 strongest, costliest
매 BFF (Backend for Frontend)
services:bff-mobile:# 매 mobile 최적화 payloadbff-web:# 매 web 최적화bff-partner:# 매 B2B integration# 매 모두 매 동일 backend service 의 aggregate
매 결정 기준
상황
Approach
매 startup, ≤10 dev
매 Modular monolith
매 scale-up, multi-team
매 Microservices + DDD
매 legacy 의 modernization
매 Strangler fig
매 strict audit / replay
매 Event sourcing
매 read-heavy + complex write
매 CQRS
기본값: 매 modular monolith 부터 → 매 pain point 별 의 carve out.
언제: 매 large-scale system design interview / RFC / ADR 작성 시.
언제 X: 매 small CRUD app — 매 over-engineering 의 risk.
❌ 안티패턴
Distributed monolith: 매 microservice 의 모양 의 만 갖춘 의 tight coupling.
Big bang rewrite: 매 legacy 의 한 번에 의 replace — 매 거의 fail.
Anemic domain: 매 logic 의 service layer 의 만 — 매 domain object 의 의 data bag.
Shared database: 매 microservice 간 의 DB 공유 → 매 hidden coupling.
🧪 검증 / 중복
Verified — Martin Fowler, Patterns of Enterprise Application Architecture; Eric Evans, Domain-Driven Design; Sam Newman, Building Microservices (2nd ed).