아키텍처 인사이트
Archyl의 AI 기반 분석은 잠재적인 아키텍처 문제를 감지하고 시스템 설계를 개선하기 위한 권장사항을 제공합니다.
Archyl이 감지하는 인사이트
치명적 문제
| 문제 | 설명 |
|---|---|
| 단일 장애점 (SPOF) | 시스템 전체 장애를 유발할 수 있는 과도한 의존성을 가진 요소 |
| 보안 문제 | 외부 시스템의 직접적인 데이터베이스 접근, 누락된 보안 경계 |
| 순환 의존성 | 유지보수와 배포를 복잡하게 만드는 의존성 순환 |
높은 우선순위
| 문제 | 설명 |
|---|---|
| 높은 결합도 | 다른 컴포넌트와 과도한 연결을 가진 컴포넌트 |
| 과도한 연결 요소 | 너무 많은 인바운드 또는 아웃바운드 관계를 가진 요소 |
| 누락된 중복성 | 백업이나 장애 조치 메커니즘이 없는 중요 서비스 |
중간 우선순위
| 문제 | 설명 |
|---|---|
| 고아 요소 | 다른 컴포넌트와 관계가 없는 격리된 요소 |
| 누락된 문서 | 설명이나 연결된 문서가 없는 요소 |
| 일관성 없는 명명 | 명명 규칙을 따르지 않는 요소 |
낮은 우선순위
| 문제 | 설명 |
|---|---|
| 최적화 기회 | 복잡성을 줄이기 위한 잠재적 개선사항 |
| 모범 사례 제안 | C4 모델 규칙에 기반한 권장사항 |
아키텍처 분석 실행
단일 프로젝트 분석
- 사이드바에서 인사이트 섹션으로 이동합니다
- 프로젝트를 선택합니다
- 분석을 클릭합니다
- 분석이 완료될 때까지 기다립니다
- 심각도별로 결과를 검토합니다
조직 전체 분석
모든 프로젝트를 한 번에 분석하려면:
- 메인 탐색에서 인사이트로 이동합니다
- 모든 프로젝트 분석을 클릭합니다
- 조직 전체의 통합된 결과를 검토합니다
인사이트 이해하기
각 인사이트에는 다음이 포함됩니다:
심각도 수준
- 치명적: 즉각적인 주의가 필요
- 높음: 빠른 시일 내에 해결해야 함
- 중간: 가능할 때 해결을 고려
- 낮음: 있으면 좋은 개선사항
영향받는 요소
인사이트는 관련된 모든 요소를 나열하며, 다이어그램에서 직접 볼 수 있는 링크를 제공합니다.
권장사항
문제를 해결하기 위한 실행 가능한 단계:
권장사항: API 게이트웨이와 데이터베이스 사이에 캐싱 레이어를 추가하여
직접적인 데이터베이스 연결을 줄이고 복원력을 개선하세요.
관련 문서
관련 모범 사례 및 아키텍처 패턴에 대한 링크.
인사이트 관리
인사이트 무시
인사이트가 의도적이거나 오탐인 경우:
- 인사이트를 클릭하여 확장합니다
- 이 인사이트 무시를 클릭합니다
- 선택적으로 이유를 추가합니다
- 인사이트가 메인 뷰에서 숨겨집니다
무시된 인사이트 보기
무시된 인사이트를 검토하려면:
- 인사이트 섹션으로 이동합니다
- 무시된 항목 표시를 토글합니다
- 검토하고 선택적으로 무시를 해제합니다
일괄 작업
여러 인사이트를 선택하여:
- 선택한 모든 항목 무시
- 팀 구성원에게 할당
- 보고서로 내보내기
모범 사례
정기적인 분석
- 주요 아키텍처 변경 후 분석 실행
- 스프린트 계획에 인사이트 검토 포함
- 시간에 따른 인사이트 추세 추적
영향도별 우선순위
모든 인사이트가 즉각적인 조치를 필요로 하지는 않습니다:
- 치명적 및 높은 심각도에 먼저 집중
- 우선순위 지정 시 비즈니스 영향 고려
- 의도적인 편차를 문서화
팀과 공유
- 아키텍처 검토를 위한 인사이트 보고서 내보내기
- 팀 구성원에게 인사이트 할당
- 프로젝트 관리 도구에서 해결 추적
일반적인 인사이트와 해결책
단일 장애점
문제: 하나의 서비스가 모든 인증을 처리합니다.
해결책:
- 중복 인증 서비스 추가
- 서킷 브레이커 패턴 구현
- 분산 세션 저장소 사용
높은 결합도
문제: 프론트엔드가 10개 이상의 백엔드 서비스를 직접 호출합니다.
해결책:
- API 게이트웨이 도입
- Backend for Frontend (BFF) 패턴 구현
- 이벤트 기반 통신 사용
순환 의존성
문제: 서비스 A가 B에, B가 C에, C가 A에 의존합니다.
해결책:
- 공유 로직을 새 서비스로 추출
- 이벤트 기반 아키텍처 사용
- 순환을 깨도록 리팩토링
고아 요소
문제: 연결이 없는 데이터베이스.
해결책:
- 사용하는 서비스에 관계 추가
- 더 이상 사용하지 않으면 제거
- 사용법을 설명하는 문서에 연결
인사이트 규칙 사용자 정의
모든 조직은 서로 다른 아키텍처 표준을 가지고 있습니다. Archyl은 팀의 요구사항에 맞게 인사이트를 생성하는 규칙을 사용자 정의할 수 있습니다.
규칙 설정 접근
- 인사이트 섹션으로 이동합니다
- 규칙 탭을 클릭합니다
- 각 규칙의 설정을 조정합니다
- 저장을 클릭하여 변경사항을 적용합니다
변경사항을 저장하면 Archyl이 새 구성으로 아키텍처를 자동으로 재분석합니다.
사용 가능한 규칙
단일 장애점 (SPOF)
시스템 전체 장애를 유발할 수 있는 과도한 수신 의존성을 가진 요소를 감지합니다.
| 설정 | 범위 | 기본값 |
|---|---|---|
| 임계값 | 1-20 | 3 |
아키텍처가 의도적으로 특정 관심사를 중앙 집중화하는 경우 임계값을 높이세요. 데이터베이스와 같은 중요 인프라는 임계값 설정에 관계없이 추가 검사를 받습니다.
높은 결합도
양방향으로 과도한 연결을 가진 컴포넌트를 식별합니다.
| 설정 | 범위 | 기본값 |
|---|---|---|
| 수신 임계값 | 1-50 | 4 |
| 발신 임계값 | 1-50 | 6 |
수신 임계값은 많은 다른 컴포넌트가 의존하는 요소를 포착합니다. 발신 임계값은 너무 많은 다른 컴포넌트에 의존하는 요소를 포착합니다. 공유 라이브러리를 구축하는 플랫폼 팀은 제품 팀보다 높은 임계값이 필요할 수 있습니다.
과도한 연결 요소
총 연결 수(수신 + 발신 합계)가 너무 많은 요소를 표시합니다.
| 설정 | 범위 | 기본값 |
|---|---|---|
| 임계값 | 2-100 | 8 |
이것은 높은 결합도와는 다른 문제를 포착합니다: 시스템의 너무 많은 부분을 접촉하여 추론하기 어려운 컴포넌트입니다.
순환 의존성
A가 B에, B가 C에, C가 A에 의존하는 의존성 순환을 감지합니다.
| 설정 | 옵션 |
|---|---|
| 활성화됨 | 켜기/끄기 |
순환 의존성은 테스트를 복잡하게 하고 초기화 문제를 만들며 불명확한 경계를 신호합니다. 대부분의 팀은 이를 활성화된 상태로 둡니다.
고아 요소
다른 컴포넌트와 연결이 없는 아키텍처 요소를 찾습니다.
| 설정 | 옵션 |
|---|---|
| 활성화됨 | 켜기/끄기 |
고아 요소는 문서 누락이나 제거해야 할 더 이상 사용되지 않는 서비스를 나타낼 수 있습니다.
보안 문제
외부 시스템의 직접 데이터베이스 접근과 같은 우려되는 패턴을 감지합니다.
| 설정 | 옵션 |
|---|---|
| 활성화됨 | 켜기/끄기 |
이러한 결과는 치명적 심각도이며 대부분의 팀이 즉시 알고 싶어합니다.
누락된 문서
설명이 없는 요소를 보고합니다.
| 설정 | 범위 | 기본값 |
|---|---|---|
| 컴포넌트 제한 | 1-500 | 20 |
대규모 코드베이스에서 압도적인 보고서를 방지하기 위해 컴포넌트의 문서 확인은 총 컴포넌트 수가 이 임계값 미만인 경우에만 실행됩니다. 시스템과 컨테이너는 항상 확인됩니다.
조직 전체 설정
인사이트 규칙은 프로젝트별이 아닌 전체 조직에 적용됩니다. 이를 통해 모든 팀과 프로젝트에서 일관된 거버넌스 표준을 보장합니다.
기본값으로 재설정
규칙 탭에서 기본값으로 재설정을 클릭하여 모든 규칙을 원래 구성으로 복원합니다.