AWS 서비스 기반 비즈니스 인텔리전스 파이프라인 – 사례 연구

게시 됨: 2019-05-16

최근 몇 년 동안 빅데이터 분석에 대한 관심이 높아졌습니다. 경영진, 관리자 및 기타 비즈니스 이해 관계자는 비즈니스 인텔리전스(BI)를 사용하여 정보에 입각한 결정을 내립니다. 이를 통해 중요한 정보를 즉시 분석하고 직관뿐만 아니라 고객의 실제 행동에서 배울 수 있는 것을 기반으로 결정을 내릴 수 있습니다.

효과적이고 유익한 BI 솔루션을 만들기로 결정할 때 개발 팀이 수행해야 하는 첫 번째 단계 중 하나는 데이터 파이프라인 아키텍처를 계획하는 것입니다. 이러한 파이프라인을 구축하는 데 적용할 수 있는 여러 클라우드 기반 도구가 있으며 모든 비즈니스에 가장 적합한 단일 솔루션은 없습니다. 특정 옵션을 결정하기 전에 현재 기술 스택, 도구 가격 및 개발자의 기술 세트를 고려해야 합니다. 이 기사에서는 작업표 애플리케이션의 일부로 성공적으로 배포된 AWS 도구로 구축된 아키텍처 를 보여 드리겠습니다.

아키텍처 개요

추적할 다양한 데이터의 아키텍처

작업표는 직원의 시간을 추적하고 보고하는 도구입니다. 웹, iOS, Android 및 데스크톱 애플리케이션, 행아웃 및 Slack과 통합된 챗봇, Google 어시스턴트 작업을 통해 사용할 수 있습니다. 사용할 수 있는 앱의 유형이 많기 때문에 추적할 데이터도 다양합니다. 데이터는 Revolt Analytics를 통해 수집되어 Amazon S3에 저장되고 AWS Glue 및 Amazon SageMaker로 처리됩니다. 분석 결과는 Amazon RDS에 저장되며 Google Data Studio에서 시각적 보고서를 작성하는 데 사용됩니다. 이 아키텍처는 위의 그래프에 나와 있습니다.

다음 단락에서는 이 아키텍처에 사용되는 각 빅 데이터 도구에 대해 간략하게 설명합니다.

리볼트 분석

Revolt Analytics는 모든 유형의 애플리케이션에서 데이터를 추적하고 분석하기 위해 Miquido에서 개발한 도구입니다. 클라이언트 시스템에서 Revolt 구현을 단순화하기 위해 iOS, Android, JavaScript, Go, Python 및 Java SDK가 빌드되었습니다. Revolt의 주요 기능 중 하나는 성능입니다. 모든 이벤트는 대기열에 저장되고 패킷으로 전송되므로 빠르고 효율적으로 전달됩니다. Revolt는 애플리케이션 소유자가 앱에서 사용자를 식별하고 행동을 추적할 수 있는 기능을 제공합니다. 이를 통해 완전히 개인화된 추천 시스템 및 이탈 예측 모델과 같은 가치를 제공하는 머신 러닝 모델과 사용자 행동을 기반으로 하는 고객 프로파일링을 구축할 수 있습니다. Revolt는 세션화 기능도 제공합니다. 응용 프로그램의 사용자 경로 및 동작에 대한 지식은 고객의 목표와 요구 사항을 이해하는 데 도움이 될 수 있습니다.

Revolt는 선택한 인프라에 설치할 수 있습니다. 이 접근 방식을 사용하면 비용 및 추적된 이벤트를 완전히 제어할 수 있습니다. 이 기사에 제시된 작업표의 경우 AWS 인프라를 기반으로 구축되었습니다. 데이터 스토리지에 대한 전체 액세스 덕분에 제품 소유자는 애플리케이션에 대한 통찰력을 쉽게 얻고 다른 시스템에서 해당 데이터를 사용할 수 있습니다.

Revolt SDK는 다음으로 구성된 작업표 시스템의 모든 구성 요소에 추가됩니다.

  • Android 및 iOS 앱(Flutter로 구축)
  • 데스크톱 앱(Electron으로 구축)
  • 웹 앱(React로 작성)
  • 백엔드(Golang으로 작성)
  • 행아웃 및 Slack 온라인 채팅
  • Google 어시스턴트에서 작업

Revolt는 타임시트 관리자에게 앱 고객이 사용하는 기기(예: 기기 브랜드, 모델) 및 시스템(예: OS 버전, 언어, 시간대)에 대한 정보를 제공합니다. 또한 앱에서 사용자의 활동과 관련된 다양한 사용자 지정 이벤트를 보냅니다. 결과적으로 관리자는 사용자 행동을 분석하고 목표와 기대치를 더 잘 이해할 수 있습니다. 또한 구현된 기능의 유용성을 확인하고 이러한 기능이 사용 방법에 대한 제품 소유자의 가정을 충족하는지 평가할 수 있습니다.

