Migrate Airbyte from Docker Compose to abctl: In-depth Guide

Are you ready to take your Airbyte setup to the next level? This guide walks you through migrating from Docker Compose to abctl, making your deployments faster, more scalable, and easier to manage. Learn how to simplify your data pipelines, improve performance, and reduce maintenance headaches. Whether you're a seasoned pro or just starting out, this guide has everything you need to make the switch smoothly.

Image
Published 23 Jan 2025Updated 7 Feb 2025

Table of Content

  • What is Airbyte?
    • Key Features of Airbyte
      • Why businesses Choose Airbyte
        • Why Migrate from Docker-Compose to abctl?
          • The Problem with Docker-Compose
            • The Power of abctl
            • Preparing for Migration
              • 1. System Requirements
                • 2. Backup Your Data
                  • 3. Inventory Your Setup
                    • 4. Check SDK and CDK for Custom Connectors
                      • 5. Install kind and kubectl
                      • Migrating to abctl
                        • 1. Stop Docker Compose
                          • 2. Install abctl
                            • 3. Run Airbyte
                              • 4. Set Credentials
                              • Interacting with Airbyte CLI Using kubectl
                                • Adding a Custom Connector’s Docker Image to the Airbyte Namespace
                                  • The Final Words

                                    Airbyte has been a trusted data integration tool for many businesses, enabling seamless data syncing across platforms. Traditionally, many users have deployed Airbyte using Docker-Compose, appreciating its simplicity for local setups and proof-of-concept environments. However, with the advent of abctl and the official deprecation notice for Docker-Compose deployments, it's time to upgrade your Airbyte infrastructure.

                                    In this blog, we’ll explore the why, how, and best practices for migrating Airbyte from Docker-Compose to abctl. By the end, you’ll have a clear roadmap to modernize your data integration workflows with minimal downtime and maximum efficiency.

                                    What is Airbyte?

                                    Airbyte is an open-source data integration platform designed to unify and streamline the process of syncing data across different platforms. It supports hundreds of pre-built connectors, allowing businesses to pull and push data from sources like databases, APIs, and SaaS applications into destinations such as data warehouses and lakes.

                                    Key Features of Airbyte

                                    • Open-Source Flexibility: Customize and extend connectors as per your needs. 
                                    • Extensive Connector Library: Over 300 pre-built connectors covering popular platforms. 
                                    • Modern ELT Architecture: Focused on extracting and loading data efficiently while leaving transformations to destination tools. 
                                    • Community and Commercial Support: Strong backing from an active open-source community and enterprise-grade solutions for advanced needs. 

                                    Why businesses Choose Airbyte

                                    Businesses benefit from Airbyte’s cost-effectiveness, scalability, and ease of integration, making it an excellent choice for data-driven organizations. Whether starting with small-scale syncs or scaling to handle large data volumes, Airbyte provides the tools needed for robust data pipelines.

                                    Why Migrate from Docker-Compose to abctl?

                                    The Problem with Docker-Compose

                                    While Docker-Compose is an excellent tool for local testing and small-scale deployments, it falls short in production use cases:

                                    • Limited Scalability: Scaling Docker-Compose requires significant manual intervention. 
                                    • Complex Management: Configuring and maintaining connectors can become cumbersome as your pipelines grow. 
                                    • Lack of Advanced Features: Docker-Compose lacks orchestration and resource allocation capabilities required for dynamic workloads. 

                                    The Power of abctl

                                    abctl is a command-line interface specifically designed for managing Airbyte in modern, scalable environments like Kubernetes. Benefits include:

                                    • Ease of Management: Simplified deployment and configuration processes. 
                                    • Scalability: Native support for Kubernetes enables dynamic scaling and resource management. 
                                    • Improved Orchestration: Enhanced control over Airbyte connectors and pipelines. 

                                    With Docker-Compose support officially deprecated (announcement here), migrating to abctl isn’t just an option—it’s the way forward.

                                    Preparing for Migration

                                    Before diving into the migration process, proper preparation ensures a smooth transition.

                                    1. System Requirements

                                    For best performance, run Airbyte on a machine with 4 or more CPUs and at least 8GB of memory. Actual specifications may vary according to ETL jobs and data transfer requirements.

                                    2. Backup Your Data

                                    Back up your EC2 or VM wherever you have installed the Docker-Compose-based installation.

                                    3. Inventory Your Setup

                                    • List all existing sources, destinations, and connections. 
                                    • Note any custom connectors or configurations. 

                                    4. Check SDK and CDK for Custom Connectors

                                    If you’ve developed custom connectors, review the SDK and CDK versions to ensure they are up-to-date. Update any connectors as needed to align with the latest Airbyte standards.

                                    5. Install kind and kubectl

                                    Install kind

                                    To install kind, follow these steps:

                                    [ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.26.0/kind-linux-amd64
                                    chmod +x ./kind
                                    sudo mv ./kind /usr/local/bin/kind

                                    Install kubectl

                                    To install kubectl, follow these steps:

                                    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
                                    sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
                                    kubectl version --client --output=yaml

                                    Migrating to abctl

                                    The migration process involves several steps. Below is a high-level overview:

                                    1. Stop Docker Compose

                                    Stop the existing Docker Compose instance:

                                    docker compose stop

                                    2. Install abctl

                                    Install abctl using the following command:

                                    curl -LsfS https://get.airbyte.com | bash -

                                    This will install the abctl command-line tool for managing your Airbyte instance.

                                    3. Run Airbyte

                                    Once abctl is installed, use it to install and run Airbyte locally:

                                    abctl local install --migrate

                                    If you are using a system with less than 8GB of RAM and 4 CPUs, enable low resource mode to optimize Airbyte performance on your machine:

                                    abctl local install --migrate --low-resource-mode

                                    4. Set Credentials

                                    Set up credentials to access your Airbyte instance:

                                    • Set your email address: 

                                    abctl local credentials --email admin@example.com

                                    • Set your password: 

                                    abctl local credentials --password new_password

                                    Interacting with Airbyte CLI Using kubectl

                                    To interact with the Airbyte CLI through kubectl, use the following command:

                                    kubectl --kubeconfig ~/.airbyte/abctl/abctl.kubeconfig --namespace airbyte-abctl get all

                                    Adding a Custom Connector’s Docker Image to the Airbyte Namespace

                                    To add a custom connector’s Docker image to the Airbyte namespace, use the following command:

                                    kind load docker-image <DOCKER_IMAGE_NAME> -n airbyte-abctl

                                    For more information, visit the official Airbyte documentation.

                                    The Final Words

                                    Migrating Airbyte from Docker-Compose to abctl offers significant benefits like improved scalability, easier maintenance, and streamlined configuration management. This transition simplifies your data integration processes while reducing complexity, making it a practical choice for organizations looking to optimize their workflows and build a more efficient, future-proof data infrastructure.

                                    Ready to optimize your data integration with seamless cloud solutions?

                                    Contact Intuz today for expert assistance in migrating Airbyte to abctl and enhancing your data infrastructure.

                                    Let's build a scalable, future-proof system together!

                                    Let's Discuss Your Project!

                                    Let’s Talk

                                    Let us know if there’s an opportunity for us to build something awesome together.

                                    Drop the files
                                    or

                                    Supported format .jpg, .png, .gif, .pdf or .doc