본문 바로가기
CSP (Cloud Service Provider)/GCP

[Google Cloud Platform] Cloud Composer

by BTC_박은혜 2022. 11. 28.

안녕하세요~ 할부로애틋하게 BTC_손지수, 박은혜 입니다!

저번 포스팅들을 통해 BigQuery와 고객 사례에 관하여 설명드렸었는데요~

이번엔 Big Query를 이어 데이터 분석에서 큰 역할을 하는 Cloud Composer에 대해 알려드리고자 합니다!

그럼 이번 한 주도 GCP에 더 가까워져 봅시다 !

 

 


Cloud Composer란 무엇일까요?

 

Cloud Composer는 클라우드 및 온프레미스 데이터 센터 전체의 워크플로를 생성, 예약, 모니터링, 관리할 수 있는 완전 관리형 워크플로 조정 서비스입니다.

 

이러한 Cloud Composer는 인기 있는 Apache Airflow 오픈소스 프로젝트를 기반으로 구축되어

Python 프로그래밍 언어로 작동합니다.

 

Apache Airflow의 로컬 인스턴스 대신 Cloud Composer를 사용하면 설치 또는 관리 오버헤드 없이 Airflow의 이점을 얻을 수 있습니다. Cloud Composer는 Airflow 환경을 신속하게 만들고 강력한 Airflow 웹 인터페이스 및 명령줄 도구와 같은 Airflow 전용 도구를 사용하여 인프라가 아닌 워크플로에 집중할 수 있도록 합니다.

 

 

Composer에 대해 더 알아보기 위해선 워크플로, DAG, 태스크에 대한 개념을 알아두면 좋습니다.

 

먼저 워크플로는 데이터 수집, 변환, 분석, 활용을 위한 일련의 태스크를 나타냅니다.

Airflow에서 워크플로는 DAG(또는 Directed Acyclic Graph)를 사용하여 생성됩니다.

 

다음으로 DAG는 관계 및 종속 항목을 반영하는 방식으로 구성된 예약하고 실행하려는 태스크의 모음입니다.

DAG는 코드를 사용하여 DAG 구조(태스크 및 종속 항목)를 정의하는 Python 스크립트에서 생성됩니다.

 

마지막으로 DAG의 각 태스크는 거의 모든 것을 나타낼 수 있습니다.

예를 들어 한 태스크는 다음 기능을 수행할 수 있습니다!

 

1. 수집을 위한 데이터 준비

 

2. API 모니터링

 

3. 이메일 보내기

 

4. 파이프라인 실행

 

이 때, DAG는 각 구성 태스크의 기능과 관련되지 않습니다.

이러한 이유는 각 태스크가 적절한 시점에, 올바른 순서로 실행되거나

올바른 문제 처리를 통해 실행되도록 하기 위함입니다.

DAG와 태스크의 관계

 

또, 이러한 Composer를 사용하게 된다면 

 

완전 관리형 워크플로 조정

Cloud Composer만의 관리 기능과 Apache Airflow 호환성 덕분에 리소스를 프로비저닝하기보다 워크플로 작성, 예약, 모니터링에 집중할 수 있습니다.

 

Google Cloud 제품과 통합

BigQuery, Dataflow, Dataproc, Datastore, Cloud Storage, Pub/Sub, AI Platform 등의 Google Cloud 제품과 엔드 투 엔드 통합을 통해 사용자는 자유롭게 파이프라인을 완전히 조정할 수 있습니다.

 

하이브리드 및 멀티 클라우드 지원

파이프라인이 온프레미스, 여러 클라우드, Google Cloud 내부 등 어디에 위치하든

관계없이 단일 조정 도구를 통해 워크플로를 작성, 예약, 모니터링합니다.

 

위와 같은 이점들이 존재합니다!

 

그렇다면 이러한 Composer를  실행하기 위해선 어떤 환경이 필요할까요?

워크플로를 실행하려면 먼저 환경을 만들어야 합니다.

Airflow는 실행할 많은 마이크로서비스에 의존하므로

Cloud Composer는 워크플로를 실행할 Google Cloud 구성요소를 프로비저닝합니다.

이러한 구성요소를 통칭하여 Cloud Composer 환경이라고 합니다.

 

환경은 Google Kubernetes Engine에 기반을 둔 독립 실행형 Airflow 배포입니다.

Airflow에 기본 제공되는 커넥터를 사용하여 다른 Google Cloud 서비스와 함께 작동합니다.

 

단일 Google Cloud 프로젝트에서 하나 이상의 환경을 만들 수 있고,

지원되는 리전에서 Cloud Composer 환경을 만들 수 있습니다.

 

또한, Cloud Composer는 Airflow 1과 Airflow 2를 모두 지원합니다.

Cloud Composer 환경은 Cloud Composer 이미지를 기반으로 하며,

환경을 만들 때 특정 Airflow 버전이 포함된 이미지를 선택할 수 있습니다.

뿐만 아니라, Apache Airflow 버전을 제어할 수 있습니다.

 

Cloud Composer 이미지의 최신 버전으로 환경을 업그레이드하도록 지정할 수 있으며,

 Cloud Composer 출시 버전은 여러 Apache Airflow 버전을 지원합니다.

 

또 Composer에서는 환경의 Apache Airflow 웹 인터페이스에 액세스할 수 있습니다.

환경마다 고유한 Airflow UI가 있습니다.

환경에서 Airflow CLI 명령어를 실행하려면 gcloud 명령어를 사용하면 가능 합니다.

 

마지막으로 Composer는 Cloud Composer1 과, Cloud Composer2가 존재합니다.

Cloud Composer 1 환경은 영역에 해당되고,

Cloud Composer 2 환경은 영역별 Airflow 메타데이터 DB와 리전별 Airflow 예약 및 실행 레이어를 갖습니다.

Airflow 스케줄러, 작업자, 웹 서버는 Airflow 실행 레이어에서 실행됩니다.

 

이와 같은 Composer 1,2와 그 기능들에 대해서는

다음 시간에 더 자세하게 알아보도록 하겠습니다!

 


 

지금까지 Composer에 대해 알아보았습니다!

여러분들께 많은 도움이 되셨길 바랍니다.

그럼 오늘 하루도 수고 많으셨고, 이번 한 주도 화이팅입니다!

저희는 다음에 더욱 유익한 포스팅으로 찾아뵙겠습니다~ 오늘도 봐주셔서 감사합니다!

댓글