Connecting Consumption Services
This section explains how to integrate your services that consume features with a Tecton cluster.
Consumption services typically include, but aren’t limited to:
- Hosted data science notebooks that are used for model training and development purposes. These notebooks would typically leverage Tecton to fetch training data.
- Developer machines, in case they don’t develop in hosted environments.
- Cron jobs that run batch predictions and leverage Tecton to fetch offline scoring data.
- Real-time prediction services (such as a Java backend service), which score models and fetch online scoring data from Tecton.
Tecton API Endpoint
Tecton exposes a handful of services that your consuming services need to be able to discover and communicate with to fetch training data, scoring data, etc.
Consumption endpoints should be able to access Tecton's API endpoint, which is typically
https://<YOUR_ACCOUNT>.tecton.ai/app. This endpoint is public by default, but it's possible to force traffic to stay within AWS networks using AWS PrivateLink. Tecton’s deployment specialists will help configure the details depending on your organization’s network and service mesh setup.
There are generally two classes of clients that interact with Tecton:
- SDK consumers that interact with Tecton using the SDK during feature and model development. These consumers create new features and use existing ones to build model training datasets.
- Feature consumers: that fetch scoring data to make actual predictions using trained models.
Typical Tecton SDK consumers are Data Science Notebooks and cron-scheduled Python scripts. To function properly in an environment that’s not under Tecton’s control, the Python SDK must be able to discover and communicate with Tecton’s API endpoint.
As described in more detail in the documentation on FeatureServices, the Python SDK allows you to directly communicate with FeatureServices, using the SDK to fetch scoring datasets.
However, you may have other FeatureService consumers that are not written in Python (such as Java, Golang, C++, etc.). In those cases, you can use the FeatureService’s HTTP API.