더북(TheBook)

마이크로서비스를 성공적으로 설계하고 구축하려면 범죄 현장의 목격자를 인터뷰하는 형사처럼 접근해야 한다. 모든 목격자가 같은 이벤트를 목격하더라도 그들의 배경, 즉 무엇이 중요한지(예를 들어 동기 부여), 목격 시점에 어떤 환경적 압력을 받았는지에 따라 범죄 해석은 달라진다. 목격자가 중요하다고 생각하는 것에 제각각 다른 관점(편견)을 갖는다.

성공적으로 진실을 좇는 형사처럼 성공적인 마이크로서비스 아키텍처를 구축하는 여정은 소프트웨어 개발 조직 내 여러 개인의 관점을 통합하는 것과 관련이 있다. 전체 애플리케이션을 제공하려면 기술 인력보다 더 많은 인력이 필요하기 때문에 마이크로서비스 개발 기반을 성공적으로 다지려면 다음 세 가지 중요한 역할에서 시작할 수 있다.

아키텍트(architect): 큰 그림을 염두에 두고 애플리케이션을 개별 마이크로서비스로 분해한 후 마이크로서비스가 솔루션을 제공하기 위한 상호 작용 방식을 이해한다.

소프트웨어 개발자(software developer): 코드를 작성하고 언어와 개발 프레임워크를 사용하여 마이크로서비스를 제공하는 방법을 이해한다.

데브옵스(devops engineer): 운영 및 비운영 환경에 서비스를 배포하고 관리하는 방법을 결정한다. 데브옵스의 신조는 모든 환경에서 일관성(consistency)과 반복성(repeatability)이다.

이 장에서는 각 역할의 관점에서 마이크로서비스를 설계하고 구축하는 방법을 보여 줄 것이다. 이 장은 해당 비즈니스 애플리케이션 내에서 잠재적인 마이크로서비스를 식별하고 마이크로서비스를 배포하는 운영 속성을 이해하는 데 필요한 기초를 제공한다. 이 장을 마치면 2장에서 만든 초기 프로젝트를 사용하여 클라우드에 패키징하고 배포할 수 있는 서비스를 갖추게 된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.