파이프라인 문제를 빠르게 디버그하고 해결하는 능력은 파이프라인 유지 보수 작업의 핵심 부분입니다. 이를 통해 조직의 중요한 워크플로를 공급하는 생산 파이프라인이 신뢰할 수 있고 의미 있는 상태를 유지할 수 있습니다.
이 문서는 파이프라인 유지 보수자로서 온콜 회전 중 건강 상태 점검 실패에 대한 알림을 받을 때 사용할 수 있는 표준 운영 절차(SOP)의 기초로 사용할 수 있는 프레임워크를 제공합니다.
이 문서는 다양한 Foundry 도구와 워크플로에 익숙하다고 가정하고 있습니다. 관련 섹션에 링크가 제공됩니다:
또한 파이프라인 관리자 팀에서 파이프라인의 반복적인 문제에 대한 사건 로그나 기타 문서를 기록한다고 가정합니다. 이는 모범 사례이며 현재 이러한 문서가 없다면 구현해야 합니다.
다음 세 가지 질문을 순서대로 항상 먼저 물어보세요.
파이프라인 문서를 읽어보세요! 이 문제는 이미 해결된 경우가 있습니다. 또는 완화 과정에서 하지 말아야 할 경고가 있을 수 있습니다. 예를 들어, 일부 빌드는 매우 비용이 많이 들어 피크 사용 시간 동안 환경 성능에 영향을 줄 수 있습니다. 이러한 세부 정보는 팀 전체가 잘 문서화되어야 합니다.
문제를 완화하려고 시도한 후, 파이프라인 관리자로서 근본 원인을 이해하고 대처하기 위해 더 깊이 파고들어야 합니다. 디버깅 중 문제를 분류하는 이유는 근본 원인을 파악하는 데 도움이 되기 때문이며, 가장 중요한 것은 문제를 해결할 수 있는지 아니면 다른 팀에 연락해야 하는지를 빠르게 판단할 수 있게 합니다.
문제의 범주는 세 가지입니다:
자세히 보면, 위의 단계는 다음과 같습니다:
식별: 위의 단계를 진행할 때 무엇이 손상되었는지 정확하게 식별하는 것이 중요합니다. 다음과 같은 질문에 답하세요:
이를 통해 업스트림 문제 및 플랫폼 문제에 대해 다른 팀과 필요한 경우 효과적으로 의사소통할 수 있으며, 해결 시간을 줄이고 플랫폼에서 디버깅 기술을 향상시킵니다.
행동:
[선택 사항] 하위 사용자 통신: 문제가 분류되고 추가 근본 원인이 파악되면 파이프라인의 하류 소비자에게 알리는 것이 적절할 수 있습니다. 이는 문제의 영향, 범위, 기간 및 파이프라인의 사용 사례에 따라 다릅니다.
회피 방법: 다른 팀이나 사용자로부터의 수정이 시간이 걸릴 경우, 파이프라인의 건강한 부분이 하류 소비자에게 계속 실행되도록 중기적인 회피 방법을 구현하는 것이 유용할 수 있습니다. 정확한 임시 수정은 문제와 사용자의 요구에 따라 다릅니다. 예를 들면:
파이프라인 관리자에게 가장 일반적으로 발생하는 문제는 모니터링하는 파이프라인 내에서 무언가가 변경되어 발생한 결과로 인한 문제입니다. 또한 파이프라인 관리자로서 가장 통제할 수 있고 문제를 직접 해결할 수 있으며 다른 팀에 의존할 필요가 없습니다.
자세한 단계는 다음과 같습니다:
최선을 다해 파이프라인에서 문제가 발생하는 정확한 위치를 찾으세요. 예를 들어 스케줄, 데이터셋, 트랜잭션, 코드 변경 등을 확인하려고 시도하세요.
건강한 이전 실행과 현재 손상된 상태를 비교하여 무엇이 변경되었는지 확인하세요. 정신적 체크리스트 질문이 유용할 수 있습니다. 아래는 질문 예제와 해당 질문에 대한 답을 찾을 수 있는 도구 예제입니다:
위의 질문에 대한 답을 찾는 데 사용되는 Foundry 도구에 익숙하지 않은 경우 아래 목록은 조사 중에 사용할 수 있는 가장 일반적인 패턴의 예를 제공합니다. 이 목록은 가능한 모든 경우를 다루지 않지만 시작 가이드로 사용할 수 있습니다:
내 작업/빌드가 평소보다 느린가요?
빌드 애플리케이션은 주어진 데이터셋에 대한 작업을 비교합니다. 빌드 개요의 오른쪽 상단에 있는 진행 상세 전환을 사용하면 대기 시간 대 계산 시간으로 빌드 진행 상황을 볼 수 있습니다.
스케줄 지표를 사용하면 스케줄의 과거 실행을 볼 수 있으며 실행을 비교할 수 있는 지표와 그래프를 볼 수 있습니다.
데이터셋 크기에 변경이 있나요? 변환은 더 많은 데이터로 실행되나요?
데이터셋 미리보기: Foundry 데이터셋의 이력 및 비교 탭은 데이터셋 이력 개요와 이전 데이터셋 트랜잭션과 비교하여 무엇이 변경되었는지 개요를 볼 수 있게 해줍니다.
Contour는 요약 보드를 사용하여 행 수를 비교할 수 있는 이력 뷰에 액세스하거나 데이터가 추가/생성된 날짜를 나타내는 열이 있으면 행 수와 추가된 날짜를 비교하는 차트를 만들 수 있습니다.
스파크 세부 정보: 작업의 스파크 세부 정보 버튼(아래 참조)을 클릭하면 파이프라인에 데이터가 더 많은지 확인하는 데 도움이 되는 정보를 볼 수 있습니다. 예를 들어 task의 개수
지표가 있습니다.
파이프라인의 코드가 변경되었나요?
변환에서 Python 또는 Java와 같은 지원되는 언어를 사용하는 경우 라이브러리에서 코드 변경이 발생할 수 있습니다. 변환에서 변경 사항을 찾지 못하면 라이브러리 함수의 논리 변경이 있는지 확인하세요.
스케줄이 변경되었나요?
다른 작업, 빌드 또는 관련 플랫폼 구성 요소에서 비슷한 증상을 검사하는 것은 문제의 기반을 찾지 못한 경우 유용한 조사 경로가 될 수 있습니다.
특히 다음 질문에 대한 답을 찾아야 합니다:
빌드 애플리케이션을 사용하여 플랫폼 전체의 작업 이력을 필터링하면 위의 질문에 답할 수 있습니다.
파이프라인 관리자의 핵심 업무 중 하나는 파이프라인 문제를 빠르게 디버그하고 해결하는 것입니다. 이를 통해 조직의 중요한 워크플로를 공급하는 생산 파이프라인이 신뢰할 수 있고 의미 있는 상태를 유지할 수 있습니다. 이 페이지에서 설명한 가이드라인을 따르고도 문제를 파악할 수 없는 경우 Palantir 담당자에게 연락하세요.