다음을 통해 공유


아키텍처 의사 결정 레코드

ADR(아키텍처 의사 결정 레코드)은 솔루션 설계자의 가장 중요한 결과물 중 하나입니다. 이 레코드는 디자인 프로세스 전체에서 내리는 아키텍처 결정을 문서화합니다. 또한 각 결정에 대한 컨텍스트별 근거 및 의미를 제공합니다.

ADR은 아키텍처적으로 중요한 요구 사항에 대해 배제한 대안을 포함하여 모든 주요 결정을 문서화합니다. 로그는 요구 사항 및 제약 조건을 결정의 문서화된 효과에 통합합니다.

ADR 구현

워크로드가 시작될 때 ADR을 시작하고 워크로드의 수명 동안 유지 관리합니다. 브라운필드 워크로드에 대해 ADR을 시작해야 하며, 데이터를 사용할 수 있는 경우 알려진 과거 결정에 따라 소급하여 생성해야 합니다. ADR은 추가 전용 로그 역할을 합니다. 이 레코드는 초기 설계를 넘어 향후 기능 및 비기능적 요구 사항에 대한 디자인 측면을 포함하도록 확장됩니다.

개별 레코드의 제안된 특성

  • 모든 레코드의 해부학과 일치합니다. 레코드 템플릿을 디자인하고 일관되게 따릅니다.

    레코드에는 다음과 같은 일관된 요소가 포함되어야 합니다.

    • 컨텍스트가 있는 문제 문
    • 고려된 옵션
    • 의사 결정 결과
      • 이 결정에 대한 중요한 절충안 포함
      • 결정의 신뢰도 수준을 기록합니다. 때로는 상대적으로 낮은 신뢰도로 아키텍처적으로 중요한 결정이 내려집니다. 낮은 신뢰도 상태를 문서화하면 향후 재검토 결정에 유용할 수 있습니다.
  • 아키텍처 결정으로 인해 단기, 중기, 장기 접근 방식과 같은 여러 단계가 발생할 경우 한 가지 결정을 여러 단계로 끊습니다. 각 단계를 자체 의사 결정 레코드로 기록합니다.

  • 결정의 결과를 의도적으로 또는 실수로 숨기지 않습니다.

  • 레코드를 pithy, assertive, on-topic 및 factual로 유지합니다.

  • 의사 결정 레코드 디자인 가이드를 사용하지 마세요. 더 많은 근거 또는 디자인 아이디어를 사용할 수 있는 경우 문서에 대한 링크를 추가 자료로 제공하지만, 결정은 명확하고 해당 자료 없이는 단독으로 실행되어야 합니다.

워크로드 설명서 리포지토리

이 로그는 워크로드 설명서와 함께 쉽게 사용할 수 있고 공개적으로 저장되어야 합니다.

설계자는 문서 및 자산 리포지토리를 설정하고 유지 관리함으로써 워크로드 팀이 운영 우수성에 대한 권장 사항을 달성할 수 있도록 도와줍니다. 설계자는 팀이 이 결정 로그와 같은 모든 자산을 리포지토리에 배치할 수 있도록 지원합니다. 또한 팀이 단일 진실 소스를 통합하여 참조, 감사 및 인시던트 대응에 사용하도록 장려합니다.

다음 단계

추가 리소스

템플릿 예제를 보려면 아키텍처 의사 결정 레코드 GitHub 조직을 방문하세요.