Blog

Von 0 auf MLOps mit ❄️ Teil 2: Architektur der Cloud-agnostischen MLOps-Plattform für Snowflake Data Cloud

Marek Wiewiórka

Marcin Zabłocki

Michał Bryś

Aktualisiert Oktober 15, 2025
7 Minuten

Von 0 auf MLOps mit Snowflake ❄️

Im ersten Teil des Blogposts haben wir unser kedro-snowflake Plugin vorgestellt, mit dem Sie Ihre Kedro-Pipelines in 3 einfachen Schritten auf der Snowflake Data Cloud ausführen können. Dieses Mal zeigen wir Ihnen, wie Sie die End-to-End-MLOps-Plattform auf Snowflake mit Kedro und MLflow implementieren können. Inspiriert von den Blogbeiträgen: 1 und 2 - stellen wir in diesem Artikel einen neuartigen Ansatz vor , der versucht, das Problem des fehlenden externen Internetzugangs in Snowpark zu lösen.

Diese Funktion wäre ein absoluter Wendepunkt für die Integration von Tools von Drittanbietern, die nicht nativ im Snowflake-Ökosystem verfügbar sind, und steht nach bestem Wissen auf der Snowflake-Roadmap. Lassen Sie uns also in die MLOps-Plattform für Snowflake Data Cloud eintauchen.

Säulen der MLOps Plattform - Rekapitulation

Was ist Kedro? Das MLOps Rahmenwerk

Kedro ist ein weit verbreitetes MLOps-Framework in Python, das die Technik zurück in die Welt der Datenwissenschaft bringt, um die Produktion von Code für maschinelles Lernen nahtlos zu unterstützen. Mit Kedro können Sie Pipelines für maschinelles Lernen erstellen, die auf Cloud-, Edge- oder On-Premises-Plattformen arbeiten können. Kedro ist Open Source und bietet Tools für Datenwissenschaftler und Ingenieure, um Workflows für maschinelles Lernen zu erstellen, zu teilen und gemeinsam zu bearbeiten. Außerdem können Sie mit Kedro den gesamten Lebenszyklus des maschinellen Lernens von der Datenaufbereitung bis zur Bereitstellung der Modelle verfolgen.

Siehe auch:https://www.youtube.com/embed/mUyD2fJRvRU?enablejsapi=1&origin=https://getindata.com

Kedro ist ein Tool, mit dem Sie Ihre Machine Learning-Projekte skalierbarer und flexibler machen können, während Sie die Dinge einfach halten. Es kann auf jeder Plattform ausgeführt werden, ob Cloud oder Edge Computing, und ist leicht skalierbar. Mit Kedro können Datenwissenschaftler und Ingenieure Workflows für maschinelles Lernen erstellen, die mit verschiedenen Plattformen kompatibel sind, ohne sich um die Skalierbarkeit sorgen zu müssen. Darüber hinaus bietet Kedro Flexibilität bei der Erstellung von Workflows für maschinelles Lernen und unterstützt verschiedene Datenquellen, Modelle und Einsatzziele. Dies erleichtert es Teams, mit neuen Technologien und Techniken zu experimentieren und gleichzeitig eine konsistente Pipeline aufrechtzuerhalten.

Was ist MLflow? Die Plattform für die Verwaltung des Lebenszyklus von maschinellem Lernen

MLflow ist eine Open-Source-Plattform, die den gesamten Lebenszyklus von Modellen für maschinelles Lernen verwaltet. Sie bietet Tools zum Verfolgen, Verwalten und Visualisieren von Arbeitsabläufen, von der Datenaufbereitung bis zur Modellbereitstellung. Darüber hinaus fördert MLflow die Zusammenarbeit zwischen Datenwissenschaftlern und Ingenieuren, indem es eine gemeinsame Sprache und ein gemeinsames Verständnis für den Prozess des maschinellen Lernens bietet.

