Workflows와 Cloud Composer는 서비스를 결합하여 애플리케이션 기능을 구현하거나 데이터 처리를 수행하기 위한 서비스 조정에 둘 다 사용할 수 있습니다. 둘의 개념은 유사하지만, 각기 다른 사용 사례에 맞게 설계되었습니다. 이 페이지는 사용자의 사용 사례에 적합한 제품을 선택하는 데 도움이 됩니다.
주요 차이점
Workflows와 Cloud Composer의 주된 차이는 각 제품이 지원하도록 설계된 아키텍처 유형에 있습니다.
Workflows는 여러 HTTP 기반 서비스를 내구성이 우수한 스테이트풀(Stateful) 워크플로로 조정합니다. 지연 시간이 낮고 많은 실행 작업을 처리할 수 있습니다. 또한 완전히 서버리스입니다.
Workflows는 마이크로서비스를 하나로 연결하여 VM 시작 또는 중지 그리고 외부 시스템과의 통합 과 같은 인프라 태스크를 자동화하는 데 유용합니다. Workflows 커넥터는 또한 Cloud Storage 및 BigQuery와 같은 Google Cloud 서비스에서 간단한 작업 시퀀스를 지원합니다.
Cloud Composer는 데이터 기반 워크플로(특히 ETL/ELT)를 조정하도록 설계되었습니다. Apache Airflow 프로젝트를 기반으로 빌드되었지만 Cloud Composer는 완전 관리형입니다. Cloud Composer는 온프레미스 또는 교차 다중 클라우드 플랫폼을 포함하여 위치에 관계없이 파이프라인을 지원합니다. 태스크 및 예약을 포함하여 Cloud Composer의 모든 논리는 Python에서 방향성 비순환 그래프(DAG) 정의 파일로 표현됩니다.
Cloud Composer는 태스크 실행 사이에 몇 초 정도의 지연 시간을 처리할 수 있는 일괄 워크로드에 적합합니다. Cloud Composer를 사용하면 BigQuery에서 작업을 트리거하거나 Dataflow 파이프라인을 시작하는 등 데이터 파이프라인에서 서비스를 조정할 수 있습니다. 기존 연산자를 사용하여 다양한 서비스와 통신할 수 있으며 Google Cloud에만 150개 이상의 연산자가 있습니다.
자세한 기능 비교
특성 | Workflows | Cloud Composer |
---|---|---|
구문 | YAML 또는 JSON 형식의 Workflows 구문 | Python |
상태 모델 | 명령적 흐름 제어 | 자동 종속 항목을 가지는 선언적 DAG |
통합 | HTTP 요청 및 커넥터 | Airflow 연산자 및 센서 |
단계 간 데이터 전달 | 변수용 512KB | XCom용 48KB1 |
실행 트리거 및 예약 | gcloud CLI, Google Cloud 콘솔, Workflows API, Workflows 클라이언트 라이브러리, Cloud Scheduler | Airflow Sensor, DAG 정의 파일의 크론과 유사한 일정 |
비동기 패턴 |
|
Polling |
동시 실행 | 동일한 워크플로의 동시 실행 또는 동시 단계를 사용하는 워크플로 내부의 동시 실행 | 종속 항목 기반 자동 수행 |
실행 지연 시간 | 밀리초 | 초 |
오픈소스 기반 | 아니요 | 예(Apache Airflow) |
확장 모델 | 서버리스(수요에 따라 확장되고 0으로 축소) | 프로비저닝됨 |
청구 모델 | 사용량 기반(실행 단계당) | 프로비저닝 용량 기반 |
데이터 처리 기능 | 아니요 | 백필, DAG 재실행 기능 |
-
airflow.models.xcom 소스 코드. Apache Airflow 문서. 2021년 8월 2일. ↩