93. 아키텍처 평가 방법론 ATAM (4단계 페이즈)
⚠️ 이 문서는 시스템 설계도를 펴놓고 "속도(성능)와 보안 중 무엇을 포기할까?"라는 뼈 때리는 논쟁을 벌이는 어제 배운 'ATAM(Architecture Trade-off Analysis Method)' 평가 회의가 동네 반상회처럼 아무 말 잔치로 난장판이 되는 것을 막기 위해, 카네기멜론 대학(SEI)이 정해놓은 "1단계: 소개팅(초기화) $\rightarrow$ 2단계: 현미경 들이대기(평가) $\rightarrow$ 3단계: 피 터지는 토론(분석 도출) $\rightarrow$ 4단계: 사장님 보고서 작성(종합)"이라는 숨 막히는 9스텝 / 4페이즈의 완벽한 템플릿 회의 절차를 다룹니다.
핵심 인사이트 (3줄 요약)
- 본질: 설계도(Architecture) 하나 띄워놓고 서로 멱살 잡고 싸우지 않게, 발언의 순서와 룰을 정해놓은 '법정 재판 시나리오'다.
- 가치: 고객(비즈니스 요구사항)과 아키텍트(기술적 해답) 사이의 동상이몽을 완벽히 박살 낸다. 유틸리티 트리(Utility Tree)를 무기로 고객의 모호한 헛소리를 0.5초 같은 수학적 숫자로 강제로 번역해 내어 훗날 법적 책임(SLA)을 명확히 한다.
- 기술 체계: 1단계 초기화(준비) $\rightarrow$ 2단계 평가(비즈니스와 아키텍처 제시) $\rightarrow$ 3단계 결과 도출(시나리오로 뼈대 때리기) $\rightarrow$ 4단계 **종합(결과 보고서 작성)**이라는 시간 순서의 4 페이즈(Phase)로 톱니바퀴처럼 돌아간다.
Ⅰ. Phase 1: 초기화 및 Phase 2: 평가 (법정에 무기 올려놓기)
서로 누군지 통성명하고, "우리가 이 시스템을 왜 만드는지" 팩트를 체크한다.
- Phase 1: 초기화 (Preparation / Presentation):
- 평가팀 대장이 앞으로 나선다. "자, 여러분, 오늘부터 3일 동안 ATAM 회의를 할 겁니다. 우리 목표는 설계도의 리스크와 타협점을 찾는 겁니다!"라고 1) ATAM 방식을 소개한다.
- 사장님(비즈니스 담당자)이 나와서 2) 비즈니스 동인을 소개한다. "우리 쇼핑몰은 내년까지 가입자 100만 명을 찍어야 하고 블랙프라이데이 때 절대 서버가 안 죽는 게 지상 최대의 미션입니다!" (가장 중요한 북극성 목표 세팅)
- Phase 2: 평가 (Architecture Presentation):
- 땀을 흘리며 아키텍트(설계자)가 단상에 오른다. 3) 아키텍처를 소개한다. "사장님 지시에 맞춰 서버는 3중화(가용성)했고, DB는 마스터-슬레이브로 찢었습니다(성능)." 라며 도면(논리 뷰, 물리 뷰 등)을 벽에 쫙 펼친다.
- 이제 모든 참가자가 이 도면 하나만을 타겟으로 삼아 물어뜯을 준비를 마친다.
- 아키텍처 접근법 식별 (4단계):
- 감리관(평가자)이 아키텍트에게 묻는다. "그래서 성능을 내기 위해 당신이 쓴 핵심 무기(패턴/전술)가 뭐요?"
- 아키텍트: "메시지 큐(Kafka) 패턴과 캐시(Redis) 패턴을 발랐습니다." (이 무기들이 나중에 시나리오 공격을 막아낼 수 있는지 검증의 핵심 타겟이 된다.)
📢 섹션 요약 비유: 재판(ATAM)의 시작입니다. Phase 1은 재판장이 법정 룰을 설명하고(ATAM 소개), 원고 측 사장님이 "저놈이 우리 100만 명 결제 서버를 망칠 것 같습니다!(비즈니스 목표)"라고 고소장을 읽는 단계입니다. Phase 2는 피고 측 변호사(아키텍트)가 나와서 "판사님, 저는 결코 망치지 않았습니다. 여기 제 알리바이(아키텍처 도면)와, 방어를 위해 들고 있는 방패(접근법: 캐시와 큐)를 보십시오!"라며 증거물을 테이블 위에 다 쏟아내어 본격적인 싸움판을 세팅하는 과정입니다.
Ⅱ. Phase 3: 분석 및 결과 도출 (시나리오로 뼈 때리기)
모호한 헛소리는 가라. 오직 '0.5초' 같은 냉혹한 숫자의 몽둥이로 도면을 패본다.
- 유틸리티 트리 (Utility Tree) 생성 (5단계) $\star$:
- ATAM의 꽃이자 하이라이트다. 사장님의 "빠르고 안 터지게 해줘"라는 문과식 형용사를 이과식 숫자로 번역(하향식 쪼개기)한다.
- 뿌리(루트) $\rightarrow$ 가용성 $\rightarrow$ 시나리오: "DB 1대가 죽었을 때(자극), 백업 DB가 작동하여(응답), 5초 이내에 결제가 다시 복구되어야 함(응답 척도)."
- 수십 개의 시나리오를 칠판에 적고, [비즈니스 중요도(H/M/L) / 구현 난이도(H/M/L)] 스티커 투표를 붙여 가장 중요한 H-H(고위험/고중요) 시나리오 5개를 핀셋으로 뽑아낸다.
- 아키텍처 접근법 분석 (6단계) - 도면 엑스레이 스캔:
- 뽑힌 H-H 시나리오(DB 5초 내 복구)를 아까 아키텍트가 제출한 도면에 확 부어본다.
- 아키텍트: "네, 제 도면에 Active-Standby 이중화 패턴이 있어서 5초 복구 거뜬합니다." (통과)
- 하지만 다른 시나리오 "암호화 처리 0.1초 내 완료"를 부어본다. 아키텍트가 땀을 흘린다. "어... 암호화를 빡세게(보안) 하면 CPU를 많이 먹어서 응답 속도가 0.5초로 느려집니다(성능 저하)."
- 3대 결과물 도출 (민감점, 타협점, 리스크):
- 여기서 잭팟이 터진다. 방금 아키텍트가 자백한 '보안 암호화 모듈'이 성능과 보안을 쥐락펴락하는 **'민감점(Sensitivity Point)'**이자 두 속성이 싸우는 **'타협점(Trade-off)'**으로 적발되어 장부에 쾅! 찍힌다.
- 만약 5초 내 복구 시나리오를 통과 못 하는 도면 붕괴 지점이 발견되면 빨간 줄로 '리스크(Risk)' 딱지를 붙여버린다.
📢 섹션 요약 비유: 무기 내구성 테스트(Phase 3)입니다. 사장님이 "방패가 튼튼했으면 좋겠어"라고 헛소리를 하면, 평가단이 유틸리티 트리 기법으로 "10m 앞에서 9mm 권총을 쏘았을 때 10발 중 9발을 튕겨내야 함(시나리오)"으로 숫자를 박아버립니다(5단계). 그리고 아키텍트가 가져온 방패(도면)에 대고 진짜로 10발을 쏴봅니다(6단계 분석). 권총은 막았지만(가용성 통과), 너무 무거워서 들고 뛸 수가 없다(성능 저하)는 약점이 뽀록나면, 이것을 즉시 "강철 두께"라는 **타협점(Trade-off)**으로 문서에 영구 박제하여 훗날의 면피용 증거를 남기는 피 튀기는 압박 면접입니다.
Ⅲ. Phase 4: 종합 및 보고 (판결문 낭독)
전쟁이 끝났으면, 사장님 책상에 올릴 깔끔한 1장짜리 결론을 써라.
- 시나리오 브레인스토밍 (7단계) - 밑바닥 직원들의 반란:
- 아까 유틸리티 트리(5단계)는 높은 사람(아키텍트, 사장) 위주의 하향식(Top-down)이었다면, 이번엔 회의실 뒤에 앉아있던 말단 콜센터 직원, 인프라 운영자들에게 포스트잇을 나눠주고 묻는다.
- "니들이 현장에서 겪은 최악의 장애(시나리오) 다 적어봐!"
- "새벽에 청소부가 서버실 콘센트 뽑은 적 있어요!" 같은 기상천외한 실무진의 밑바닥(Bottom-up) 시나리오들을 다 끌어모아, 아까 만든 시나리오 리스트를 완벽하고 풍성하게 보완한다.
- 최종 분석 (8단계):
- 새롭게 쏟아진 밑바닥 시나리오들을 아키텍처 도면에 한 번 더 부어보고(6단계 재반복), 누락된 리스크(Risk)가 없는지 싹 다 긁어모은다.
- 결과 발표 (9단계 - Presentation):
- 드디어 2박 3일의 재판이 끝났다. 평가팀 대장이 칠판에 적힌 것들을 모아 최종 리포트를 뽑아 사장님께 바친다.
- "사장님, 현재 도면은 '보안'과 '성능'이 멱살 잡고 싸우는 타협점이 3개 있고, 트래픽 폭주 시 DB가 뻗는 치명적인 리스크가 2개 발견되었습니다. 이 리스크 2개를 아키텍트가 고치기 전까지는 절대 프로젝트 개발비(잔금) 승인 도장을 찍어주시면 안 됩니다!"라는 완벽한 판결문이 낭독되며 ATAM이 종료된다.
📢 섹션 요약 비유: 재판의 최종 선고(Phase 4)입니다. 판사(평가자)는 엘리트들의 의견(유틸리티 트리)뿐만 아니라 방청석에 앉은 동네 아줌마(실무자 브레인스토밍)의 의견까지 다 들어보고 최종적으로 방패의 내구성을 재검토합니다. 모든 엑스레이 검사가 끝나면 사장님께 한 장의 판결문(최종 리포트)을 바칩니다. "이 방패(도면)는 9mm 총알은 막지만 대포(리스크)에는 뚫립니다. 보강 수리 전까지는 전장에 들고 나가지 마십시오!" 이 리포트 한 장이 수십억 원짜리 프로젝트가 허공으로 증발하는 최악의 재앙을 1년 전에 미리 방어해 주는 ATAM의 존재 가치 그 자체입니다.