크고 복잡한 애플리케이션을 지속적으로 전달/배포할 수 있다
마이크로서비스 아키텍처로 구축하면 크고 복잡한 애플리케이션을 지속적 전달/배포할 수 있습니다. 데브옵스의 일부이기도 한 지속적 전달/배포(continuous delivery/deployment)는 소프트웨어를 빠르게, 자주, 확실하게 전달하는 관례입니다(1.7절). 고성능 데브옵스 조직은 별 문제없이 변경분을 프로덕션에 배포합니다.
마이크로서비스 아키텍처는 다음 세 가지 방법으로 지속적 전달/배포를 실현합니다.
• 테스트성: 지속적 전달/배포를 하려면 자동화 테스트가 꼭 필요합니다. 마이크로서비스는 상대적으로 크기가 작아서 자동화 테스트를 작성하기 쉽고 더 빨리 실행되며, 애플리케이션 버그도 적은 편입니다.
• 배포성: 마이크로서비스는 독립적으로 배포할 수 있어서 개발자가 자신이 담당한 서비스 변경분을 배포할 때 굳이 다른 개발자와 협의할 필요가 없습니다. 그래서 프로덕션에 변경분을 반영하기가 훨씬 수월합니다.
• 자율성, 느슨한 결합: (피자 2판 팀처럼) 작은 팀이 여럿 결합된 기술 조직을 꾸려 갈 수 있습니다. 팀별로 하나 이상의 관련 서비스를 개발/배포하는 업무만 담당하는 것이죠. 다른 팀과 독립적으로 개발, 배포, 확장할 수 있으므로 개발 속도는 더 빨라집니다(그림 1-8).