Share via


흐름을 사용하여 워크로드 디자인 최적화

이 문서에서는 흐름을 사용하는 워크로드의 대상 최적화에 대해 설명합니다. 워크로드의 다양한 구성 요소에는 다양한 요구 사항과 중요도가 있습니다. 워크로드를 흐름으로 분할하면 워크로드의 여러 부분에 우선 순위를 지정하고 워크로드 투자를 각 흐름의 중요성에 더 잘 맞출 수 있습니다.

이 워크로드 최적화 프로세스는 반복적이며 세 가지 주요 단계를 포함합니다. (1) 워크로드 내에서 흐름 구조를 정의하고, (2) 기술 요구 사항을 정의하고, (3) 요구 사항을 충족하도록 흐름을 디자인합니다(그림 1 참조).

5개의 작업이 있는 3단계 프로세스를 보여 주는 다이어그램 첫 번째 단계는 흐름을 정의하는 것입니다. 흐름을 정의하려면 필수 구성 요소를 이해하고 흐름을 문서화해야 합니다. 두 번째 단계는 흐름 요구 사항을 정의하는 것입니다. 흐름 요구 사항을 정의하려면 기술 목표를 설정해야 합니다. 세 번째 단계는 흐름을 디자인하는 것입니다. 흐름을 디자인하려면 흐름 디자인 모범 사례를 따르고 흐름을 개발하고 테스트해야 합니다. 빌드 및 테스트 작업의 화살표가 이 프로세스의 반복을 나타내는 첫 번째 작업(필수 구성 요소 이해)으로 돌아갑니다.그림 1: 흐름을 사용하여 워크로드를 최적화하는 프로세스입니다.

흐름 정의

흐름 요구 사항을 정의하려면 흐름의 비즈니스 동인을 이해해야 합니다. 흐름을 정의하기 위한 필수 구성 요소는 비즈니스 프로세스 및 해당 지원 사례 사용 사례를 식별하는 것입니다. 필수 구성 요소를 이해하면 흐름 문서화를 시작할 수 있습니다.

필수 구성 요소 이해

흐름은 워크로드 기능을 지원하는 일련의 작업입니다. 흐름에는 사용자 흐름과 시스템 흐름의 두 가지 기본 유형이 있습니다. 사용자 흐름은 사용자 상호 작용을 결정합니다. 시스템 흐름은 워크로드 구성 요소 간의 통신을 결정합니다. 흐름은 비즈니스 프로세스 및 사용 사례를 지원합니다. 워크로드는 여러 사용 사례로 구성됩니다. 흐름을 문서화하기 전에 흐름이 지원하는 비즈니스 프로세스 및 사용 사례를 식별해야 합니다(그림 2 참조).

서로 위에 쌓인 두 개의 상자를 보여 주는 다이어그램 위쪽 상자는 비즈니스 프로세스의 단계 시퀀스를 나타내는 1단계, 2단계 및 스테이지 n으로 표시된 세그먼트가 있는 비즈니스 프로세스를 나타냅니다. 각 단계에서 세 개의 세로 화살표는 서로 다른 사용 사례를 나타내는 세 개의 사각형 행을 아래쪽으로 가리킵니다. 각 사각형은 각각 사용 사례, 사용 사례 2 및 사용 사례 n으로 레이블이 지정됩니다. 각 사각형에는 Flow 1, Flow 2 및 Flow n이라는 레이블이 지정된 고유한 순서도가 포함됩니다. 사용 사례는 모두 단일 워크로드의 일부입니다. 비즈니스 프로세스의 각 단계는 특정 워크로드 사용 사례에 연결되며 각 사용 사례에는 고유한 흐름이 있습니다.그림 2: 비즈니스 프로세스, 사용 사례, 흐름 및 워크로드 간의 관계입니다.

비즈니스 프로세스 식별

비즈니스 프로세스는 비즈니스 요구 사항을 충족하는 일련의 작업(단계)입니다. 흐름은 사용자 또는 데이터가 비즈니스 프로세스의 각 단계를 수행하는 데 걸리는 시퀀스를 결정합니다. 예를 들어 온라인으로 제품을 판매하는 것은 비즈니스 프로세스입니다. 이 비즈니스 프로세스의 단계는 온라인으로 제품을 나열하고, 주문을 받고, 제품을 배달하는 것일 수 있습니다.

사용 사례 식별

