-
마이크로서비스?Development/Micro Service 2021. 9. 11. 15:04
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=275980819
본 글은 위 도서를 바탕으로 작성되었습니다.
마이크로서비스에 대한 제임스 루이스와 마틴 파울러의 설명
마이크로 서비스는 단일 애플리케이션을 작은 규모의 서비스 조합으로 나누어 개발하는 방식
각 서비스는 자체 프로세스로 실행, 비즈니스 기능을 중심으로 구축, 완전 자동화된 배포 기계를 통해 독립적 배포
마이크로서비스가 보유한 9가지 특성( feat. 루이스 & 파울러 )
- 서비스를 통한 컴포넌트화
- 비즈니스 기능 중심의 조직 구성
- 거버넌스 분산
- 인프라 자동화
- 프로젝트가 아닌 제품 중심
- 스마트 엔드포인트
- 덤 파이프
- 장애 대응 설계
- 진화하는 설계
마이크로서비스 아키텍처에서 정의한 마이크로서비스
제한된 범위의 독립적으로 배포 가능한 구성 요소
메시지 기반 통신으로 상호 운용성 지원
저자가 말하는 마이크로서비스
아래와 같은 설계 특성이 있는 소프트웨어 아키텍처 스타일
- 애플리케이션 아키텍처는 주로 네트워크에서 호출할 수 있는 '서비스'로 구성
- 서비스의 크기(또는 경계)는 중요한 설계 요소, 설계 요소는 런타임, 설계 시간, 사람을 포함
- 목표 달성을 위해 소프트웨어 시스템, 조직, 일하는 방식을 전체적으로 최적화
마이크로서비스의 가장 큰 이점 - 조정 비용 절감
협업간에는 조정이 발생할 수 있는데 이 조정 비용을 최소화 하여 서비스 개발에 집중할 수 있도록 독립된 소규모 작업을 수행하는 설계가 마이크로서비스 아키텍처의 본질
당연히 현 시점에서 그래서 마이크로서비스를 어떻게 설계해야 하는지? 에 대해서는 잘 와닿지가 않는다.
그러나 마이크로서비스가 어떠한 목적을 위해 존재하는지에 대해서 알 수 있었다.
기술의 변화만 빠른 것이 아니다. 사용자의 요구 또한 다양해지고 개인화되어 빠르게 이를 포착하고 빠르게 이를 적용해야 서비스가 더 발전할 수 있는 시대라고 생각한다.
그렇기 때문에 이러한 요구를 충족하기 위한 마이크로서비스는 우리의 서비스를 더욱 안정적으로 유연하게 확장해나가기 위해 꼭 고민해봐야 하는 부분이라고 생각하게 되었다.
하지만 처음부터 마이크로서비스 설계를 적용해서 서비스를 만들 필요는 없다고 생각한다. 서비스가 시장에 검증되지도 않았기 때문이다. 그럼에도 불구하고 조직내에서 빠르게 마이크로서비스 설계를 구축해 나아갈 수 있다면 괜찮다고도 생각한다.
댓글