Amazon Web Services 한국 블로그

Amazon QuickSight API 기능 정식 출시

이 블로그의 일반 독자는 물론 AWS 고객 모두 코드형 인프라(IaC)의 이점을 알고 있습니다. IaC에서는 프로그래밍 언어를 사용하여 인프라를 구성함으로써 인프라를 여러 환경 또는 AWS 리전에 일관되게 배포할 수 있습니다. 다른 이점으로는 애플리케이션 소스 코드를 관리하는 데 사용하는 것과 동일한 개발 도구 및 워크플로우를 사용하여 인프라의 버전을 관리할 수 있다는 것입니다. 또한 IaC는 인프라를 배포하기 전에 인프라 일부를 프로그래밍 방식으로 검증할 수 있는 기능을 제공합니다.

오늘 AWS에서는 대시보드, 분석 및 템플릿을 프로그래밍 방식으로 생성하고 관리할 수 있도록 QuickSight API의 기능을 확장합니다. 이러한 기능을 통해 BI 팀은 IaC와 마찬가지로 BI 자산을 코드 방식으로 관리할 수 있습니다. 이로 인해 BI 팀의 민첩성이 높아지고 프로그래밍 방식의 마이그레이션 옵션을 통해 레거시 제품에서 BI 마이그레이션을 가속화할 수 있습니다.

비즈니스 인텔리전스 및 IT 운영(BIOps)은 DevOps에서 수십 년간 축적한 모범 사례에서 영감을 받았습니다. BIOps는 고객에게 데이터 통찰력을 빠르게 제공하여 더 빠른 혁신을 지원합니다. 대시보드는 BI 작성의 UI 기반 특성으로 인해 일반적으로 수동으로 개발 및 배포됩니다. 배포 중 대시보드 변경 사항이 완전히 검증되지 않은 상태에서 변경 사항이 프로덕션 환경으로 옮겨지면서 오류와 다운타임이 발생할 수 있는 이러한 방식은 BIOps가 당면한 까다로운 과제입니다. 새로운 QuickSight API를 사용하면 프로그래밍 방식으로 QuickSight 분석 및 대시보드를 생성 및 수정하고, 코드 리포지토리에서 이러한 자산에 대한 버전 관리를 활성화하고, AWS 클라우드로의 마이그레이션을 가속화할 수 있습니다.

분석, 템플릿 및 대시보드를 프로그래밍 방식으로 생성하고 관리하면 기존 BI 솔루션에서 자산을 마이그레이션하는 데도 도움이 됩니다. 클라우드로 이동하는 모든 데이터 및 분석 워크로드 중에서 비즈니스 인텔리전스는 레거시 온프레미스 솔루션에서 가장 나중에 마이그레이션되는 경우가 많습니다. BI 팀에는 종종 수십 년에 걸쳐 구축된 수천 개의 사용자 지정 보고서와 대시보드가 있어 마이그레이션하기가 번거로운 경우가 많습니다. BI 팀은 이러한 각 자산을 하나씩 수동으로 마이그레이션하는 데 몇 개월의 작업을 소비해야 하므로 보고서를 마이그레이션하는 데 많은 시간이 걸립니다.

용어
이번 출시에서 QuickSight는 새로운 describe API 세트를 추가합니다. 또한 기존의 create, updatelist API가 업데이트됩니다. 이러한 신규 및 업데이트된 API를 사용하면 분석, 템플릿대시보드의 데이터 모델에 대해 API를 통한 세밀한 제어를 수행할 수 있습니다.

  • QuickSight 분석은 데이터를 그래픽으로 표현한 데이터 시각화를 생성하기 위한 간편한 작업 공간입니다. 각 분석에는 정렬 및 사용자 지정이 가능한 시각화 컬렉션이 포함되어 있습니다.
  • QuickSight 대시보드를 사용하면 분석에서 생성된 대화형 시각화 또는 정적 보고서를 다른 사용자와 공유할 수 있습니다.
  • QuickSight 템플릿은 분석 또는 대시보드를 생성하는 데 필요한 메타데이터를 캡슐화하는 요소입니다. 템플릿은 분석과 관련된 데이터 세트를 자리표시자로 대체하여 추상화합니다.

이제 새로운 API(DescribeAnalysisDefinition, DescribeTemplateDefinition, DescribeDashboardDefinition)를 통해 개발자는 지원되는 모든 차트와 시각적 구성 요소를 관리할 수 있습니다.

실제 작동 모습 살펴보기
프로그래밍 방식으로 QuickSight 분석을 생성한다고 가정해 보겠습니다.

프로그래밍 방식으로 새로운 비즈니스 인텔리전스 분석을 생성하는 과정은 분석을 위한 데이터를 제공하는 데이터 소스 생성, 데이터 소스에 기반한 데이터 세트 생성, 그리고 QuickSight 분석 생성의 세 단계로 이루어져 있습니다.