사용 사례는 흐름의 기능 요구 사항을 정의합니다. 흐름의 기술 요구 사항을 설정하기 전에 흐름이 지원하는 사용 사례를 식별하고 이해해야 합니다. 각 사용 사례는 비즈니스 프로세스에서 한 단계를 지원해야 합니다(그림 2 참조). 사용 사례는 다음 특성을 정의해야 합니다.

  • 목적: 온라인 구매 사용과 같은 작업 또는 목표를 명확하게 설명합니다. 이 명확성은 기능 디자인을 안내하고 흐름 디자인에 대한 명확한 목표를 설정합니다.

  • 중요도: 루틴에서 중요에 이르는 사용 사례의 중요성을 평가합니다. 사용 사례에 할당된 값은 흐름의 우선 순위 지정 및 디자인을 알려줍니다. 고가용성 사용 사례에는 향상된 오류 처리, 성능 튜닝 또는 사용자 환경 고려 사항이 필요할 수 있습니다.

  • 소비자: 사용자(고객, 직원) 또는 시스템 구성 요소가 기본 소비자인지 여부를 식별합니다. 이 분류는 사용자 흐름인지 시스템 흐름인지를 결정하고 디자인에 영향을 줍니다.

  • 이벤트: 사용 사례를 시작하고 종료하는 트리거 또는 조건을 정의합니다. 이러한 이벤트는 흐름의 경계를 정의합니다.

  • 실행: 시스템 부하를 예상하는 사용 사례의 작동 빈도 및 가변성을 이해합니다. 다양한 실행 시나리오를 처리하도록 흐름을 디자인해야 합니다.

  • 종속성: 위험 관리를 위한 다른 사용 사례와의 상호 종속성을 식별합니다. 사용 사례의 종속성을 인식하면 다른 시스템 파트와 원활하게 통합되는 흐름을 디자인하는 데 도움이 됩니다. 필요한 입력의 가용성과 후속 프로세스와 출력의 호환성을 보장해야 합니다.

흐름 문서화

사용 사례를 사용하여 흐름을 문서화합니다. 흐름에서 필요한 각 작업을 간략하게 설명하거나 매핑해야 합니다. 의사 결정 기준 및 경로를 캡처합니다. 다른 사용 사례와의 상호 작용을 식별합니다. 이 개요는 흐름 디자인 및 관리를 위한 청사진 역할을 합니다. 또한 흐름에 대한 비즈니스 정보를 캡처해야 합니다. 흐름 설명서에 다음 세부 정보를 포함해야 합니다.

  • 흐름 설명: 흐름에 대한 개략적인 설명입니다.

  • 비즈니스 프로세스: 흐름이 지원하는 비즈니스 프로세스입니다.

  • 프로세스 소유자: 비즈니스 프로세스를 소유하는 개인입니다.

  • 관련자: 흐름 상태 또는 변경 사항에 대해 알리거나 상담해야 하는 개인입니다.

  • 에스컬레이션 경로: 문제를 resolve 위해 연락해야 하는 개인 또는 그룹입니다. 그것은 사람들의 시퀀스입니다. 개별 책임의 scope 경로에 있는 각 사람과 함께 증가합니다.

  • 비즈니스 영향: 비즈니스에 대한 이러한 흐름의 중요성.

  • 중요도 등급: 흐름의 상대적 중요도를 나타내는 질적 레이블입니다.

자세한 내용은 흐름 예제를 참조하세요.

흐름 요구 사항 정의

사용 사례를 활용하여 흐름의 기술 목표를 설정합니다. WAF(Well-Architected Framework)의 5가지 핵심 요소에 부합하는 흐름의 측정 가능한 대상을 정의합니다. 이러한 핵심 요소는 기술 목표를 설정하기 위한 프레임워크를 제공합니다.

  • 안정성 목표: 각 흐름의 중요도를 평가하고 그에 따라 안정성 목표를 설정합니다. 성능 임계값을 결정하고 SLA(명확한 서비스 수준 계약) 및 목표(SLO)를 설정합니다. 중요도가 높은 흐름에는 보다 엄격한 안정성 목표가 필요합니다.

  • 보안 대상: 데이터 민감도 및 사용자 활동을 기반으로 각 흐름의 보안 요구 사항을 분석합니다. 규정 표준을 준수하면서 이러한 요구 사항을 충족하도록 보안 조치를 구현하고 지속적으로 업데이트합니다.

  • 비용 목표: 효과적인 리소스 할당을 위한 각 흐름의 요구를 이해합니다. 성능과 비용의 균형을 맞추도록 목표를 설정합니다. 리소스 사용량이 비즈니스 우선 순위에 부합하는지 확인합니다.

  • 운영 목표: 효과적인 모니터링 및 문제 해결을 위한 메트릭을 정의합니다. 대상은 효율적인 리소스 사용 및 조직 목표와 일치하도록 보장해야 합니다.

  • 성능 목표: 각 흐름의 초기 요구 사항에 대한 기본 성능 목표입니다. 필수 흐름이 적절한 리소스를 받고 지속적으로 대상을 조정하여 변화하는 요구를 충족하고 사용자 환경을 향상하는지 확인합니다.

흐름 디자인

기술 목표를 충족하도록 흐름을 디자인합니다. 올바른 결과를 얻을 수 있도록 흐름 디자인 모범 사례를 숙지해야 합니다. 흐름을 빌드하고 테스트합니다. 설정한 기술 목표를 충족할 때까지 디자인을 반복합니다.

흐름 디자인 모범 사례 따르기

흐름을 디자인할 때 흐름 디자인 모범 사례를 따릅니다. 잘 설계된 흐름에는 다음과 같은 특성이 있습니다.

  • 범위 지정: 각 흐름에 대한 고유한 시작 및 종료 지점을 식별합니다. 경계를 지우면 사용자 또는 시스템 상호 작용을 최적화할 수 있습니다.

  • 논리: 논리적 단계 순서로 흐름을 디자인합니다. 가장 효율적인 경로를 최적화하고 불필요한 단계를 줄입니다.

  • 유지 관리 가능: 업데이트 및 유지 관리하기 쉬운 디자인 흐름입니다. 전체 워크로드에 영향을 주지 않고 수정할 수 있는 모듈식 구성 요소를 사용합니다.

  • 정의됨: 흐름의 각 단계를 트리거하거나 안내하는 특정 조건을 통합합니다. 이 정밀도는 흐름이 사용자 입력, 데이터 변경 또는 시스템 상태에 정확하게 응답하도록 합니다.

  • 신뢰할 수 있는: 흐름에 오류 처리 및 예외 경로를 빌드합니다. 효과적인 오류 관리는 중단을 방지하고 예기치 않은 상황에서 흐름 무결성을 유지합니다.

  • 확장성: 다양한 부하를 처리하고 사용자 기반 또는 데이터 볼륨의 증가 또는 축소에 적응할 수 있는지 확인합니다.

  • 보안: 흐름 내에 보안 조치를 포함합니다. 무단 액세스 및 위협으로부터 데이터 및 사용자 상호 작용을 보호합니다.

  • 효율적: 과잉 프로비저닝 없이 리소스를 효율적으로 사용할 계획입니다. 비용 최적화에 유의하세요.

  • 사용자 중심: 사용자 흐름의 경우 흐름 디자인을 사용자 기대치 및 동작에 맞춥니다. 직관적으로 만들고 새 사용자의 학습 곡선을 줄입니다.

흐름 개발 및 테스트

기술 목표를 충족하는 흐름을 개발하고 테스트하여 요구 사항을 충족하는지 확인합니다. 이 프로세스는 흐름이 의도한 대로 작동하고, 작업을 효율적으로 처리하며, 기술 목표를 충족하는지 확인합니다. 흐름을 빌드하고 테스트하는 지침은 다음과 같습니다.

  • 기술 선택: 안정성, 보안 및 성능 측면에서 설정된 대상에 맞는 기술을 선택합니다.

  • 흐름 개발: 설정된 대상을 염두에 두고 디자인에 따라 흐름을 빌드합니다.

  • 테스트 흐름: 테스트를 수행하여 흐름이 목표를 충족하는지 확인합니다. 필요에 따라 대상을 충족하기 위해 반복합니다.

  • 모니터링: 모니터링 도구를 구현하여 리소스 사용량 및 비용을 추적합니다.

설정된 대상 및 업계 표준에 대한 흐름을 주기적으로 검토합니다. 모니터링 및 감사의 피드백을 사용하여 흐름을 개선합니다. 변화하는 비즈니스 요구 사항 또는 기술 발전에 맞게 필요에 따라 대상 및 프로세스를 조정합니다.

