티스토리 뷰
SOA vs. MSA.
FACT 주장/현상/관념
SOA(Service-Oriented Architecture)와 MSA(Microservices Architecture)는 모두 분산 시스템 설계 패러다임입니다. 하지만, 구현 방식과 목표에서 뚜렷한 차이를 보입니다. 검색 결과와 실제 사례를 기반으로 핵심 개념과 구축 전략을 비교하여 분석해 보겠습니다.
CHECK 검증/실상/검토
1. 기본 사상 비교
항목 | SOA | MSA |
핵심 목표 | 기업 내 시스템 통합과 재사용성 극대화 | 빠른 기능 확장과 독립적인 서비스 운영 |
서비스 단위 | 거대한 비즈니스 기능 단위 (예: ERP 모듈) | 단일 책임 원칙(SRP) 기반의 세분화된 기능 (예: 결제 API) |
표준화 | 엄격한 서비스 계약(SOAP/WSDL)과 ESB(Enterprise Service Bus) 중앙 집중식 관리 | REST/gRPC 등 경량 프로토콜 사용, 분산형 API Gateway 활용 |
데이터 관리 | 공유 데이터베이스 또는 데이터 계층 통합 | 서비스별 독립 데이터베이스 (Polyglot Persistence) |
진화 배경 | 1990년대 EAI(Enterprise Application Integration)에서 발전 | 2010년대 클라우드/데브옵스 환경에서 등장 |
2. 구축 전략 차이
SOA 구축 전략 ([3][6])
- Top-Down 접근:
- 기업 전체 아키텍처(TOGAF)에 맞춘 서비스 카탈로그 구축.
- UDDI를 통한 서비스 레지스트리 중앙 관리.
- ESB 중심 통합:
- 변환/라우팅/보안을 ESB에서 일괄 처리.
- WS-* 표준 기반의 엄격한 프로토콜 적용.
- 재사용 최적화:
- 공통 비즈니스 로직을 서비스 컴포넌트로 추출 (예: 인증 서비스).
MSA 구축 전략 ([2][4])
- Bottom-Up 접근:
- 도메인 주도 설계(DDD)로 서비스 경계(Bounded Context) 정의.
- 서비스별 독립적인 CI/CD 파이프라인 구축.
- 분산 인프라:
- Kubernetes/Service Mesh(Istio)로 서비스 오케스트레이션.
- 장애 격리를 위한 Circuit Breaker 패턴 적용.
- 데이터 분리:
- 이벤트 소싱(Event Sourcing)으로 데이터 동기화.
3. 설계 방법 비교
공통점 ([1][4][6])
- 느슨한 결합(Loose Coupling): 서비스 간 종속성 최소화
- 서비스 추상화: 내부 구현 로직 숨기고 인터페이스만 노출
- 표준화된 통신: HTTP/JSON 또는 SOAP/XML 프로토콜 사용
차이점 ([2][4][5])
설계 요소 | SOA | MSA |
서비스 크기 | 대규모 복합 기능 | 단일 기능 집중 (1서비스 = 1DB + 1API) |
통신 방식 | 중앙 집중식(ESB) | 분산형(API Gateway + 메시지 큐) |
트랜잭션 처리 | WS-Transaction 등 복잡한 표준 사용 | Saga 패턴으로 분산 트랜잭션 관리 |
배포 단위 | WAR/EAR 파일 전체 배포 | 독립 컨테이너(Docker) 기반 배포 |
4. 아키텍처 진화 관계
- SOA → MSA: SOA의 서비스 분리 개념을 더 세분화하고 경량화한 형태
- 공존 사례: MSA 내부에서 복잡한 서비스는 SOA 패턴 적용 ([4]의 서비스 조합 패턴 참조)
WRAP-UP 결어/종합/대안
SOA는 기업 시스템 통합에, MSA는 민첩한 서비스 개발/배포에 각각 강점을 가지며, 실제 프로젝트에서는 하이브리드 아키텍처를 구성하기도 합니다. 조직의 기술 성숙도와 비즈니스 요구에 따라 선택해야 합니다[1][2][6].
* 선택 가이드
구분 | SOA 선택 시 | MSA 선택 시 |
적합 상황 | - 레거시 시스템 통합 필요- 엄격한 보안/규정 준수 환경 | - 빠른 기능 확장 필요- 클라우드 네이티브 환경 |
리스크 | ESB 장애 시 전체 시스템 영향력 큼 | 분산 트랜잭션 관리 복잡성 증가 |
2025.03.12.
AUDITORIS
(Answer from Perplexity)
Citations:
[1] https://www.bluent.net/blog/service-oriented-architecture/
[2] https://www.opengroup.org/soa/source-book/msawp/p2.htm
[3] https://www.oracle.com/technical-resources/articles/enterprise-architecture/soa-roadmap.html
[4] https://en.wikipedia.org/wiki/Service-oriented_architecture
[5] https://www.capvidia.com/blog/msa-guide
[6] https://www.guru99.com/soa-principles.html
[7] https://www.opengroup.org/soa/source-book/msawp/p3.htm
[8] https://aws.amazon.com/what-is/service-oriented-architecture/
[9] https://www.cms.gov/tra/Application_Development/AD_0095_Web_Services_SOA_Design_Principles.htm
[10] https://konghq.com/blog/learning-center/soa-in-web-services
[11] https://wso2.com/whitepapers/microservices-in-practice-key-architectural-concepts-of-an-msa/
[12] https://blogs.mulesoft.com/digital-transformation/soa-principles/
[13] https://wso2.com/ko/whitepapers/microservices-in-practice-key-architectural-concepts-of-an-msa/
[14] https://www.samsungsds.com/kr/insights/msa_architecture_edm.html
[15] https://edizsaykol.weebly.com/uploads/9/8/6/5/9865252/lecture03_strategy.pdf
[16] https://www.iaas.uni-stuttgart.de/publications/INPROC-2012-27-Six-Strategies-for-Building-High-Performance-SOA-Applications.pdf
[17] https://www.levelset.com/blog/master-service-agreement-construction/
[18] https://ceur-ws.org/Vol-3171/paper57.pdf
[19] https://www.msaarch.com
[20] https://en.wikipedia.org/wiki/Service-orientation_design_principles
[21] https://www.msa-ps.com/sustainable-community-development-solutions/buildings-solutions/
[22] https://soadecisions.org/download/SOAD-PositioningPaperv10.pdf
[23] https://alsyedconstruction.com/what-is-msa-in-construction/
[24] https://www.browserstack.com/guide/test-strategies-for-soa-applications
[25] https://www.msaconsultinginc.com
[26] https://www.msa.vic.gov.au/for-developers/conservation-area-works
[27] https://www.jmp.com/support/help/en/18.1/jmp/msa-designs.shtml
[28] https://www.jmp.com/support/help/en/18.1/jmp/msa-design-diagnostics.shtml
[29] https://www.msanz.com
'CheckFact > 가까이서 본 기술' 카테고리의 다른 글
MSA 전환 설계 및 구현 체크리스트 (0) | 2025.03.12 |
---|---|
PM이 꼭 알아야 할 MSA 전환/구현 전략 (0) | 2025.03.12 |
함부로 무시하는 MSA Inner Architecture 설계 원칙 (0) | 2025.03.12 |
- Total
- Today
- Yesterday
- 퇴계
- 설계
- 점검항목
- 존재
- Computational Thinking
- MSA
- 컴퓨팅 사고
- 율곡
- 구현
- 물고기
- WMV
- 전환
- 자산화
- ajax
- 예언자
- Lateral thinking
- Data Mart
- 알무스타파
- inner architecture
- java
- 이기일원론
- Data Science
- 크래프톤
- 사랑
- 수평적 사고
- 소유
- Kahlil Gibran
- Systems Thinking
- wav
- xe
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |