Skip to main content

Step 1: Install Featureform client

Requirements

  • Python 3.9-3.12
  • Kubectl
  • Azure CLI
  • An available domain/subdomain name
Install the Featureform SDK via Pip.

Step 2: Export domain name

Featureform uses gRPC which, in combination with the nginx ingress requires a fully qualified domain name.

Step 3: Setup the AKS Cluster

This step will provision a single node Kubernetes cluster with AKS

Login

Login to the Azure CLI

Create Resource Group

Create a resource group for the kubernetes cluster

Create A Cluster

Create a single node cluster for Featureform

Add To Kubeconfig

Add the cluster information to the kubeconfig as the current context

Verify connection

You should get a result like:

Step 4: Install Helm charts

We’ll be installing three Helm Charts: Featureform, the Quickstart Demo, and Certificate Manager. First, we need to add the Helm repositories.
Now we can install the Helm charts.

Step 5: Setup Domain Name

Get the ingress IP address

Get the IP address of the ingress. It may take a minute or so to show.
In your DNS provider create two records: This will allow the client to securely connect to the cluster by allowing the cluster to provision its own public IP address. You can check when the cluster is ready by running
and checking that the status of the certificates is ready.

Step 6: Register providers

The Quickstart helm chart creates a Postgres instance with preloaded data, as well as an empty Redis standalone instance. Now that they are deployed, we can write a config file in Python.
definitions.py
Once we create our config file, we can apply it to our Featureform deployment.

Step 7: Define our resources

We will create a user profile for us, and set it as the default owner for all the following resource definitions.
definitions.py
Now we’ll register our user fraud dataset in Featureform.
definitions.py
Next, we’ll define a SQL transformation on our dataset.
definitions.py
Next, we’ll register a passenger entity to associate with a feature and label.
definitions.py
Finally, we’ll join together the feature and label into a training set.
definitions.py
Now that our definitions are complete, we can apply them to our Featureform instance.

Step 7: Serve features for training and inference

Once we have our training set and features registered, we can train our model.
We can serve features in production once we deploy our trained model as well.