GCP
클라우드 컴포저(Cloud Composer)는 예약 및 모니터링과 관리를 할 수 있는 완전 관리형 통합 워크플로 서비스입니다.클라우드 컴포저는 아파치 에어플로 오픈소스 프로젝트를 기반으로 하고 있습니다.
이를 통해 다양한 GCP 서비스를 활용할 수 있는데요. SQL을 통해 메타 데이터를 저장하고 웹 엔진을 활용해 에어플로 웹 서버를 호스팅하는 등 다양한 작업이 가능합니다.
(아파치 에어플로는 데이터 엔지니어링 파이프라인을 위한 오픈 소스 워크플로 관리 플랫폼 입니다. 에어비앤비에서 개발한 도구로 점점 더 복잡해지는 회사의 워크플로를 관리하기 위한 솔루션으로 시작되었습니다. Python을 이용해 태스크에 대한 코드를 작성할 수 있어 접근성이 좋고 쉽게 모니터링할 수 있다는 장점을 가지고 있습니다.)
또한 클라우드 컴포저는 Python 프로그래밍 언어를 사용하며 DAG와 Task에 대한 코드를 작성할 수 있습니다. 분산 환경 및 웹 UI 기반 모니터링 역시 제공합니다.
클라우드 컴포저를 사용하면 사용자가 따로 설치나 관리 오버헤드 없이 에어플로 기본 도구를 사용할 수 있으므로 인프라가 아닌 워크플로에 집중할 수 있습니다.
클라우드 컴포저에서 중점적으로 봐야할 것은 바로 DAG와 태스크인데요.
클라우드 컴포저에서 워크플로는 DAG(또는 Directed Acyclic Graph)를 사용해 표현됩니다. 하나의 DAG는 하나의 워크플로라 보시면 됩니다.
그렇다면 DAG는 무엇일까요? 이는 관계 및 종속 항목을 반영하는 방식으로 구성된 예약하고 실행하려는 태스크의 모음입니다. Python을 이용해 DAG를 만들 수 있죠.
이 태스크는 또 오퍼레이터라고 하는 DAG 안에 정의되는 작업함수로 구성되는데요. 이를 통해 태스크를 만들고 이 태스크들이 모이면 DAG가 되는 것입니다.
DAG의 각 태스크는 거의 모든 것을 나타낼 수 있습니다. 예를 들어 한 태스크는 다음 기능을 수행할 수 있습니다.
수집을 위한 데이터 준비
API 모니터링
이메일 보내기
파이프라인 실행
이러한 워크플로를 만들기 위해서는 먼저 그만한 환경이 만들어져야 하는데요. 클라우드 컴포저는 워크플로를 실행한 클라우드의 구성요소를 프로비저닝해야합니다. 이런 구성요소를 클라우드 컴포저 환경이라고 칭합니다. 단일 Google Cloud 프로젝트에서 하나 이상의 환경을 만들 수 있습니다. 또한 지원되는 리전에서 Cloud Composer 환경을 만들 수 있습니다.
클라우드 컴포저를 사용하면 다음과 같은 장점이 있습니다.
먼저 환경 설정이 빠르고 간단하다는 점입니다. 또한 필요한 모든 Python 라이브러리를 쉽게 통합할 수 있고 프로그래밍 방식 기능을 사용해 간단하게 배포도 할 수 있습니다.
무엇보다 워크플로가 간소화되었기 때문에 누구나 손쉽게 사용이 가능합니다.
하이프마크에서는 기업의 웹앱로그데이터의 클라우드 적재와 ETL 파이프라인 구성 그 외 클라우드 내 데이터분석 환경 구축 및 분석 시각화 서비스를 함께 제공하고 있습니다.
AWS, GCP등 클라우드 이전 매니지드서비스 및 웹앱로그데이터 태깅 적재 관련 문의사항이 있으시면 하이프마크에 문의 주세요
감사합니다.
참조 : https://cloud.google.com/composer/docs/concepts/overview?hl=ko