93. 아키텍처 평가 방법론 ATAM (4단계 페이즈)

⚠️ 이 문서는 시스템 설계도를 펴놓고 "속도(성능)와 보안 중 무엇을 포기할까?"라는 뼈 때리는 논쟁을 벌이는 어제 배운 'ATAM(Architecture Trade-off Analysis Method)' 평가 회의가 동네 반상회처럼 아무 말 잔치로 난장판이 되는 것을 막기 위해, 카네기멜론 대학(SEI)이 정해놓은 "1단계: 소개팅(초기화) $\rightarrow$ 2단계: 현미경 들이대기(평가) $\rightarrow$ 3단계: 피 터지는 토론(분석 도출) $\rightarrow$ 4단계: 사장님 보고서 작성(종합)"이라는 숨 막히는 9스텝 / 4페이즈의 완벽한 템플릿 회의 절차를 다룹니다.

핵심 인사이트 (3줄 요약)

  1. 본질: 설계도(Architecture) 하나 띄워놓고 서로 멱살 잡고 싸우지 않게, 발언의 순서와 룰을 정해놓은 '법정 재판 시나리오'다.
  2. 가치: 고객(비즈니스 요구사항)과 아키텍트(기술적 해답) 사이의 동상이몽을 완벽히 박살 낸다. 유틸리티 트리(Utility Tree)를 무기로 고객의 모호한 헛소리를 0.5초 같은 수학적 숫자로 강제로 번역해 내어 훗날 법적 책임(SLA)을 명확히 한다.
  3. 기술 체계: 1단계 초기화(준비) $\rightarrow$ 2단계 평가(비즈니스와 아키텍처 제시) $\rightarrow$ 3단계 결과 도출(시나리오로 뼈대 때리기) $\rightarrow$ 4단계 **종합(결과 보고서 작성)**이라는 시간 순서의 4 페이즈(Phase)로 톱니바퀴처럼 돌아간다.

Ⅰ. Phase 1: 초기화 및 Phase 2: 평가 (법정에 무기 올려놓기)

서로 누군지 통성명하고, "우리가 이 시스템을 왜 만드는지" 팩트를 체크한다.

  1. Phase 1: 초기화 (Preparation / Presentation):
    • 평가팀 대장이 앞으로 나선다. "자, 여러분, 오늘부터 3일 동안 ATAM 회의를 할 겁니다. 우리 목표는 설계도의 리스크와 타협점을 찾는 겁니다!"라고 1) ATAM 방식을 소개한다.
    • 사장님(비즈니스 담당자)이 나와서 2) 비즈니스 동인을 소개한다. "우리 쇼핑몰은 내년까지 가입자 100만 명을 찍어야 하고 블랙프라이데이 때 절대 서버가 안 죽는 게 지상 최대의 미션입니다!" (가장 중요한 북극성 목표 세팅)
  2. Phase 2: 평가 (Architecture Presentation):
    • 땀을 흘리며 아키텍트(설계자)가 단상에 오른다. 3) 아키텍처를 소개한다. "사장님 지시에 맞춰 서버는 3중화(가용성)했고, DB는 마스터-슬레이브로 찢었습니다(성능)." 라며 도면(논리 뷰, 물리 뷰 등)을 벽에 쫙 펼친다.
    • 이제 모든 참가자가 이 도면 하나만을 타겟으로 삼아 물어뜯을 준비를 마친다.
  3. 아키텍처 접근법 식별 (4단계):
    • 감리관(평가자)이 아키텍트에게 묻는다. "그래서 성능을 내기 위해 당신이 쓴 핵심 무기(패턴/전술)가 뭐요?"
    • 아키텍트: "메시지 큐(Kafka) 패턴과 캐시(Redis) 패턴을 발랐습니다." (이 무기들이 나중에 시나리오 공격을 막아낼 수 있는지 검증의 핵심 타겟이 된다.)

📢 섹션 요약 비유: 재판(ATAM)의 시작입니다. Phase 1은 재판장이 법정 룰을 설명하고(ATAM 소개), 원고 측 사장님이 "저놈이 우리 100만 명 결제 서버를 망칠 것 같습니다!(비즈니스 목표)"라고 고소장을 읽는 단계입니다. Phase 2는 피고 측 변호사(아키텍트)가 나와서 "판사님, 저는 결코 망치지 않았습니다. 여기 제 알리바이(아키텍처 도면)와, 방어를 위해 들고 있는 방패(접근법: 캐시와 큐)를 보십시오!"라며 증거물을 테이블 위에 다 쏟아내어 본격적인 싸움판을 세팅하는 과정입니다.


Ⅱ. Phase 3: 분석 및 결과 도출 (시나리오로 뼈 때리기)

