Skip to main content
The Streaming runner is a component within Maia that serves as a bridge between the source database and the target cloud data lake, enabling the execution and scheduling of streaming pipelines. You host the Streaming runner in your own infrastructure, using a Hybrid SaaS solution. Once the Streaming runner is configured and started, it operates autonomously without requiring much intervention. The Streaming runner continuously monitors all changes occurring in the source database, consumes those changes from the low-level logs, and delivers them to the designated target data lake or storage. This ensures a continuous and reliable change data capture process. Create a Streaming runner in your own infrastructure. You can create Streaming runners in the user interface or provision them programmatically when deploying streaming environments at scale. We currently support Streaming runners running in AWS, Azure, and Google Cloud infrastructure.
Each Streaming runner can run only one Streaming pipeline. Each Streaming pipeline requires a new Streaming runner installation.

Prerequisites

  • A Maia account. To register, read Registration. Once you have signed up, log in to Maia.
  • An account in AWS, Azure, or Google Cloud to host the Streaming runner.
  • Access to a cloud secrets service, which is a secure storage system for storing authentication and connection secrets. These secrets are used by the Streaming runner to authenticate itself with the source database and establish a secure connection for capturing the data changes.
  • Allowlisted IP addresses configured for your environment. For more information, read Hybrid SaaS Streaming runners and Git repositories.
Your source database also requires configuration to work with Streaming pipelines. This is independent from the Streaming runner installation process. For more information, read the documentation for each supported data source.

Create a Streaming runner

  1. In the left navigation, click . Then, click Runners from the menu.
  2. All currently created Streaming runners are listed showing their Status, Platform (AWS, Azure, or Google Cloud), and Type (Maia or Streaming).
  3. Click Add runner.
  4. Click Streaming.
  5. Complete the following properties:
    • Runner name: A unique name for your new Streaming runner. Maximum 30 characters. Accepts both uppercase and lowercase A-z, 0-9, whitespace (not the first character), hyphens and underscores.
    • Description: Optionally enter a brief description of the Streaming runner.
    • Cloud provider: The cloud platform that the Streaming runner will be deployed to. Currently, AWS, Azure, and Google Cloud are supported.
    • Deployment: The supported deployment method for the given cloud provider. Currently, Fargate and EKS for AWS, ACI and AKS for Azure, and GKE and GCE for Google Cloud are supported.
  6. Click Create runner.
This creates a Streaming runner definition in Maia, and displays the Streaming runner‘s parameters on the Runner details screen. The Streaming runner‘s status is set to Pending, which means it is not yet ready to run pipelines. The next step is to deploy the Streaming runner application into your cloud infrastructure, as described below.
A CloudFormation template is available for AWS ECS, and an ARM template is available for Azure ACI. There is currently no equivalent template or Helm chart published for EKS, AKS, GKE, or GCE deployments. For these targets, you’ll need to provision the compute resources and deploy the Streaming runner container manually, using the parameters and values described below.

Set up the Streaming runner in your cloud infrastructure

After creating the Streaming runner in Maia with the above process, the Streaming runner needs to be installed into your cloud infrastructure. There are several different ways of doing this, and you can use whichever method suits you: To complete these processes, you will require certain details of the created Streaming runner. To obtain these details, locate the Streaming runner in the list of Streaming runners, and click the three dots … next to it, then click Runner details. The parameters and values in the sections Agent image URI, Agent environment variables, and Credentials are required when configuring your Streaming runner in your cloud infrastructure. The Matillion Streaming Terraform provider can also be used to create and manage Streaming runner and pipeline definitions. This manages the Streaming runner and pipeline definition within Maia itself; it doesn’t provision or manage the underlying cloud compute infrastructure (ECS, EKS, ACI, AKS, GCE, or GKE) described above, which must still be deployed using one of the methods above. For more information, see Deploy with Terraform.

Check Streaming runner status

After deploying the Streaming runner in your cloud infrastructure, you should return to Maia to verify that it’s correctly connected and running.
  1. Click the menu button in the top left of any Maia screen, then click Manage runners.
  2. Locate the Streaming runner in the list and check the status:
    • Pending: The Streaming runner has been created but has not yet connected to Maia.
    • Running: The Streaming runner is connected and available for running Streaming pipelines, or is connected and already running a Streaming pipeline.
    • Stopped: The Streaming runner has been stopped.
    • Unknown: The Streaming runner is in an unknown state. This typically means the Streaming runner has lost connection to Maia without being stopped, for example due to networking issues.
  3. When the Streaming runner status shows Running, it’s ready to use. It can be selected in the Runner drop-down when you create a new Streaming pipeline, as long as a pipeline is not already assigned.

Deleting Streaming runners

To delete a Streaming runner from Maia, locate the Streaming runner in the Runners list, click the three dots …, then click Remove runner. This action is irreversible, so be sure that you want to continue. Deleting the Streaming runner from the Runners list doesn’t remove the underlying AWS, Azure, or Google Cloud resources. You should go into the AWS Console, Azure Portal, or Google Cloud Console and clean up any resources that you no longer require.
Deleting a Streaming runner that is currently running may interrupt pipelines that are currently running. Therefore, you should always stop the Streaming runner service before deleting it.