<aside>
💡 SW 아키텍처
면접 NS, 117관1, 모92관2 면접빈출
대용량 처리시스템을 여러 개의 작은 마이크로 서비스 단위로 나눠 각 서비스단위로 독립적으로 수행가능한 아키텍처
△ API Gateway △ MS
기술 △RESTFul API △SERVCE DISCOVERY △CI CD △Circuit Breaker △Container △Orchetration △Test automation
문화 △ 콘웨이법칙 △Service Mesh △Polyglot △Agile team △Canary Test
</aside>
MSA 개요.
MSA 문제점 및 대안

- 개발관점
✓ 설계복잡성/ 모호성 → Domain Driven Design
✓ 복잡한 연계 및 인터페이스 → API G/W
✓ 서비스 별 테스트 어려움 → API G/W활용 테스트
✓ 서비스 별 코드 중복, 데이터 중복 → Polyglot Programing
- 운영관점
✓ 운영 오버헤드 → DevOps 운영체제
✓ 분산시스템 복잡/비동기 성 증가 → Reactive Architecture도입
- 트랜잭션 관리 부하
통제된 기술, 잘게 나누지 말고, 업무단위정도로 인터페이스 정해가면서
- 장애진단
- 관리 관점
✓ 개발복잡성 증가 → Agile Scurm 유연방법론
✓ 마이크로 서비스 - 조직 구조간 불일치 → 조직문화 우선 구성
✓ 서비스 간 코디네이션 문제 → Chief Architect Program Manager
✓ 비용증가
- 팀의 역량에 따른 일정 및 품질 문제
- 서비스 간 코디네이션 문제
Program manager, chief Architect
- Chief Architect
서비스간 흐름정의, 표준정의(Convention&Guide), 에러추적/처리방법정의
- Program Manager : 팀 간 일정조율
- 서비스 간 일정관리 Program manager
팀간 조율이 핵심, 새로운 조율자 role요구
- 클라우드 비용증가
개발을 위해 서버 운용비용증가 최소화
- MSA 장단점
조직구성과 비유 1명 일할때 작은일을 쪼개서 일할때
MSA 전환

최근 Legacy 시스템 기반 Enterprise 들의 오픈 플랫폼 전략으로 MSA 전환에 대한 필요성이 증대되고 있음