더북(TheBook)

모놀리스는 확실하게 전달하기 어렵다

신뢰성이 부족한 것도 문제입니다. 애플리케이션 자체가 워낙 덩치가 커서 철저하게 테스트하기 어렵고, 테스트성(testability)7이 부족하면 결국 프로덕션에 버그가 발생할 가능성도 높습니다. 실제로 프로덕션이 중단되는 경우도 종종 일어났습니다. 전체 모듈이 같은 프로세스로 실행되는 까닭에 결함 격리(fault isolation)가 되지 않고, 그러다 보니 어떤 모듈에 버그 하나만 있어도 메모리 누수가 발생해서 전체 애플리케이션 인스턴스가 내려가는 일도 드물지 않습니다. 한밤중에 프로덕션이 멎었다는 사실을 문자로 통보받고 싶은 개발자는 없겠죠. 경영진은 더더욱 매출 감소와 시장의 신뢰를 잃길 원하지 않을 것입니다.

 

 


7 테스트 가능성, 가테스트성이라고도 합니다. 주어진 테스트 컨텍스트에서 소프트웨어 결과물이 얼마나 테스트하기 쉬운가 하는 정도를 의미합니다. 테스트성이 높을수록 자동화 테스트를 수행해서 결함을 찾기 쉽고, 빠르므로 품질 향상에 큰 도움이 되겠죠.

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