프로그래밍 방식으로 또는 사용자 인터페이스를 통해 QuickSight를 사용할 때 첫 번째 단계는 데이터 소스를 정의하는 것입니다. 데이터 소스는 분석하려는 데이터가 있는 데이터베이스의 속성을 정의합니다. 프로그래밍 방식으로 데이터 소스를 생성하고 관리하는 것은 새로운 일이 아닙니다. 데이터 소스 제어를 위한 QuickSight API 작업 페이지를 참조할 수 있습니다.

두 번째 단계는 데이터 세트를 생성하여 하나 이상의 데이터 소스를 연결하는 것입니다. 다시 말하지만, 데이터 세트를 프로그래밍 방식으로 관리하는 것은 새로운 일이 아닙니다.

describe API를 사용할 때에는 분석, 대시보드 및 템플릿이 AWS SDK에서 완전히 모델링된 JSON 객체로 정의됩니다. 이 데모에서는 JSON 객체를 사용하는 AWS Command Line Interface(AWS CLI)를 사용하고 있습니다. Java 또는 다른 AWS SDK를 사용하는 경우 프로그래밍 방식으로 모든 요소를 조작할 수 있습니다.

프로그래밍 방식으로 새 분석 또는 대시보드를 생성하는 가장 쉬운 방법은 콘솔에서 생성한 기존 분석 또는 대시보드의 정의에서 시작하는 것입니다.

세 번째 단계는 분석 생성입니다. 먼저 describe-analysis-definition API를 호출하여 기존 분석을 확인합니다. API 호출의 전체 응답으로 JSON 파일이 제공됩니다. describe-analysis-definition 응답에서 Definition을 검사하고 수정하여 새 분석을 생성할 수 있습니다.

aws quicksight describe-analysis-definition      \
        --aws-account-id 0123456789              \
        --analysis-id linechart-kpi-donut-pivot
> ./AWS\ Blog\ Sample\ Code/linechart-kpi-donut-pivot.json

참고: 이 JSON 파일은 create API에 대한 입력 사항 몇 가지를 수정하지 않으면 직접 사용할 수 없습니다.

새 분석을 생성할 준비가 되면 --generate-cli-skeleton 인수를 사용하여 JSON 파일을 생성합니다. 그런 다음 describe-analysis-definition에 대한 이전 호출의 원본 또는 수정된 Definition 정의를 create-sales-analysis.json으로 복사합니다.

aws quicksight create-analysis \ 
      --generate-cli-skeleton > create-sales-analysis.json

aws quicksight create-analysis  \
      --cli-input-json file://./AWS\ Blog\ Sample\ Code/create-sales-analysis.json

Definition 필드는 대시보드, 템플릿 및 분석에 걸쳐 동일한 형태를 공유하므로 원하는 경우 분석을 생성하는 데 사용된 Definitioncreate-dashboard API를 사용하여 새 대시보드를 생성하는 데에도 재사용할 수도 있습니다.

aws quicksight create-dashboard \
      --generate-cli-skeleton > create-dashboard.json

그런 다음 create-sales-analysis.json 파일의 Definition을 포함하도록 create-dashboard.json을 수정하고 기타 파라미터를 업데이트한 다음 create-dashboard를 호출할 수 있습니다.

aws quicksight create-dashboard \
       --cli-input-json file://./AWS\ Blog\ Sample\ Code/create-dashboard.json

다음은 여기에 사용한 JSON 파일의 일부입니다.

QuickSight API - 대시보드 생성

물론 API를 사용하여 대시보드를 개발하는 것은 반복적인 프로세스입니다. 다음은 몇 번의 반복 작업 후 얻은 결과입니다.

QuickSight API - 새 대시보드

기존 BI 솔루션의 자산을 프로그래밍 방식으로 마이그레이션하는 데에도 동일한 방식을 적용할 수 있습니다.

요금 및 가용성
새 API를 사용하면 비즈니스 인텔리전스 대시보드를 프로그래밍 가능한 객체로 정의할 수 있습니다. 기존 BI 도구에서 마이그레이션하는 속도가 빨라집니다. QuickSight의 API 설명서 페이지에는 모든 세부 정보가 있습니다.

이 API는 QuickSight를 사용할 수 있는 모든 AWS 리전의 모든 QuickSight Enterprise Edition 고객에게 추가 비용 없이 제공됩니다. 이러한 API에서 새로 지원되는 데이터 모델에 대한 AWS CloudFormation 지원도 곧 제공될 예정입니다.

지금 바로 프로그래밍 방식으로 첫 번째 대시보드를 만들어 보세요!

— seb