68
1
부
기초
1.5.41.5.4
배포 용이성배포 용이성
무려
100
만 줄에 달하는 모놀리식 애플리케이션은 한 줄만 수정하더라도 변경 사항을 릴리스
하기 위해 전체 애플리케이션을 배포해야 한다. 이는 미치는 영향이 크고 매우 위험한 배포가
될 수 있다. 직감할 수 있는 두려움으로 인해 실제로 이러한 배포는 드물게 일어난다. 불행히
도, 이와 같은 이유로 릴리스 간의 변경 사항이 계속 누적돼 출시될 애플리케이션의 새 버전은
엄청난 변경을 포함하게 된다. 결국 릴리스 간의 변화 폭이 클수록 무언가 잘못될 가능성도 함
께 높아진다!
마이크로서비스를 이용하면 하나의 서비스만 변경하고 시스템의 다른 부분과는 독립적으로 배
포할 수 있다. 이렇게 하면 코드를 더 빠르게 배포할 수 있으며, 문제가 발생하더라도 빠른 롤
백을 수행해 신속하게 해당 문제를 개별 서비스로만 제한할 수 있다. 결과적으로 고객에게는
새로운 기능을 더 신속하게 전달하게 된다. 이는 아마존
Amazon
이나 넷플릭스 같은 회사가 소프
트웨어를 출시하는 데 방해가 되는 요소를 최대한 제거하려고 이러한 아키텍처를 사용하는 이
유 중 하나다.
1.5.51.5.5
조직적 정렬조직적 정렬
대규모 팀 및 코드베이스와 관련된 문제를 한 번쯤은 경험해봤을 것이다. 이러한 문제는 팀이
분산되면 더 악화되며, 더 작은 코드베이스로 일하는 더 작은 팀이 더 생산적인 경향이 있다는
사실도 알고 있다.
마이크로서비스를 이용하면 아키텍처를 조직 구조에 맞게 더 적절히 정렬할 수 있고, 팀 크기
와 생산성의 ...