New to Kestra?
Use blueprints to kickstart your first workflows.
Audits Google Cloud Vertex AI model serving endpoints for skewed traffic splits and orphaned deployed models, alerting MLOps teams via Slack.
Modern artificial intelligence platforms and machine learning engineering teams deploy production predictive models, embedding engines, and classification microservices to Google Cloud Vertex AI Model Serving endpoints. To support continuous deployment, canary testing, and A/B bakeoffs, Vertex AI endpoints allow hosting multiple deployed models behind a single unified HTTPS endpoint, distributing incoming inference traffic according to configurable integer percentages (e.g. 90% to baseline model, 10% to canary candidate). However, when automated CI/CD deployment pipelines fail mid-flight, canary models are undeployed without recalculating split weights, or unrouted models remain deployed consuming expensive GPU/TPU node quotas with 0% traffic allocation, inference budgets are squandered and user requests risk unhandled 404 or 503 routing failures. This sentinel interrogates Google Cloud Vertex AI endpoints hourly, inspects deployed model weights and traffic percentages, and notifies MLOps on Slack with remediation actions.
0 * * * *) or runs on-demand via manual execution.google-cloud-aiplatform SDK to fetch endpoint details.io.kestra.plugin.core.flow.If flowable checks if traffic splits are inconsistent and dispatches an alert to #mlops-serving-alerts.flowchart TD
A[hourly_vertex_traffic_audit Schedule Trigger] --> B[scan_vertex_traffic_split Python Script]
B --> C[check_traffic_split_anomaly Flowable If]
C -- Routing Discrepancy Found --> D[notify_slack_traffic_split_anomaly Webhook]
C -- Model Routing Nominal --> E[log_serving_health_state Log]
D --> E
E --> F[export_vertex_manifest Return]
Machine learning endpoint governance spans infrastructure monitoring, model artifact tracking, and team alerting. Kestra connects directly to the Google Cloud AI Platform Python SDK, executes containerized diagnostic scripts, validates complex multi-model routing states, and coordinates team notifications. With Kestra's containerized Python runner and native secret management, MLOps teams automate endpoint reliability without maintaining fragile custom cron scripts.
| Name | Type | Default | Description |
|---|---|---|---|
gcp_project_id |
STRING |
company-prod-mlops |
Google Cloud project identifier containing the Vertex AI serving endpoints. |
gcp_region |
STRING |
us-central1 |
Google Cloud location where Vertex AI endpoints are deployed. |
endpoint_id |
STRING |
1234567890123456789 |
Numeric resource ID of the target Vertex AI model serving endpoint. |
expected_primary_split_min_percent |
INT |
80 |
Minimum acceptable traffic split percentage allocated to the primary baseline model. |
alert_on_discrepancy |
BOOL |
true |
Whether to dispatch automated Slack alerts when traffic split percentages deviate from safe deployment baselines. |
{{ outputs.scan_vertex_traffic_split.vars.endpoint_name }}: Display name of the evaluated Vertex AI endpoint.{{ outputs.scan_vertex_traffic_split.vars.deployed_models_count }}: Count of active model revisions deployed to the endpoint.{{ outputs.scan_vertex_traffic_split.vars.has_discrepancy }}: Boolean flag indicating whether routing discrepancies were detected.{{ outputs.export_vertex_manifest.value }}: Structured dictionary containing the consolidated Vertex AI serving diagnostic manifest.*-aiplatform.googleapis.com).roles/aiplatform.viewer permissions.GCP_SERVICE_ACCOUNT_KEY: Service account credentials JSON with permissions to inspect Vertex AI endpoints.SLACK_WEBHOOK_URL: Slack Incoming Webhook URL used to dispatch MLOps serving alerts.GCP_SERVICE_ACCOUNT_KEY and SLACK_WEBHOOK_URL in your Kestra secret storage.company.ai namespace.gcp_project_id, gcp_region, and endpoint_id with your target Vertex AI endpoint parameters.us-central1, europe-west4); incorrect regions return 404 Not Found errors.aiplatform.endpoints.get and aiplatform.endpoints.list permissions.io.kestra.plugin.core.flow.ForEach loop to scan all Vertex AI endpoints across the ML platform.