마이크로서비스 개념이 발전하기 전, 대부분의 웹 기반 애플리케이션은 모놀리식 아키텍처 형태로 개발되었다. 여기에서 애플리케이션은 배포 가능한 단일 소프트웨어 산출물로 전달된다. 문제는 모놀리식 애플리케이션이 크고 복잡해지면서 애플리케이션을 담당하는 각 팀의 의사소통과
실제 소프트웨어 개발은 정의와 실행의 선형 과정이 아니라 개발팀이 당면한 문제를 제대로 이해하기까지 고객과 소통하고 고객에게 배우며 전달하는 활동을 반복하는 진화과정이다.전통적인 폭포수 개발 방법론을 사용하기 어려워진 것은 이들 프로젝트의 소프트웨어 산출물이 가진 세분
많은 개발자들이 애플리케이션 코드에서 구성 정보를 분리한다. 이것으로 컴파일을 거치지 않고 구성은 쉽게 변경할 수 있게 되었지만 애플리케이션과 함께 관리되고 배포되어야 하는 산출물이 추가되어 복잡해진다.많은 개발자가 구성 정보를 저장하기 위해 저수준의 프로퍼티 파일(Y
INTRO 분상 아키텍처에서는 시스템의 물리적 위치 주소를 찾아야 한다. 이 개념은 분산 컴퓨팅 초창기때부터 존재했고 공식적으로 서비스 디스커버리라고 한다. 서비스 디스커버리는 애플리케이션에서 사용하는 모든 원격 서비스의 주소가 포함된 프로퍼티 파일을 관리하는 것 처럼
모든 시스템, 특히 분산 시스템은 장애를 겪는다. 이러한 장애에 대응하는 애플리케이션 구축 방법을 찾는 것은 모든 소프트웨어 개발자에게 중요한 일이다. 하지만 회복력을 갖춘 시스템을 구축하는 것에 대해 대부분의 소프트웨어 엔지니어는 일부 인프라 스트럭처나 핵심 서비스의