Warum sollten Sie MLflow in Ihrem MLOps-Werkzeugkasten berücksichtigen? Hier sind die drei wichtigsten Vorteile von MLFlow:

  1. Effiziente Entwicklung von maschinellem Lernen - MLflow bietet Tools zum Verfolgen, Verwalten und Visualisieren des gesamten Arbeitsablaufs für maschinelles Lernen, von der Datenaufbereitung bis zur Bereitstellung des Modells, was zu einer effizienten Entwicklung von Modellen für maschinelles Lernen beiträgt.
  2. Zusammenarbeit - MLflow ermöglicht die Zusammenarbeit zwischen Datenwissenschaftlern und Ingenieuren, indem es eine gemeinsame Sprache und ein gemeinsames Verständnis des maschinellen Lernprozesses bereitstellt. MLflow erleichtert die Zusammenarbeit mit anderen Teammitgliedern und den Wissensaustausch.
  3. Kontinuierliche Verbesserung - MLflow bietet Tools zur Verfolgung der Modellleistung, mit denen sich Modelle im Laufe der Zeit verbessern lassen. Durch die kontinuierliche Überwachung und Analyse der Modellleistung können Datenwissenschaftler die Bereiche identifizieren, in denen sie ihre Modelle oder Prozesse verbessern müssen.

Sowohl Kedro als auch MLflow sind Projekte, die von der Linux Foundation unterstützt werden.

Was ist Terraform?

Terraform ist ein Open-Source-Softwaretool, das den Infrastructure-as-Code (IaaC)-Ansatz im Bereich Cloud Computing, Netzwerkautomatisierung und Sicherheit ermöglicht. Es bietet Tools zur Verwaltung Ihrer Infrastruktur mit einfachen, deklarativen Konfigurationsdateien anstelle von komplexen, fehleranfälligen manuellen Konfigurationen oder Skripten. Terraform hilft Ihnen, die Bereitstellung, Aktualisierung und Löschung von Ressourcen über mehrere Cloud-Anbieter wie AWS, Azure und Google Cloud Platform (GCP) hinweg zu automatisieren.

GetInData leistet auch einen aktiven Beitrag zum offiziellen Snowflake Terraform Provider. Insbesondere haben wir vor kurzem die Unterstützung für externe Funktionsübersetzer hinzugefügt, die für die vorgestellte MLflow-Integration erforderlich war

MLOps Snowflake Plattform - Architektur auf hoher Ebene

In der jüngsten Version unseres Kedro-Snowflake-Plugins haben wir Beta-Unterstützung für die MLflow-Integration hinzugefügt.

Das folgende Diagramm zeigt die vorgeschlagene Architektur der MLOps-Plattform im Falle der AWS-Cloud.




Die Einsatzszenarien von GCP und Azure sind bis auf eine Ausnahme sehr ähnlich:

Die Einsatzszenarien von GCP und Azure sind bis auf eine Ausnahme sehr ähnlich:

  • API-Gateway (GCP) oder API-Verwaltung (Azure) für die Freigabe der MLflow-API
  • MLflow-Hosting - z. B. App Engine, Cloud Run (GCP) oder Azure Container Apps, Azure Container Instances (Azure)
  • Online-Modellbereitstellung - Vertex Endpunkte (GCP) oder Azure ML Endpunkte

Technischer Einblick in die kedro-snowflake <-> MLflow Integration

Die Kedro-Snowflake <-> MLflow-Integration basiert auf den folgenden Konzepten:

-Snowflake externe Funktionen die für das Wrapping von POST-Anfragen an die MLflow-Instanz verwendet werden. In der minimalen Konfiguration müssen die folgenden externen Funktionen für MLflow REST API-Aufrufe erstellt werden:

-Snowflake externe Funktionsübersetzer zum Ändern des Formats der Daten, die von der MLflow-Instanz gesendet/empfangen werden.

-Snowflake API-Integration zum Einrichten eines Kommunikationskanals von der Snowflake-Instanz zum Cloud-HTTPS-Proxy/Gateway-Dienst, in dem Ihre MLflow-Instanz gehostet wird (z.B. Amazon API Gateway, Google Cloud API Gateway oder Azure API Management).

-Snowflake-Speicherintegration damit Ihre Snowflake-Instanz Artefakte (z.B. serialisierte Modelle) in den von der MLflow-Instanz verwendeten Cloud-Speicher (Amazon S3, Azure Blob Storage, Google Cloud Storage) hochladen kann.

-Offline-Modellbereitstellung innerhalb von Snowflake wird von der MLflow-Snowflake Plugin, mit dem Sie Modelle, die in gängigen Frameworks (wie PyTorch, Scikit-Learn, TensorFlow, LightGBM, XGBoost, ONNX und anderen) trainiert wurden, nativ in Snowflake als benutzerdefinierte Funktionen bereitstellen können, die dann direkt von SQL aus aufgerufen werden können, um effizient (unter Verwendung von Vektorisierung) Inferenzen durchzuführen und die Vorhersagen der Modelle zu erhalten. Das Plugin wird vom Snowflake-Team unterstützt und aktiv weiterentwickelt.

