전통적인 서버 사이드 시스템에서 사용하는 아키텍쳐
시스템의 모든 기능은 하나의 애플리케이션에서 작동함
개발이 더 빠르다 : 간단한 기능을 가진 애플리케이션으로 시작해 점점 기능을 추가할 수 있다
성능이 더 좋다 : 마이크로 서비스와 달리 api들을 통해 통신하는 오버헤드가 없어 빠르다
모든 기능이 각각의 애플리케이션인 아키텍처
서로 다른 서버에서 실행되고 api를 통해 통신한다
유연한 확장성 : 각각의 구성 요소들을 따로 확장 시킬 수 있어 훨씬 유연하다
디버깅 용이성 : 각각 요소들을 테스트해 문제들을 격리 시킬 수 있어 버그의 탐색이 쉽다
안정성 : 특정 요소에 문제가 발생해도 다른 요소들을 정상 작동한다
분업 용이성 : 특히 원격으로 작업시, 마이크로서비스별로 분업할 수 있어 분업이 더 쉬울 수 있다
결국 어떤 애플리케이션을 만드는지가 중요하다. 개발 기한, 비용과 함께 위 장단점을 살펴본다면 어떤 아키텍처가 프로젝트에 더 맞을지 정할 수 있다.