<@U04S8PLJWMT> We have a SaaS platform with thousa...
# replication-ask-ai
j
@kapa.ai We have a SaaS platform with thousands of customers for which we need to connect their data for our service to work. Our DevOps recommend us not to install the full Airbyte system. Instead, we should run stateless Kubernetes jobs, with only the Airbyte connector, orchestrated with our Prefect. The recommend using a sidecar with a gcp container, of the same pod, dumping the data to Google cloud storage. Is this a valid approach?
k
The approach recommended by your DevOps team—running independent connector workloads orchestrated by Prefect—aligns with the fundamental architecture of Airbyte, though the knowledge sources do not explicitly detail a "stateless sidecar" configuration for this specific purpose. ### Architectural Alignment Airbyte's architecture is built on the principle that connectors are independent modules packaged as Docker images [[Architecture overview](https://docs.airbyte.com/platform/understanding-airbyte/high-level-view)]. This containerized nature allows them to be run as discrete workloads. In a standard Airbyte deployment, the Workload API and Launcher are responsible for enqueuing and launching these discrete pods (workloads) in Kubernetes [[Architecture overview](https://docs.airbyte.com/platform/understanding-airbyte/high-level-view)]. By bypassing the full Airbyte platform (UI, Server, Database, and Temporal), you are essentially taking over the role of the Launcher and Worker using Prefect. ### Orchestration with Prefect Prefect is a supported orchestrator for Airbyte. While the standard
AirbyteConnectionTask
is designed to trigger jobs on a running Airbyte Server [[Using the Prefect Airbyte Task](https://docs.airbyte.com/platform/operator-guides/using-prefect-task)], your approach would involve Prefect managing the lifecycle of the Kubernetes pods directly. Community examples show similar patterns: * Multi-tenancy: Other organizations use orchestrators (like Airflow) to inject customer-specific configurations into reusable templates to manage syncs for dozens of e-commerce clients [[Mastering Multi-Tenant Environments](

https://www.youtube.com/watch?v=4KFLnicswGs▾

)]. * Custom Workflows: Teams have successfully built platforms where Airbyte handles the ingestion while Prefect orchestrates the entire pipeline, including landing data in Google Cloud Storage [[Building an Open-Source Data Platform](

https://www.youtube.com/watch?v=WwvlLmR4aOg▾

)]. ### Considerations for GCS and Statelessness * Destination Support: Airbyte has a native Google Cloud Storage (GCS) destination connector that writes data to buckets, supporting both Full Refresh and Incremental Append modes [[Google Cloud Storage (GCS)](https://docs.integrations/destinations/gcs)]. * State Management: If you run connectors completely "stateless" without Airbyte's internal database (
airbyte-db
), you must manually handle the replication cursors (state) required for incremental syncs. Airbyte normally stores these in its database to know where the last sync left off [[Architecture overview](https://docs.airbyte.com/platform/1.8/understanding-airbyte/high-level-view)]. Without the platform, Prefect would need to manage and pass these state messages between syncs. The knowledge sources do not provide specific documentation or code for running an Airbyte connector as a sidecar specifically to "dump" data; typically, the Airbyte destination connector itself handles the transmission to GCS [[Google Cloud Storage (GCS)](https://docs.integrations/destinations/gcs)].