모호한 헛소리는 가라. 오직 '0.5초' 같은 냉혹한 숫자의 몽둥이로 도면을 패본다.

  1. 유틸리티 트리 (Utility Tree) 생성 (5단계) $\star$:
    • ATAM의 꽃이자 하이라이트다. 사장님의 "빠르고 안 터지게 해줘"라는 문과식 형용사를 이과식 숫자로 번역(하향식 쪼개기)한다.
    • 뿌리(루트) $\rightarrow$ 가용성 $\rightarrow$ 시나리오: "DB 1대가 죽었을 때(자극), 백업 DB가 작동하여(응답), 5초 이내에 결제가 다시 복구되어야 함(응답 척도)."
    • 수십 개의 시나리오를 칠판에 적고, [비즈니스 중요도(H/M/L) / 구현 난이도(H/M/L)] 스티커 투표를 붙여 가장 중요한 H-H(고위험/고중요) 시나리오 5개를 핀셋으로 뽑아낸다.
  2. 아키텍처 접근법 분석 (6단계) - 도면 엑스레이 스캔:
    • 뽑힌 H-H 시나리오(DB 5초 내 복구)를 아까 아키텍트가 제출한 도면에 확 부어본다.
    • 아키텍트: "네, 제 도면에 Active-Standby 이중화 패턴이 있어서 5초 복구 거뜬합니다." (통과)
    • 하지만 다른 시나리오 "암호화 처리 0.1초 내 완료"를 부어본다. 아키텍트가 땀을 흘린다. "어... 암호화를 빡세게(보안) 하면 CPU를 많이 먹어서 응답 속도가 0.5초로 느려집니다(성능 저하)."
  3. 3대 결과물 도출 (민감점, 타협점, 리스크):
    • 여기서 잭팟이 터진다. 방금 아키텍트가 자백한 '보안 암호화 모듈'이 성능과 보안을 쥐락펴락하는 **'민감점(Sensitivity Point)'**이자 두 속성이 싸우는 **'타협점(Trade-off)'**으로 적발되어 장부에 쾅! 찍힌다.
    • 만약 5초 내 복구 시나리오를 통과 못 하는 도면 붕괴 지점이 발견되면 빨간 줄로 '리스크(Risk)' 딱지를 붙여버린다.

📢 섹션 요약 비유: 무기 내구성 테스트(Phase 3)입니다. 사장님이 "방패가 튼튼했으면 좋겠어"라고 헛소리를 하면, 평가단이 유틸리티 트리 기법으로 "10m 앞에서 9mm 권총을 쏘았을 때 10발 중 9발을 튕겨내야 함(시나리오)"으로 숫자를 박아버립니다(5단계). 그리고 아키텍트가 가져온 방패(도면)에 대고 진짜로 10발을 쏴봅니다(6단계 분석). 권총은 막았지만(가용성 통과), 너무 무거워서 들고 뛸 수가 없다(성능 저하)는 약점이 뽀록나면, 이것을 즉시 "강철 두께"라는 **타협점(Trade-off)**으로 문서에 영구 박제하여 훗날의 면피용 증거를 남기는 피 튀기는 압박 면접입니다.


Ⅲ. Phase 4: 종합 및 보고 (판결문 낭독)

전쟁이 끝났으면, 사장님 책상에 올릴 깔끔한 1장짜리 결론을 써라.

  1. 시나리오 브레인스토밍 (7단계) - 밑바닥 직원들의 반란:
    • 아까 유틸리티 트리(5단계)는 높은 사람(아키텍트, 사장) 위주의 하향식(Top-down)이었다면, 이번엔 회의실 뒤에 앉아있던 말단 콜센터 직원, 인프라 운영자들에게 포스트잇을 나눠주고 묻는다.
    • "니들이 현장에서 겪은 최악의 장애(시나리오) 다 적어봐!"
    • "새벽에 청소부가 서버실 콘센트 뽑은 적 있어요!" 같은 기상천외한 실무진의 밑바닥(Bottom-up) 시나리오들을 다 끌어모아, 아까 만든 시나리오 리스트를 완벽하고 풍성하게 보완한다.
  2. 최종 분석 (8단계):
    • 새롭게 쏟아진 밑바닥 시나리오들을 아키텍처 도면에 한 번 더 부어보고(6단계 재반복), 누락된 리스크(Risk)가 없는지 싹 다 긁어모은다.
  3. 결과 발표 (9단계 - Presentation):
    • 드디어 2박 3일의 재판이 끝났다. 평가팀 대장이 칠판에 적힌 것들을 모아 최종 리포트를 뽑아 사장님께 바친다.
    • "사장님, 현재 도면은 '보안'과 '성능'이 멱살 잡고 싸우는 타협점이 3개 있고, 트래픽 폭주 시 DB가 뻗는 치명적인 리스크가 2개 발견되었습니다. 이 리스크 2개를 아키텍트가 고치기 전까지는 절대 프로젝트 개발비(잔금) 승인 도장을 찍어주시면 안 됩니다!"라는 완벽한 판결문이 낭독되며 ATAM이 종료된다.

📢 섹션 요약 비유: 재판의 최종 선고(Phase 4)입니다. 판사(평가자)는 엘리트들의 의견(유틸리티 트리)뿐만 아니라 방청석에 앉은 동네 아줌마(실무자 브레인스토밍)의 의견까지 다 들어보고 최종적으로 방패의 내구성을 재검토합니다. 모든 엑스레이 검사가 끝나면 사장님께 한 장의 판결문(최종 리포트)을 바칩니다. "이 방패(도면)는 9mm 총알은 막지만 대포(리스크)에는 뚫립니다. 보강 수리 전까지는 전장에 들고 나가지 마십시오!" 이 리포트 한 장이 수십억 원짜리 프로젝트가 허공으로 증발하는 최악의 재앙을 1년 전에 미리 방어해 주는 ATAM의 존재 가치 그 자체입니다.