Snowpark Container Services: Sichere Bereitstellung und Ausführung anspruchsvoller generativer KI- und Full-Stack-Apps in Snowflake
Container haben sich als die neue Methode zum Verpacken von Code in jeder Sprache etabliert, um so Übertragbarkeit und Konsistenz über verschiedene Umgebungen hinweg zu gewährleisten. Dies trifft insbesondere bei anspruchsvollen KI-/ML-Modellen und datenintensiven Full-Stack-Apps zu. Derartige moderne Datenprodukte sind auf riesige Mengen an proprietären Daten ausgelegt. Diese Workloads in großem Maßstab zu erstellen, zu entwickeln und auszuführen ist in der Regel äußerst komplex und für Entwickler:innen und Data Scientists sehr zeitaufwendig. So müssen sie Rechenressourcen und Cluster für diese Anwendungen verwalten und können sich dadurch nicht auf Geschäftsprobleme konzentrieren. Da Full-Stack-Apps und LLMs nicht direkt dort ausgeführt werden können, wo die Daten verwaltet werden, ist es außerdem sehr schwierig und manchmal nahezu möglich, die Sicherheit der entsprechenden Daten zu gewährleisten.
Um Full-Stack-Apps, LLMs und andere anspruchsvolle Datenprodukte einfacher auf die Daten sicher anwenden zu können, steht nun Snowpark Container Services in Private Preview bereit. Mit dieser zusätzlichen Snowpark-Laufzeitoption können Entwickler:innen auf eine sichere, von Snowflake verwaltete Infrastruktur mit konfigurierbaren Hardware-Optionen, wie z. B. GPUs, zugreifen und so mühelos containerisierte Workloads (Jobs, Services, Service-Funktionen) bereitstellen, verwalten und skalieren.
So wird den Benutzer:innen die komplexe Verwaltung und Wartung von Rechenressourcen und Clustern für Container erspart. Da die Container in Snowflake ausgeführt werden, müssen kontrollierte Daten nicht mehr aus Snowflake verschoben (und somit zusätzlichen Sicherheitsrisiken ausgesetzt) werden. So können diese Daten für die komplexesten KI-/ML-Modelle und -Apps verwendet werden, die als Snowflake Native Apps über den Snowflake Marketplace installiert werden können, unabhängig davon, ob sie intern oder von Drittanbietern entwickelt wurden.
Snowpark Container Services– Überblick
Flexibilität in Bezug auf Programmiersprache und Hardware
Die Container, die von den Entwickler:innen mit den Tools ihrer Wahl erstellt und verpackt werden, können Code in jeder beliebigen Programmiersprache enthalten (z. B. C/C++, Node.js, Python, R, React usw.) und mit konfigurierbaren Hardware-Optionen, einschließlich GPUs, ausgeführt werden. Dank dieser Flexibilität in Bezug auf Programmiersprache und Hardware können mit Snowpark mehr KI-/ML- und App-Workloads auf Snowflake-Daten angewendet werden.
So können z. B. Data-Science-Teams die Python-Bibliotheken für maschinelles Lernen (ML), die für Trainings- und Inferenzaufgaben verwendet werden, schneller ausführen. Auch rechenintensive generative KI wie Large Language Models (LLMs) können ausgeführt werden. App-Entwickler:innen können Frontend-Benutzeroberflächen mit React und anderen gängigen Web-Development-Frameworks erstellen und bereitstellen. Data Engineers können die meist in C/C++ geschriebenen Algorithmen in derselben Verarbeitungs-Engine ausführen, die auch für SQL- oder Python DataFrame-Befehle verwendet wird.
Seit der Einführung von Snowpark im Jahr 2020 kann Python-, Java- und Scala-Code in Snowflake über eine Reihe von Bibliotheken und Laufzeiten – einschließlich User Defined Functions (UDFs) und Stored Procedures – sicher bereitgestellt und verarbeitet werden. Getreu der Snowpark-Vision stellt Snowpark Container Services eine weitere zuverlässige, leistungsstarke und vertraute Möglichkeit für Entwickler:innen dar, jeden Nicht-SQL-Code innerhalb der von Snowflake festgelegten Grenzen für kontrollierte Daten mühelos zu verarbeiten. Wie auch sonst bei Snowpark können der Code und die Algorithmen von jeder Snowflake-Anwendung aus abgerufen und integriert werden. Benutzer:innen können Datenabfragen in SQL, Python, Java oder Scala schreiben, um Daten über Container zu verarbeiten, die in Snowpark Container Services ausgeführt werden.
Vollständig verwaltete und vereinheitlichte Services
Snowpark Container Services bietet eine einfache und einheitliche Lösung für den End-to-End-Lebenszyklus von containerisierten Anwendungen und KI-/ML-Modellen. Bei anderen Lösungen müssen Sie eine Container Registry, einen Container Management Service und einen Rechen-Service manuell zusammenstellen und Ihre eigenen Tools für Beobachtbarkeit, Datenkonnektivität, Sicherheit usw. verwalten.
Entsprechend der Philosophie von Snowflake, nach der die Plattform „einfach funktioniert“, bringt Snowpark Container Services all diese Komponenten zusammen. So müssen Rechenressourcen und Cluster nicht mehr gewartet werden, was die Entwicklung und Einführung von Data Applications beschleunigt. Dank Snowpark Container Services können Container einfach und effizient gehostet und verwaltet werden, sodass Entwickler:innen ihre Container lediglich zur Verfügung stellen müssen. Diese werden dann von Snowflake skalierbar gehostet und bereitgestellt, ohne dass Entwickler:innen sich mit der Komplexität von Kubernetes auseinandersetzen müssen.
Um die Container zugänglicher zu machen, können Entwickler:innen SQL, CLI oder Python als Programmierschnittstelle verwenden. Snowpark Container Services bietet drei Ausführungsoptionen an, wodurch eine Vielzahl von Workloads unterstützt wird:
- Jobs: Zeitlich begrenzte Prozesse, die entweder manuell und ad-hoc oder als Teil eines geplanten Prozesses ausgelöst werden. Gängige Beispiele sind Container-Images, die zu Beginn von ML-Training auf GPUs verwendet werden, oder ein Schritt in einer Daten-Pipeline, bei dem eine beliebige Sprache, ein Framework oder eine Bibliothek innerhalb eines Containers ausgeführt wird.
- Service-Funktionen: Zeitlich begrenzte Prozesse, die Eingaben entgegennehmen, Aktionen ausführen und wiederholt durch ein von Ihren Containern unterstütztes Ereignis ausgelöst werden können.
- Services: Andauernde Prozesse mit gesicherten Eingangs-Endpunkten, die in der Regel ein Anwendungs-Frontend oder eine API hosten und für On-Demand-Anfragen jederzeit verfügbar sein müssen.
Anwendung hochentwickelter Software und Apps von Drittanbietern auf Daten
Snowpark Container Services kann als Teil einer Snowflake Native App verwendet werden, damit Entwickler:innen anspruchsvolle Apps vertreiben können, die vollständig im Snowflake-Konto des Endkunden ausgeführt werden. So können Snowflake-Kunden hochmoderne Produkte wie gehostete Notebooks und LLMs sicher in ihrem Snowflake-Konto installieren und ausführen – und zwar so, dass das proprietäre geistige Eigentum des Anbieters geschützt ist.
- Hex. Data-Science-Teams können ihre Analysen und Data Science mit Snowpark Container Services beschleunigen und Hex, eine Plattform für kollaborative Analysen und Data Science, einsetzen, um ihre Daten mit SQL, R und Python abzufragen und zu verarbeiten sowie maschinelles Lernen auf GPUs zu trainieren. Dabei ist die Sicherheit der Daten im Snowflake-Konto des Kunden sichergestellt. Sehen Sie sich das Demo-Video an und tragen Sie sich in die Warteliste für die Bereitstellung von Hex in Snowflake ein.
- LLM-Anbieter. Unternehmen können hochmoderne generative KI-Modelle in ihrem Snowflake-Konto als native Snowflake-Apps bereitstellen, bei denen sowohl das geistige Eigentum des Anbieters als auch die Daten der Kunden vollständig geschützt sind. Bei Anbietern wie AI21 Labs, Reka oder NVIDIA (NeMo-Framework, Teil der Software-Plattform NVIDIA AI Enterprise) sind LLMs oder sonstiges proprietäres geistiges Eigentum für den:die App-Benutzer:in nicht sichtbar, da die Algorithmen in der Snowflake Native App nicht zugänglich sind. Da das LLM im Konto der Endnutzer:innen ausgeführt wird, werden kontrollierte Unternehmensdaten, die für die Feinabstimmung oder andere Interaktionen mit dem LLM verwendet werden, niemals dem:der Entwickler:in offengelegt. Dies wird Ihnen im Keynote-Demo-Video vom Snowflake Summit 2023 veranschaulicht.
Mit dieser neuen Snowpark-Laufzeit wird das Snowpark Accelerated-Partner-Ökosystem weiter ausgebaut und gestärkt. Dabei wird die leistungsstarke Plattform von Snowflake verwendet, um die Nutzererfahrung für technische und geschäftliche Teams durch die integrierten Services und Anwendungen unserer Partner zur Verarbeitung kontrollierter Daten zu verbessern.
- Alteryx. Erstellen Sie einen Workflow in Alteryx Designer und wählen Sie aus über 160 codefreien und codefreundlichen Tools, um ein kompliziertes Analyseproblem, wie z. B. die Erstellung eines Modells zur Vorhersage der Nachfrage, zu lösen. Laden Sie den Workflow auf die Alteryx Analytics Cloud Platform hoch und führen Sie die Algorithmen in Snowpark Container Services aus.
- Astronomer. Nutzen Sie Apache Airflow für die effizientere Orchestrierung komplexer und leistungsfähiger Daten-Pipelines – von erweiterter Planung, dem Senden von Warnmeldungen, Überwachung, komplexen Verzweigungs- und Wiederholungsalgorithmen und vielem mehr –, indem Sie den Code ohne Abhängigkeitsmanagement und spezielle Rechenbeschränkungen auf die Daten anwenden.
- Dataiku. Stellen Sie in Dataiku trainierte Modelle in Snowpark Container Services als skalierbaren Inferenz-Service bereit. Mit einer Web-Anwendung kann Dataiku Funktionen in das Modell einspeisen und sofort Vorhersagen von den Snowpark Container Services erhalten.
- NVIDIA. NVIDIA-GPUs dienen als beschleunigte Infrastrukturebene für Snowpark Container Services, die Snowflake-Kunden effizientere, leistungsfähigere und kostengünstigere Rechenressourcen bieten.
- SAS. Nutzen Sie SAS® Viya® für die Modellentwicklung und das Entscheidungstraining mit Daten in Snowflake, indem Sie das Champion-Modell über SAS Container Runtime in Snowpark Container Services veröffentlichen. SAS Container Runtime ist ein OCI-konformer Container, der eine schnelle Entwicklung und einfache Bereitstellung ermöglicht.
Snowpark Container Services enthält viele weitere integrierte Partnerlösungen, darunter speziell entwickelte Datenbanken (RelationalAI, Pinecone, CARTO), ML und MLOps (H2O.ai, Kumo AI, Weights & Biases) sowie komplette Anwendungen (Amplitude).
Die Zukunft von Snowpark Container Services
Snowpark Container Services schafft die Voraussetzungen für eine neue Ära der App-Entwicklung, in der es keine Grenzen für die Nutzung von Snowflake gibt. Aber wir haben noch viel mehr für diese neue Snowpark-Laufzeit geplant, wie z. B. die Umsetzung der Vision, Snowflake Native Apps mit Container-Images über den Snowflake Marketplace anzubieten.
Melden Sie sich hier an, um über Snowpark Container Services auf dem Laufenden zu bleiben.