흐름 최적화

흐름의 수명 주기 동안 이 문서에 정의된 프로세스를 반복합니다. 흐름 디자인을 반복할 때 Well-Architected Framework를 사용하여 각 핵심 요소의 관점에서 흐름을 최적화합니다.

흐름 예제

다음은 흐름을 디자인하는 데 도움이 되는 몇 가지 흐름 예제입니다. 이 예제에서는 신뢰할 수 있는 웹앱 패턴 참조 아키텍처 를 기준으로 사용하고 각 흐름에 대해 있어야 하는 설명서를 보여 줍니다.

Relecloud를 기반으로 하는 예제 흐름을 보여 주는 다이어그램

사용자 흐름 1: 예정된 콘서트 만들기

흐름 설명: 콜 센터 직원은 애플리케이션을 사용하여 예정된 콘서트를 만듭니다.

  • 비즈니스 프로세스: 이 흐름은 구매 티켓 프로세스를 지원하지만 비동기적이므로 중요도를 낮춥니다.

  • 프로세스 소유자: Sales 디렉터입니다.

  • 관련자: 영업 부서, 콘서트 계획 및 운영, 플랫폼 팀 및 애플리케이션 팀.

  • 에스컬레이션 경로: 애플리케이션 팀, 플랫폼 팀, 영업 부서.

  • 비즈니스 영향: 이 흐름은 영업 플랫폼에서 새로운 콘서트를 사용할 수 있도록 하여 비즈니스의 기본 수익원에 직접적인 영향을 주는 데 중요합니다. 콜 센터 직원이 이 흐름을 사용할 수 없어 콘서트를 만들 수 없는 경우 수익과 회사의 평판 모두에 부정적인 영향을 미칩니다. 그러나 콘서트는 일반적으로 매주 사전에 예약되므로 이 프로세스에는 고가용성이 필수적이지 않습니다. 영업 부서는 이 프로세스에 대해 95%의 가용성 요구 사항을 지정했으며 유지 관리를 위해 업무 시간 외 가동 중지 시간에 동의할 수 있습니다.

  • 중요도 등급: 낮음.

사용자 흐름 2: 콘서트 검색

흐름 설명: 콜 센터 직원은 애플리케이션을 사용하여 예정된 콘서트를 검색합니다.

  • 비즈니스 프로세스: 이 흐름은 구매 티켓 프로세스를 지원하지만 콜 센터 직원은 검색 기능을 사용할 수 없는 경우 모든 콘서트를 나열하도록 선택할 수 있습니다.

  • 프로세스 소유자: UX(사용자 환경) 부서입니다.

  • 관련자: 영업 부서, 플랫폼 팀 및 애플리케이션 팀.

  • 에스컬레이션 경로: 애플리케이션 팀, 플랫폼 팀, 영업 부서 관리자 온-콜.

  • 비즈니스 영향: 이 흐름을 통해 콜 센터 직원은 콘서트를 빠르게 찾을 수 있으며 일반적인 판매 프로세스의 일부입니다. 직원이 부재 중에도 콘서트를 나열할 수 있기 때문에 이 흐름의 고가용성이 중요하지 않습니다. 콜 센터 직원의 환경이 저하되고 생산성에 영향을 줄 수 있습니다. 고객은 대기 시간 증가 또는 지연으로 인해 불만을 겪을 수 있습니다. 영업 부서는 정기적인 업무 시간 동안 이 흐름의 99% 가용성을 요청했습니다.

  • 중요도 등급: 보통.

사용자 흐름 3: 콘서트 목록 가져오기

흐름 설명: 콜 센터 직원은 애플리케이션을 사용하여 콘서트 목록을 가져옵니다.

  • 비즈니스 프로세스: 이 흐름은 구매 티켓 프로세스를 직접 지원합니다.

  • 프로세스 소유자: 플랫폼 디렉터입니다.

  • 관련자: 영업 부서, 플랫폼 팀, 데이터 팀.

  • 에스컬레이션 경로: 데이터 팀, 데이터 팀 온-콜 엔지니어, 플랫폼 팀 온-콜 엔지니어.

  • 비즈니스 영향: 이 흐름은 비즈니스에 대한 수익 창출 트랜잭션의 중요한 경로에 필수적입니다. 콜 센터 직원이 티켓 구매를 처리하기 위해 이 흐름을 사용하므로 고가용성이 필수적입니다. 비즈니스는 그 중요성을 인식하여 이 흐름에 대해 99.9%의 가동 시간을 요구하며, 여기에는 연장된 업무 시간이 포함됩니다.

  • 중요도 등급: 높음.