AWS 글루

AWS Glue는 분석 작업을 위해 데이터를 준비하는 데 도움이 되는 ETL(추출, 변환 및 로드) 서비스입니다. Apache Spark 서버리스 환경에서 ETL 작업을 실행합니다. 일반적으로 다음 세 가지 요소로 구성됩니다.

  • 크롤러 정의 – 크롤러는 모든 종류의 리포지토리 및 소스에 있는 데이터를 스캔하고 분류하고 스키마 정보를 추출하고 이에 대한 메타데이터를 데이터 카탈로그에 저장하는 데 사용됩니다. 예를 들어 Amazon S3의 JSON 파일에 저장된 로그를 스캔하고 해당 스키마 정보를 데이터 카탈로그에 저장할 수 있습니다.
  • 작업 스크립트 – AWS Glue 작업은 데이터를 원하는 형식으로 변환합니다. AWS Glue는 데이터를 로드, 정리 및 변환하는 스크립트를 자동으로 생성할 수 있습니다. 원하는 변환을 실행할 Python 또는 Scala로 작성된 자체 Apache Spark 스크립트를 제공할 수도 있습니다. 여기에는 null 값 처리, 세션화, 집계 등과 같은 작업이 포함될 수 있습니다.
  • 트리거 – 크롤러 및 작업은 요청 시 실행되거나 지정된 트리거가 발생할 때 시작되도록 설정할 수 있습니다. 트리거는 시간 기반 일정 또는 이벤트(예: 지정된 작업의 성공적인 실행)일 수 있습니다. 이 옵션을 사용하면 보고서에서 데이터 최신성을 손쉽게 관리할 수 있습니다.

작업표 아키텍처에서 파이프라인의 이 부분은 다음과 같이 표시됩니다.

  • 시간 기반 트리거는 데이터 정리를 실행하고 세션에 적절한 이벤트 로그를 할당하고 초기 집계를 계산하는 전처리 작업을 시작합니다. 이 작업의 결과 데이터는 AWS S3에 저장됩니다.
  • 두 번째 트리거는 전처리 작업이 성공적으로 완료된 후 실행되도록 설정됩니다. 이 트리거는 제품 소유자가 분석한 보고서에서 직접 사용되는 데이터를 준비하는 작업을 시작합니다.
  • 두 번째 작업의 결과는 AWS RDS 데이터베이스에 저장됩니다. 따라서 Google Data Studio, PowerBI 또는 Tableau와 같은 비즈니스 인텔리전스 도구에서 쉽게 액세스하고 사용할 수 있습니다.

AWS 세이지메이커

Amazon SageMaker는 기계 학습 모델을 구축, 교육 및 배포하기 위한 모듈을 제공합니다.

모든 규모에서 모델을 훈련 및 조정할 수 있으며 AWS에서 제공하는 고성능 알고리즘을 사용할 수 있습니다. 그럼에도 불구하고 적절한 도커 이미지를 제공한 후 사용자 지정 알고리즘을 사용할 수도 있습니다. AWS SageMaker는 또한 다양한 모델 파라미터 세트에 대한 지표를 비교하는 구성 가능한 작업으로 하이퍼파라미터 조정을 단순화합니다.

작업표에서 SageMaker 노트북 인스턴스는 데이터를 탐색하고, ETL 스크립트를 테스트하고, 보고서 생성을 위해 BI 도구에서 사용할 시각화 차트의 프로토타입을 준비하는 데 도움이 됩니다. 이 솔루션은 데이터 과학자들이 동일한 개발 환경에서 작업할 수 있도록 지원하고 협업을 향상시킵니다. 또한 노트북이 AWS S3 버킷에만 저장되고 동료 간에 작업을 공유하기 위해 git 리포지토리가 필요하지 않기 때문에 민감한 데이터(노트북 셀의 출력의 일부일 수 있음)가 AWS 인프라 외부에 저장되지 않도록 하는 데 도움이 됩니다. .

마무리

사용할 빅 데이터 및 기계 학습 도구를 결정하는 것은 비즈니스 인텔리전스 솔루션의 파이프라인 아키텍처를 설계하는 데 중요합니다. 이 선택은 시스템 기능, 비용 및 향후 새로운 기능 추가 용이성에 상당한 영향을 미칠 수 있습니다. AWS 도구는 확실히 고려할 가치가 있지만 현재 기술 스택과 개발 팀의 기술에 적합한 기술을 선택해야 합니다.

미래 지향적인 솔루션을 구축한 경험을 활용하고 저희에게 연락하십시오!