프로젝트의 테스트, 문서화 및 코딩은 연달아 발생해야 한다. 단위 테스트: 격리된 환경에서 클래스나 함수가 예상대로 동작하는지 확인 기능 테스트: 마이크로서비스가 고객의 관점에서 기대한 대로 동작하는지 살피고, 잘못된 요청에 대해서도 정확히 응답하는지 검증 통합 테스트: 마이크로서비스가 다른 서비스와 제대로 연동되는지 확인 부하 테스트: 마이크로서비스의 성능을 측정 엔드 투 엔드 테스트: 전체 시스템이 제대로 동작하는지 확인 단위 테스트 모방하기(mocking)를 통해 격리된 환경에서 해당 호출을 흉내 낼 수 있다. 다음의 3가지 경우로 제한하는 것이 좋다 I/O 연산: 코드가 서드파티 서비스를 호출하거나 소켓, 파일 등의 리소스를 사용하고 있는데, 테스트에서는 이 작업을 수행할 수 없을 때 CPU를 많..
서로 통신할 수 있는 독립적인 컴포넌트로 애플리케이션을 개발한다. 모놀리식 접근 방식 모놀리식 애플리케이션이란 거대한 단일 구조의 애플리케이션을 뜻 장점 단일 코드 기반(Single code base)이므로, 개발 초기에는 모든 것이 단순 테스트 coverage를 높이기 쉽다. 코드는 깨끗이 구조화된 형태로 유지됨 하나의 데이터베이스에 모든 데이터를 저장함으로써 데이터 모델과 쿼리 역시 쉽게 변경할 수 있기 때문에 애플리케이션 개발이 단순 모놀리식으로 프로젝트를 시작하는 것은 쉽다 중앙 집중화된 데이터베이스는 데이터 설계와 구성이 단순 단일 애플리케이션 배포는 간단 단점 어떤 기능에 대한 코드 수정이, 관련되지 않은 다른 기능에도 영향을 미친다. 해당 기능에 문제가 생기면 전체 애플리케이션이 잘못될 수도..