Page History
...
- 비즈니스를 구현할 때 서로다른 서비스들이 존재하고, 이런 서비스들을 조합하여 하나의 비즈니스 요구사항을 해결한다
- SOA와 MSA는 기능 중심의 모듈 재사용보다 상위 수준의 서비스 수준의 재 사용성에 초점 맞추다는 공통점이 있다.
- 소프트웨어는 코드라는 형체가 있지만 보이지 않기 때문에, 더 정확하고 명확하게 설계되어야 한다.
- SOA와 MSA의 기본 철학은 비슷하나, SOA > MSA MSA가 더 작은단위로 아키텍쳐 형태에 차이가 있다.
...
그렇다보니 SOA 아키텍처는 대게 어느정도 업격한 Protocol 과 Message 체계를 운용하게 되고, MSA 의 경우 별도의 체계가 없이 경량화된 프로토콜을 통해 운용되게 된다.
...
지향점
SOA 는 서비스들의 재사용에 중점을 두지만 MSA 는 서비스들의 독립을 추구한다.
배포관점
SOA | MSA |
---|---|
특성및 주의점
- SOA는 각 레이어의 통신방법을 중시하며, 재사용을 위해 공유할수 있으며 모놀리식에 가까울수 있다.
- MSA는 배포와 업무 조직단위의 서비스(레파지토리) 자체가 분리된다. 서비스내에 동일 로직이 생길수 있으며 각 서비스가 책임진다.
- MSA에서 서비스 오케스트레이션 영역에 목숨걸지말고, 유지보수와 배포에 포커싱해야합낟. ( 데브옵스는 반드시 해야한다.)
- MSA에서 API 게이트 웨이를 반드시 사용해야하는 강박관점도 없애야 한다.
...
조직도는 콘웨이의 법칙이 말하는 것처럼 인터페이스 명세와 서로 얽혀 있다. "시스템을 설계하는 조직은, 그 조직의 의사소통 구조를 본뜬 시스템을 만들어내게 되어 있다." 이어서 콘웨이는 최초의 조직도에는 첫 설계 내용이 반영될 것이라고 지적한다. 이 설계가 제대로일 가능성은 물론 아주 낮다. 시스템 설계가 자유롭게 변경될 수 있어야 한다면 조직 역시 변화에 대비하고 있어야 한다.
역 콘웨이 법칙
애플리케이션 아키텍처는 그것을 개발하는 조직의 구조를 그대로 반영한다는 뜻입니다. 따라서 이 법칙을 역으로 이용해서 조직의 구조가 마이크로서비스 아키텍처에 고스란히 반영되도록 설계해야 합니다. 이렇게 하면 개발 팀과 서비스를 느슨하게 결합시킬 수 있습니다.
참고링크
- 콘웨이 법칙 : https://johngrib.github.io/wiki/Conway-s-law/
- MSA VS SOA : http://blog.naver.com/PostView.nhn?blogId=stmshra&logNo=221446919085&parentCategoryNo=&categoryNo=73&viewDate=&isShowPopularPosts=true&from=search
...