사용자 흐름 4: 티켓 구매

흐름 설명: 콜 센터 직원은 애플리케이션( 인증 및 권한 부여 프로세스)을 사용하여 Relecloud 고객을 대신하여 예정된 콘서트( 예정된 콘서트 프로세스 목록 )의 티켓을 구입합니다.

  • 비즈니스 프로세스: 이 흐름은 애플리케이션의 핵심 기능 및 흐름입니다.

  • 프로세스 소유자: Sales 디렉터입니다.

  • 관련자: 영업 부서 및 모든 기술 팀.

  • 에스컬레이션 경로: 애플리케이션 팀 온-콜 엔지니어, 플랫폼 팀 온-콜 엔지니어, 데이터 팀 온-콜 엔지니어, 최고 운영 책임자.

  • 비즈니스 영향: 고객 티켓 구매를 직접 가능하게 하므로 이 흐름의 고가용성이 중요합니다. 이 흐름의 오작동 또는 사용 불가는 수익과 회사의 평판 모두에 큰 영향을 미칠 수 있습니다. 비즈니스는 업무 시간이 연장된 경우에도 99.9%의 가동 시간을 예상하는 이 중요한 프로세스에 대한 엄격한 요구 사항을 설정했습니다.

  • 중요도 등급: 높음.

사용자 흐름 5: 인증 및 권한 부여

흐름 설명: 콜 센터 직원은 애플리케이션에 안전하게 로그인합니다. 관리자는 Relecloud 고객을 대신하여 티켓을 구매할 수 있는 적절한 역할을 제공합니다.

  • 비즈니스 프로세스: 이 흐름은 구매 티켓 프로세스를 직접 지원합니다. 이 기능이 없으면 콜 센터 직원이 티켓을 구매하기 위해 애플리케이션에 로그인할 수 없습니다.

  • 프로세스 소유자: 플랫폼 팀.

  • 관련자: 플랫폼 팀, 운영 팀 및 영업 부서.

  • 에스컬레이션 경로: 플랫폼 팀 온-콜 엔지니어, 최고 운영 책임자.

  • 비즈니스 영향: 이 흐름이 제대로 작동하지 않으면 콜 센터 직원이 티켓을 구매할 수 없으므로 이 흐름에는 고가용성이 필요합니다. 이 흐름을 사용할 수 없는 경우 수익 및 평판에 직접적인 영향을 줍니다. 업무 시간 연장을 포함하여 비즈니스에서 99.9%의 가동 시간을 예상하는 핵심 프로세스입니다.

  • 중요도 등급: 높음.

시스템 흐름: 원격 분석 수집

흐름 설명: 프로덕션 시스템의 상태 변경을 이해하기 위해 웹 애플리케이션 및 API 인스턴스는 정보, 오류 및 경고를 수집하고 보냅니다. 이 데이터는 운영 팀이 변칙 검색, 문제 해결 및 프로파일링을 수행하는 데 도움이 됩니다.

  • 비즈니스 프로세스: 이 흐름은 비즈니스 프로세스를 지원하지 않지만 운영 팀에 중요한 데이터를 제공합니다.

  • 프로세스 소유자: 운영 책임자입니다.

  • 관련자: 운영 팀, 플랫폼 팀 및 데이터 팀.

  • 에스컬레이션 경로: 운영 팀(24/7), 데이터 팀 온-콜 엔지니어.

  • 비즈니스 영향: 이 흐름은 비즈니스의 모니터링 및 지속적인 개선 노력에 필수적입니다. 가능한 한 중복되고 복원력이 있어야 합니다. 운영 팀은 중요한 정보와 경고가 누락되지 않도록 실패한 후 이 흐름을 신속하게 복원할 책임이 있습니다. 흐름이 예상 가용성을 달성하지 못하면 프로덕션 문제를 간과하여 심각한 결과를 초래할 위험이 있습니다. 이러한 위험을 완화하기 위해 운영 부서는 가동 시간 99%, 24/7을 목표로 합니다. 최소 48시간 전에 유지 관리 관련 가동 중지 시간을 예약해야 합니다.

  • 중요도 등급: 보통.