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