Snowpark Container Services¶
Allgemeine Informationen zu Snowpark Container Services¶
Snowpark Container Services ist ein vollständig verwaltetes Container-Angebot, das die Bereitstellung, Verwaltung und Skalierung von containerisierten Anwendungen innerhalb des Snowflake-Ökosystems vereinfacht. Mit diesem Dienst können Benutzer containerisierte Workloads direkt in Snowflake ausführen, sodass die Daten für die Verarbeitung nicht aus der Snowflake-Umgebung ausgelagert werden müssen. Im Gegensatz zu herkömmlichen Container-Orchestrierungsplattformen wie Docker oder Kubernetes bietet Snowpark Container Services eine speziell für Snowflake optimierte OCI-Laufzeitumgebung. Diese Integration ermöglicht die nahtlose Ausführung von OCI-Images unter Verwendung der robusten Datenplattform von Snowflake.
Als vollständig verwalteter Dienst rationalisiert Snowpark Container Services die betrieblichen Aufgaben. Snowpark Container Services übernimmt das komplexe Verwaltung der Container, einschließlich Sicherheit und Konfiguration, in Übereinstimmung mit bewährten Verfahren. Dadurch wird sichergestellt, dass sich die Benutzer auf die Entwicklung und Bereitstellung ihrer Anwendungen konzentrieren können, ohne sich um die Verwaltung der zugrunde liegenden Infrastruktur kümmern zu müssen.
Snowpark Container Services ist vollständig in Snowflake integriert. Unter diesen Voraussetzungen können Ihre Anwendung zum Beispiel problemlos folgende Aufgaben ausführen:
Herstellen einer Verbindung zu Snowflake und Ausführen von SQL in einem virtuellen Snowflake-Warehouse
Zugriff auf Datendateien in einem Snowflake-Stagingbereich
Verarbeiten der von SQL-Abfragen gesendeten Daten
Snowpark Container Services ist auch in Tools von Drittanbietern integriert. Damit können Sie Drittanbieter-Clients wie z. B. Docker verwenden, um Ihre Anwendungsimages einfach auf Snowflake hochzuladen. Die nahtlose Integration erleichtert es den Teams, sich auf die Entwicklung der Datenanwendungen zu konzentrieren.
Sie können Ihre Anwendungscontainer-Workloads über Snowflake-Regionen und Cloudplattformen hinweg ausführen und skalieren, ohne sich um die komplexe Verwaltung einer Steuerebene oder von Workerknoten kümmern zu müssen, sodass Sie schnellen und einfachen Zugriff auf Ihre Snowflake-Daten haben.
Snowpark Container Services bietet eine breite Palette neuer Funktionalitäten, darunter die folgenden Features:
Erstellen von Diensten mit langen Ausführungszeiten
Verwenden von GPUs zur Steigerung der Geschwindigkeit und der Verarbeitungsmöglichkeiten eines Systems
Schreiben von eigenem Anwendungscode in einer beliebigen Sprache (z. B. C++).
Verwenden beliebiger Bibliotheken in den eigenen Anwendungen
All dies ist mit den Vorteilen der Snowflake-Plattform verbunden, insbesondere deren Features für Benutzerfreundlichkeit, Sicherheit und Governance. Außerdem verfügen Sie nun neben der leistungsstarken Snowflake-Datenschicht auch über eine skalierbare, flexible Computing-Schicht, ohne dass Sie Daten von der Plattform auslagern müssen.
Wie funktioniert das?¶
Um containerisierte Anwendungen in Snowpark Container Services auszuführen, nutzen Sie nicht nur die grundlegenden Snowflake-Objekte wie Datenbanken und Warehouses, sondern auch die folgenden Objekte: Image-Repository, Computepool, Dienst und Job.
Snowflake bietet eine Image-Registry, die einen OCIv2-kompatiblen Dienst zum Speichern Ihrer Images darstellt. Dadurch erhalten OCI-Clients (wie Docker CLI und SnowSQL) Zugriff auf eine Image-Registry in Ihrem Snowflake-Konto. Mithilfe dieser Clients können Sie Ihre Anwendungsimages in ein Repository (eine Speichereinheit) in Ihrem Snowflake-Konto hochladen. Weitere Informationen dazu finden Sie unter Verwenden von Image-Registry und Image-Repository.
Nachdem Sie Ihr Anwendungsimage in ein Repository hochgeladen haben, können Sie Ihre Anwendungscontainer als Dienst oder Job ausführen.
Ein Dienst hat eine lange Ausführungszeit, das heißt, Sie müssen ihn wie einen Webdienst explizit beenden, wenn er nicht mehr benötigt wird. Wenn ein Dienstcontainer beendet wird (aus welchem Grund auch immer), startet Snowflake diesen Container neu. Zum Erstellen eines Dienstes, z. B. einer Full-Stack-Webanwendung, verwenden Sie den Befehl CREATE SERVICE.
Ein Job hat eine begrenzte Lebensdauer, ähnlich wie eine gespeicherte Prozedur. Wenn alle Container beendet werden, ist auch der Job beendet. Snowflake startet Jobcontainer nicht erneut. Um einen Job zu erstellen, z. B. zum Trainieren eines Machine Learning-Modells mit GPUs, verwenden Sie den Befehl EXECUTE SERVICE.
Wichtig
Das Job-Feature von Snowpark Container Services befindet sich derzeit in der privaten Vorschau und unterliegt den Nutzungsbedingungen für Vorschau-Features unter https://snowflake.com/legal. Weitere Informationen dazu erhalten Sie bei Ihrem Snowflake-Ansprechpartner.
Weitere Informationen dazu finden Sie unter Verwenden von Diensten und Verwenden von Jobs.
Ihre Dienste und Jobs werden in einem Computepool ausgeführt, der eine Sammlung von einem oder mehreren VM-Knoten (virtuelle Maschinen) darstellt. Sie erstellen zunächst einen Computepool mit dem Befehl CREATE COMPUTE POOL und geben dann beim Erstellen eines Dienstes oder eines Jobs diesen Computepool an. Zu den erforderlichen Informationen für das Erstellen eines Computepools gehören der Maschinentyp, die Mindestanzahl von Knoten, mit denen der Computepool gestartet werden soll, und die maximale Anzahl von Knoten, auf die der Computepool skaliert werden kann. Einige der unterstützten Maschinentypen stellen GPU bereit. Weitere Informationen dazu finden Sie unter Verwenden von Computepools.
Die Ausführung von Jobs erfolgt unabhängig bis zum Abschluss. Die Ausführung von Diensten dagegen erfolgt kontinuierlich, wobei mit einem Dienst kommuniziert werden kann.
Sie können Dienstfunktionen verwenden, um mit einem Dienst von einer SQL-Abfrage aus zu kommunizieren. Sie können öffentliche Endpunkte konfigurieren, um den Zugriff auf den Dienst von außerhalb von Snowflake zu ermöglichen, wobei die Zugriffssteuerung von Snowflake verwaltet wird. Snowpark Container Services unterstützt auch die Kommunikation von Dienst zu Dienst. Weitere Informationen dazu finden Sie unter Verwenden eines Dienstes.
Verfügbare Regionen¶
Snowpark Container Services ist derzeit in allen kommerziellen AWS-Regionen verfügbar.
Die private Vorschau für Azure und Google Cloud wird zu einem späteren Zeitpunkt angekündigt.
Nächste Schritte¶
Wenn Snowpark Container Services neu für Sie sind, empfehlen wir Ihnen, zunächst die Tutorials auszuführen und dann mit anderen Themen fortzufahren, um mehr zu erfahren und eigene containerisierte Anwendungen zu erstellen. Unter folgenden Themen finden Sie weitere Informationen:
Tutorials: Diese Einführungstutorials bieten Ihnen Schritt-für-Schritt-Anleitungen, um Snowpark Container Services kennenzulernen. Nach der Einführung können Sie mit fortgeschrittenen Tutorials fortfahren.
Referenz für Dienst- und Jobspezifikationen: Diese Referenz erläutert die YAML-Syntax zum Erstellen einer Spezifikation für einen Dienst oder Job.
Verwenden von Diensten und Jobs: Diese Themen enthalten Details zu den Snowpark Container Services-Komponenten, die bei der Entwicklung von Diensten und Jobs verwendet werden:
Referenz: Snowpark Container Services stellt die folgenden SQL-Befehle und Systemfunktionen bereit:
Weitere Informationen zu SQL-Befehlen finden Sie unter Snowpark Container Services-Befehle.
Systemfunktionen: SYSTEM$CANCEL_JOB, SYSTEM$GET_SERVICE_LOGS, SYSTEM$GET_SERVICE_STATUS, SYSTEM$GET_JOB_LOGS und SYSTEM$GET_JOB_STATUS
Abrechnung: Unter diesem Thema werden die mit der Nutzung von Snowpark Container Services verbundenen Kosten erläutert: