파이프라인 피드백

Instana Pipeline Feedback은 애플리케이션 개발 및 배포 파이프라인 이벤트를 자동으로 분석하여, 이를 애플리케이션, 인프라 및 서비스 성능 데이터와 직접 연계하는 기능입니다.

DevOps 팀이 지속적인 배치 모델로 더 많이 이동함에 따라 프로덕션에서의 역동성이 상당히 증가합니다. 더 많은 소프트웨어가 더 많은 인프라에서 더 자주 업데이트되거나 추가됩니다. 따라서 각 릴리스의 엔드-투-엔드 가시성과 애플리케이션 또는 인프라 상태에 미치는 영향을 반드시 확인해야 합니다. 예를 들어, 릴리스가 발생한 시점의 컨텍스트가 없으면 서비스의 대기 시간 스파이크가 문제점을 표시하는지 또는 배치 프로세스의 아티팩트인지 여부를 이해하는 것이 어렵습니다. 이 정보는 릴리스로 인해 성능이 저하되었음을 표시할 수 있으며, 이는 이전 버전으로 롤백할지 또는 해결할 특정 문제점을 식별할지 여부를 결정하는 데 도움이 됩니다.

CI/CD 파이프라인과 연동하는 방법은 ‘파이프라인 피드백 연동’을 참조하세요.

용어

릴리스

아키텍처가 일반적으로 사용 가능하게 될 때 코드, 인프라에 대한 변경이 발생하는 정의된 순간입니다. 또한 시스템의 상태 또는 성능에 영향을 줄 수 있습니다.

방출 마커

사용자가 시스템 변경 사항을 확인할 수 있게 될 때 시계열 차트에 표시되는 지표. 릴리스 마커는 다른 범위로 설정할 수 있습니다.

  • 전역
  • 애플리케이션 퍼스펙티브
  • 서비스
  • 애플리케이션 퍼스펙티브 내의 서비스

구성

다음 섹션에서는 배포 프로세스의 일환으로 릴리스를 생성하는 방법, Instana 대시보드에서 릴리스를 확인하는 방법, 그리고 이것이 CI/CD로 인해 발생하는 지속적인 변경 과정에서 발생하는 문제를 해결하는 데 어떻게 도움이 되는지 설명합니다.

Jenkins 용 Web REST API 또는 Instana 파이프라인 피드백 통합 기능을 활용하면 배포 프로세스의 일환으로 릴리스를 손쉽게 생성할 수 있습니다.

발매 정보 API

릴리스 API 는 릴리스를 생성, 조회, 업데이트 및 삭제하는 데 필요한 엔드포인트를 제공합니다. 예를 들어, 다음 curl 명령을 사용하면 지정된 시점(밀리초 단위의 UNIX 타임스탬프)에 ‘My Global Release Marker ’라는 이름의 새로운 전역 릴리스를 생성할 수 있습니다

curl --location --request POST "{{base}}/api/releases" \
  --header "Authorization: apiToken {{apiToken}}" \
  --header "Content-Type: application/json" \
  --data "{
        \"name\": \"My Global Release Marker\",
        \"start\": 1565610536335
}"

더 많은 구성 예시는 ‘구성’ 및 ‘ API ’ 섹션을 참조하십시오.

참고: 사용 중인 API 토큰 에는 ‘릴리스 구성’ 권한이 필요합니다.

Instana Jenkins 용 파이프라인 피드백 통합

또는 기존 CI/CD 도구와 보다 원활하게 통합할 수 있도록 Jenkins 플러그인을 제공합니다. 플러그인 및 추가 정보는 GitHub에서 찾을 수 있습니다.

사용량

방출 마커

지표의 이상치, 이상 현상 또는 변화를 파악하기 위해, Instana 은 각 릴리스에 대한 정보를 다양한 방식으로 제공합니다. 예를 들어, 메트릭의 스파이크가 배치 아티팩트일 수 있는지 여부를 판단하기 위해 추가 컨텍스트가 제공됩니다. 따라서 릴리스 마커는 릴리스 전후에 시스템의 동작을 비교하기 위한 도구로 사용될 수 있습니다.

차트

다음 애플리케이션 관점 페이지의 스크린샷에서 볼 수 있듯이, 환경 내 모든 그래프에 릴리스 마커가 주석 형태로 표시됩니다. 이 마커는 신속하게 발견하기 위한 참조 지점 역할을 합니다 (예: 애플리케이션 성능의 향상 또는 회귀).

그림 1. 발행 마커 차트
애플리케이션 개요 페이지에서 마커 차트 표시

앞서 보여드린 애플리케이션 관점 페이지의 스크린샷에서 볼 수 있듯이, 릴리스 마커에는 다음과 같은 정보가 포함되어 있습니다:

  • 이름: 사용자 정의 릴리스 이름입니다.
  • 릴리스 시간: 릴리스가 발생한 시점입니다.
참고: 마커가 명확하게 표시되고 서로 겹치지 않도록 하기 위해, 여러 버킷을 한데 묶어 그룹화합니다. 해당 릴리스 아이콘 위로 마우스를 이동하면 클러스터의 모든 버킷이 강조표시됩니다. 버킷의 용량이 큰 경우, 해당 버킷의 시간 창 동안 발생한 릴리스는 묶여 처리됩니다. 이는 수직선으로 표시됩니다.

내비게이션 메뉴

Instana 는 차트에 표시되는 것 외에도 최근 릴리스로 이동할 수 있는 다양한 방법을 제공합니다. 현재 라이브 릴리스를 추적하거나, 선택한 기간을 해당 릴리스의 배포 시점을 중심으로 조정할 수 있습니다.

알림 발송

글로벌 릴리스가 작성될 때마다 알림을 받으며 이 알림을 통해 다음 두 가지 선택적 조치를 수행할 수 있습니다.

  • 릴리스에 대한 초점 시간: 릴리스 전후의 메트릭을 쉽게 비교할 수 있도록 시간 프레임의 현재 창 크기가 변경되지 않은 상태로 유지되는 동안 새 릴리스가 보기에 표시되도록 선택된 시간 프레임을 변경합니다.
  • 릴리스 수행 라이브: 릴리스의 영향이 모든 대시보드 또는 차트에서 즉시 표시되도록 라이브 모드 를 사용으로 설정합니다.

알림을 클릭하여 닫으십시오.

릴리스 통지

출시까지 남은 기간

Instana 의 시간 선택기에서는 다음 스크린샷과 같이 가장 최근에 출시된 항목들이 나열됩니다:

릴리스 시간 선택도구

릴리스를 선택한 후에는 현재 창 크기가 변경되지 않은 상태로 유지되도록 시간 프레임이 조정되지만 임시 보기에는 릴리스 시간이 중앙에 배치됩니다. 이를 통해 성능 및 시스템 상태와 관련된 영향을 조사할 수 있습니다.

참고: API 를 사용하여 릴리스를 생성하지 않은 경우, 시간 선택기에서 ‘릴리스로 이동( Go ) ’ 섹션이 표시되지 않을 수 있습니다.