예를 들어 클라우드 소프트웨어 설계자가 흔히 채택하는 아키텍처 원칙으로 ‘서비스는 명확하게 정의된 인터페이스로 느슨하게 결합되어야 한다는 원칙’이 있습니다. 이러한 원칙은 서비스를 설계할 때 매우 합리적으로 적용할 수 있습니다.
Note ≣ | 느슨한 결합
느슨한 결합(loose coupling)은 시스템의 구성 요소가 서로 독립성을 유지하고 최소한의 의존성만 갖도록 설계하는 원칙입니다. 이러한 접근 방식은 시스템의 각 구성 요소가 다른 요소에서 최소한의 정보만 갖도록 하며, 잘 정의된 인터페이스로 상호 작용하도록 합니다.
다만 이러한 아키텍처 원칙은 구체적인 서비스 진화 지침은 제공하지 않습니다. 느슨한 결합 원칙은 새로운 기능이나 서비스를 추가할 때 서비스 진화에 대한 기본 제약으로 작용할 수는 있습니다. 하지만 어떻게 인터페이스를 수정할지, 언제 서비스에 기능을 추가하거나 새로운 서비스를 만들어야 할지 같은 중요한 질문에는 답을 주지 않습니다.