검토 프로세스 - AWS Well-Architected Framework

검토 프로세스

아키텍처 검토는 깊이 있는 분석을 촉진할 수 있도록 결과에 대한 부담을 지지 않는 접근과 함께 일관적인 방식으로 수행되어야 합니다. 감사가 아니라 대화로 진행되는 가벼운 프로세스(며칠이 아닌 몇 시간)여야 합니다. 아키텍처를 검토하는 목적은 해결해야 할 영역이나 개선해야 할 부분을 파악하는 것입니다. 검토 결과는 워크로드를 사용하는 고객의 경험을 개선해야 하는 일련의 작업입니다.

"아키텍처" 섹션에서 설명한 것처럼 각 팀원에게 아키텍처의 품질에 대한 책임 부여를 원할 수 있습니다. 아키텍처를 구축하는 팀원은 공식 검토 회의를 개최하는 대신 Well-Architected 프레임워크를 사용하여 아키텍처를 계속 검토하는 것이 좋습니다. 지속적인 접근 방식을 사용하면 아키텍처가 발전함에 따라 팀원이 답변을 업데이트하고 기능을 전달할 때 아키텍처를 개선할 수 있습니다.

AWS Well-Architected Framework는 AWS가 시스템 및 서비스를 내부적으로 검토하는 방식에 맞춰 조정됩니다. 이는 아키텍처 접근 방식에 영향을 미치는 일련의 설계 원칙 및 사람들이 근본 원인 분석(RCA)에 있는 영역을 무시하지 않도록 보장하는 질문을 전제로 합니다. 내부 시스템, AWS 서비스 또는 고객과 관련하여 중대한 문제가 발생할 때마다 AWS는 RCA를 검토하여 사용 중인 검토 프로세스를 개선할 수 있는지 확인합니다.

검토는 제품 수명 주기의 주요 이정표에 적용되어야 하며, 단방향 방식을 방지하기 위해 설계 단계 초기에 적용되어야 합니다. 수명 주기에서 여러 번 검토를 적용해야 합니다. (대부분의 의사 결정은 번복할 수 있는 양방향 방식으로 이루어집니다. 이러한 결정 과정에서는 간단한 프로세스를 사용할 수 있습니다. 일방향 방식은 번복하기 어렵거나 불가능하기 때문에 확정하기 전에 검토를 더 많이 진행해야 합니다.) 프로덕션 환경에 적용한 후 워크로드를 가동하면 새로운 기능을 추가하고 기술 구현 방식을 변경함에 따라 계속 개선할 수 있습니다. 워크로드 아키텍처는 시간에 따라 변화합니다. 아키텍처 특성의 성능 저하를 방지하려면 개선 과정에서 재발을 막는 사례를 따라야 합니다. 중요한 아키텍처 변경을 수행할 때에는 Well-Architected 검토를 비롯한 일련의 재발을 방지할 수 있는 프로세스를 따라야 합니다.

일회성 스냅샷 또는 독립적인 측정 방식으로 검토를 진행하려면 적합한 모든 사람과 충분히 대화를 나눴는지 확인해야 합니다. 이러한 검토 과정에서 처음으로 팀이 구현한 내용을 분명하게 이해하게 되는 경우를 종종 경험하곤 합니다. 다른 팀의 워크로드를 검토할 때 효과적인 접근 방식은 대부분의 질문에 대한 답변을 수집할 수 있는 아키텍처에 대한 일련의 비공식 대화를 갖는 것입니다. 그런 다음 모호한 위험 또는 예측되는 위험 영역을 명확하게 파악하거나 자세히 알아볼 수 있는 한두 번의 회의를 진행할 수 있습니다.

회의를 쉽게 진행하기 위해 제안할 수 있는 몇 가지 항목은 다음과 같습니다.

  • 화이트보드가 있는 회의실

  • 다이어그램 또는 설계도 인쇄물

  • 답변하기 위해 추가 조사가 필요한 질문 목록(예: “암호화를 활성화했는가?“)

검토를 마친 후에는 비즈니스 상황에 따라 우선 순위를 지정할 수 있는 문제 목록을 보유해야 합니다. 또한 이러한 문제가 팀의 일상적인 업무에 미치는 영향을 고려하고자 할 수도 있습니다. 이러한 문제를 초기에 해결하면 반복되는 문제를 해결하는 대신 비즈니스 가치를 창출하는 데 더 많은 시간을 할애할 수 있습니다. 문제를 해결할 때 검토 결과를 업데이트하면 아키텍처가 어떻게 개선되고 있는지 확인할 수 있습니다.

이러한 작업 이후 검토의 가치가 분명하게 나타나는 한편, 새롭게 접하는 팀은 처음에 반감을 가질 수 있다는 점을 확인하게 될 수 있습니다. 다음은 몇 가지 이의 제기 사례이며, 해당 팀에 검토의 이점을 설명함으로써 해결할 수 있습니다.

  • “너무 바쁩니다!“(팀이 대규모 출시를 준비 중일 때 자주 나오는 말)

    • 대규모 출시를 준비하는 중이라면, 준비가 원활하게 진행되면 좋을 것입니다. 이러한 검토 과정을 진행하면 놓쳤을 수도 있는 문제를 이해할 수 있습니다.

    • 위험을 파악하고 기능 제공 로드맵에 따라 완화 계획을 수립하려면 제품 수명 주기 초반에 검토를 수행하는 것이 좋습니다.

  • “이러한 결과에 대처할 시간이 없습니다!”(슈퍼볼 경기처럼 목표로 하고 있는 고정된 이벤트가 있을 때 자주 나오는 말)

    • 이 이벤트는 이동할 수 없습니다. 아키텍처에 대한 위험을 파악하지 않은 채 그대로 진행하고 싶으십니까? 이러한 모든 문제를 해결하지 못하더라도, 문제가 현실화되는 경우 해당 문제를 처리하는 데 도움이 되는 지침서가 있습니다.

  • “다른 업체가 AWS의 솔루션 구현 방식에 대한 비밀을 알게 되길 바라진 않습니다!”

    • Well-Architected Framework의 질문을 팀에 제시하면 어떠한 질문에서도 상업적 또는 기술적 독점 정보가 드러나지 않음을 알 수 있습니다.

조직 내 팀과 여러 검토를 수행하면서 주제별 문제를 식별할 수 있습니다. 예를 들어, 일부 팀은 특정 기반 또는 주제에서 다양한 문제를 갖고 있다는 것을 확인할 수 있습니다. 전체적인 방식으로 모든 검토를 수행하고, 해당 주제별 문제를 해결하는 데 도움이 될 수 있는 메커니즘, 교육 또는 기본 엔지니어링 관련 정보를 식별하고자 할 수 있습니다.