Create a Streaming runner🔗
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. The Streaming runner will be hosted 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 GCP infrastructure.
Note
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 the Maia.
- An account in Azure, AWS, or GCP 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 agents and Git repositories.
Note
Your source database will also require configuration to work with Streaming pipelines. This is independent from the Streaming runner installation process. More information can be found in the documentation for each supported data source.
Create a Streaming runner in Maia🔗
- In the left navigation, click the Agents & Instances icon
. Then, select Agents from the menu. - All currently created Streaming runners are listed showing their Status, Platform (AWS, Azure, or GCP), and Type (Maia or Streaming).
- Click Add agent.
- Click Streaming.
-
Complete the following properties:
- Agent 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 GCP 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 GCP are supported.
-
Click Create agent.
This creates a Streaming runner definition in Maia, and displays the Streaming runner's parameters on the Agent 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.
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:
-
For AWS Streaming runners:
-
For Azure Streaming runners:
-
For GCP Streaming runners:
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 Agent 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.
You can also use Terraform to deploy Streaming runners and pipelines across AWS, Azure, and GCP. For more information, see Deploy Streaming runners and pipelines 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.
- Click the menu button in the top left of any Maia screen, then click Manage → Agents.
-
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.
-
When the Streaming runner status shows Running, it's ready to use. It can be selected in the Agent 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 on the Agents screen, then click the three dots ... → Remove agent.
This action is irreversible, so be sure that you want to continue.
Deleting the Streaming runner from the Agents screen doesn't remove the underlying AWS, Azure, or GCP resources. You should go into the AWS Console, Azure Portal, or GCP Console and clean up any resources that you no longer require.
Warning
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.