-Online-Modellbereitstellung mit SageMaker Endpunkten mit dem offiziellen MLflow Plugin .

YOUⓇ MLOps Snowflake Plattform: Pro, Kontra und alternative Ansätze

Unsere MLOps-Plattform geht von einer vollständigen nativen Integration mit dem Snowflake-Ökosystem aus und nutzt es für den Datenzugriff, die Pipeline-Orchestrierung, das Modelltraining sowie die Modellbereitstellung und -inferenz. Eine solche Architektur hat eine Reihe von Vorteilen, um nur einige zu nennen:

  • einfachere Sicherheitseinrichtung (auch dank des begrenzten Datenaustritts)
  • weniger Abhängigkeiten von externen Diensten
  • wesentlich weniger Datenübertragungen
  • Geringerer Aufwand beim Start der Pipeline-Knoten im Vergleich zu SageMaker/AzureML/Vertex AI
  • eine vereinheitlichte Plattform für Daten und maschinelles Lernen

Dies ist natürlich keine Einheitsarchitektur und es gibt Mängel, die in der Snowflake Data Cloud noch nicht behoben wurden, z. B:

  • GPU-Unterstützung
  • unterbrechbare Data Warehouses
  • Zugang zu den externen Diensten
  • mehrere Python-Versionen (bereits in der Public Preview verfügbar)
  • Docker-Unterstützung

Alternativ können Sie Snowflake nur datenzentriert verwenden und die Orchestrierung der Pipeline für maschinelles Lernen und das Training auf externe Systeme wie Azure ML, Vertex AI oder SageMaker auslagern. Auf diese Weise entsteht ein Kompromiss - einige der ML/AI-nativen Fähigkeiten der externen Dienste könnten potenziell genutzt werden, während die Kosten für den Datentransfer und die Cloud-übergreifende Verbindung/Einrichtung anfallen könnten. Ein solcher Ansatz kann jedoch in einigen Fällen wünschenswert sein, wenn es darum geht, einen externen Pipeline-Orchestrator-Dienst wiederzuverwenden, der bereits in Unternehmen eingesetzt wird, wie z.B. Apache Airflow.

Wenn Sie Ihr ML-Kernprojekt aufbauen und den Geschäftswert auf dem Kedro-Framework liefern, ist eine spätere Migration und ein Wechsel zwischen diesen beiden Ansätzen mit minimalem Aufwand möglich. Bislang haben wir 6 wichtige Plugins für Kedro veröffentlicht: Kedro-Snowflake, Kedro-AzureML, Kedro-VertexAI, Kedro-SageMaker, Kedro-Airflow und Kedro-Kubeflow (siehe unser GitHub Repos ).

Die folgende Tabelle fasst die Vor- und Nachteile der verschiedenen Ansätze zusammen:
Drücken Sie die Eingabetaste oder klicken Sie, um das Bild in voller Größe anzuzeigen


Drücken Sie die Eingabetaste oder klicken Sie, um das Bild in voller Größe anzuzeigen

Zusammenfassung und zukünftige Verbesserungen

In diesem kurzen Blogbeitrag haben wir unseren Ansatz für die Architektur einer Cloud-agnostischen MLOps-Plattform auf der Basis von Snowflake Data Cloud vorgestellt, die auf drei Bausteinen basiert: Die vorgeschlagene Lösung löst das Problem des fehlenden externen Zugriffs auf Dienste von Drittanbietern im Snowflake-Ökosystem - diese Funktion würde, sobald sie implementiert ist, die Gesamtarchitektur vereinfachen, da die Verwendung von externen Funktions-Wrappern und API-Gateways überflüssig würde.

Aber das ist noch nicht das Ende der Geschichte. Bleiben Sie dran für den dritten Teil dieses Blogposts, in dem wir Ihnen vorstellen werden, wie Sie diese Plattform noch weiter ausbauen können, um Large Language Models (LLMs) zu unterstützen.

Interessieren Sie sich für ML- und MLOps-Lösungen? Wie können Sie ML-Prozesse verbessern und die Lieferfähigkeit von Projekten steigern? Sehen Sie sich unsere MLOps-Demo an und melden Sie sich für eine kostenlose Beratung an.




MELDEN SIE SICH AN, UM DAS EBOOK, DEN ZUGANG ZU DEN WORKSHOPS UND DIE MLOPS-MATERIALIEN ZU ERHALTEN.


Verfasst von

Marek Wiewiórka

Contact

Let’s discuss how we can support your journey.