Vendor Info

This page is currently only available in German. An English page will be provided soon.

Anmerkung: Der Marketplace ist im Unterschied zu den übrigen Funktionen in unserem Partner Panel und Cloud Panel ausschließlich in englischer Sprache verfügbar. Damit reduzieren wir den Implementierungsaufwand und verhindern, dass unsere Partner sämtliche Texte zweisprachig verfassen und verwalten müssen.

Darum verwenden wir auch in diesem Dokument die entsprechenden englischen Begriffe ohne Übersetzung.

Übersicht

Über den gridscale Marketplace können die Nutzer von Vendoren angebotene Applications nutzen.

gridscale unterhält einen Marketplace, in dem Vendoren Applications für Nutzer anbieten

  • Nutzer sehen im Cloud Panel (oder per API) die verfügbaren Applications
  • Wenn ein Nutzer eine Application verwenden möchte, wird im Marketplace eine Instance der Application für diesen Nutzer erstellt und eine entsprechende Anfrage an die jeweilige VendorAPI geschickt
  • Der Vendor erstellt dann auf seiner Seite die Instance und richtet den Zugang für den Nutzer ein. Wenn das abgeschlossen ist, wird eine entsprechende Statusmeldung als CloudEvent an den Marketplace geschickt.
    • In der aktuellen Ausbaustufe des Marketplace muss der Nutzer-Zugriff auf die Application Instance über das öffentliche Netz erfolgen. In den kommenden Monaten werden wir eine Verbindung über private Netze ermöglichen.
  • Für Applications mit nutzungsabhängigen Kosten übermittelt der Vendor einmal täglich die entsprechenden Werte - ebenfalls als CloudEvent - an den Marketplace.

Was muss ein Vendor tun und bereitstellen?

grafische Darstellung der im nächsten Abschnitt aufgeführten Stichpunkte
  • Katalogeintrag für die Application
    • für den Betrieb notwendige Daten
    • Informationen, die den Nutzern im Marketplace angezeigt werden
    • Aktuell gibt es noch keine API, um Application-Daten zu verwalten. Der Vendor übermittelt die Daten in einer .json Datei
  • VendorAPI
    • Schnittstelle an der die Application vom Marketplace angesprochen wird
    • muss entsprechend der gridscale vendorAPI-Spezifikation implementiert werden
    • folgt dem JSON:API Standard
    • das VendorSDK (siehe unten) unterstützt bei der Implementierung
  • die eigentliche Application
    • Zugänglich übers Internet (übergangsweise, bis private Netzwerkverbindung im Marketplace implementiert wurde)
    • das VendorSDK unterstützt bei der Automatisierung von gridscale IaaS Ressourcen und Accounts, um die Verwaltung von Application Instances zu erleichtern
  • Usage Reporting
    • Optional
    • Wenn die Kosten der Application nutzungsabhängig sind (z.B. Speicherplatz-Nutzung bei DBaaS) muss täglich ein Report gesendet werden
    • entsprechend der CloudEvents-Spezifikation

Wie sieht eine Application im Katalog aus?

Eine Application hat einige Hauptmerkmale, die den Nutzern im Marketplace angezeigt werden. Das sind:

  • Name
  • Beschreibung der Application
  • Name und Kontaktdaten des Vendors
  • Versionen (bei einer MariaDB aaS z.B. Versionen 10 und 11)
  • Pläne
    • Jeder Plan verfügt über ein eigenes Preismodell
    • Pläne werden per Version angelegt und definieren einen Funktionsumfang oder eine Leistungs-Klasse. Bei einer DBaaS könnten sich Pläne z.B. durch die verfügbare Rechenleistung unterscheiden. Bei einem SaaS-Angebot könnten bestimmte Features nur in teureren Plänen freigeschaltet werden.
    • Jeder Plan hat einen eigenen Beschreibungstext zusätzlich zur Beschreibung der Application.
  • Settings
    • Eingaben, die Nutzer beim Anfragen einer Instance machen müssen (z.B. E-Mail-Adresse). Es gibt eine Unterscheidung zwischen verpflichteten und optionalen Settings, wie z.B. der Auswahl einer Sprache bei einem SaaS-Angebot.

Was ist aktuell im Marketplace möglich und welche Features sind geplant?

Aktuelle Möglichkeiten im Marketplace (MVP-Version):

  • Vendoren können Applications im Marketplace anbieten
  • die Applications müssen für Nutzer über das Internet zugänglich sein
  • Nutzer können grundlegende Aktionen ausführen:
    • Applications anfragen
    • Applications löschen
  • Für jede Application können verschiedene Versionen erstellt werden. Dazu jeweils mehrere Pläne mit frei definierbaren Kostenmodellen. Die Kosten können sich aus festen sowie nutzungsabhängigen Komponenten zusammensetzen. Bei nutzungsabhängigen Kosten erwartet der Marketplace eine tägliche Übermittlung der Nutzungsdaten (z.B. genutzte GB Festplattenspeicher).
Für eine Application kann es mehrere Versionen geben. Jede Version mehrere Pläne. Ein Plan definiert die Kosten für den Nutzer und besteht aus beliebigen Preiskomponenten.

Für jede Application entscheidet der Vendor über die Visibility. Steht diese auf public, ist die Application für alle Partner sichtbar, und diese können sie für ihre Konten freigeben. Steht sie auf private, kann lediglich der Vendor die Application für Konten in seinem eigenen Partner freigeben - beispielsweise zu Testzwecken, oder wenn eine Application ausschließlich für die Verwendung innerhalb der eigenen Firma bereitgestellt wird.

bildliche Darstellung des oberhalb beschriebenen Visibility

Geplante Features für die Zukunft:

  • Update-Möglichkeiten: Vendoren werden unterhalb einer Version Releases von Minor-Versions anbieten können, um Nutzern zu ermöglichen ihre laufenden Instances aktuell halten
  • Upgrade-Möglichkeiten: Nutzer werden zwischen verschiedenen Versionen und/oder Plänen einer Anwendung wechseln können.

Roadmap

Der Marketplace wird konstant um weitere Features ergänzt. Die wichtigsten Meilensteine für die kommenden Monate sind:

Automatisierte Abrechnung

Die automatisierte Abrechnung von Application Instances ist ein laufendes Projekt. Im ersten Schritt wurde der Empfang von Nutzungsdaten als Cloud Events implementiert. Das gesamte Abrechnungsprojekt wird zeitnah abgeschlossen sein.

Private Netzwerke für Applications

Um eine Application Instance (bzw. die dahinterstehende Infrastruktur) mit der Server-Infrastruktur eines Nutzers zu verbinden, ist eine private Netzwerkverbindung zwischen den beiden Konten nötig. Ein solche - Partner übergreifende - Verbindung wird von unserem SDN im Moment noch nicht unterstützt. Das Projekt, in dem das SDN um diese Funktion erweitert werden soll, wird aktuell vorbereitet.

Mit der geplanten Umsetzung wird eine Einschränkung weiterhin bestehen bleiben: Die private Netzwerkverbindung wird nicht zwischen verschiedenen Locations möglich sein. Die Infrastruktur hinter der Application Instance muss also in derselben Location laufen wie das Projekt des Nutzers. Das bedeutet, dass VendorAPI-seitig beim Empfang einer “create Application Instance”-Anfrage in einem gridscale Konto des Vendors ein neues Projekt an der entsprechenden Location erstellt und alles weitere in diesem Projekt hochgezogen werden muss, (wenn die Application eine private Netzwerkverbindung benötigt).

API für die Verwaltung des Application Katalogs (2024)

Wie oben erwähnt, fehlt noch eine API für die Verwaltung von Application-Daten. Diese werden wir im kommenden Jahr hinzufügen.

Was ist das VendorSDK?

Das VendorSDK ist eine Sammlung von Python Libraries. Wir entwickeln es mit dem Ziel, es Vendoren möglichst einfach zu machen, die für den Betrieb einer Marketplace Application nötige API und Infrastruktur aufzusetzen und zu verwalten.

Es wird als Open Source Software über den gridscale github account veröffentlicht und enthält die folgenden Libraries:

  • gs-vendor-api
    • Ermöglicht das einfache Aufsetzen einer API, entsprechend der VendorAPI-Spezifikation (JSON:API- und OpenAPI-konform)
  • gs-vendor-command und Unterpakete (gs-vendor-command-gridscale-account, gs-vendor-command-gridscale-infrastructure) (siehe auch: command pattern)
    • Ermöglicht das automatisierte Verwalten von gridscale IaaS Ressourcen und gridscale Accounts. Wir werden nach und nach Pakete für verschiedene open source Anwendungen (z.B. nomad, helm,…) hinzufügen. Damit vereinfacht diese Bibliothek das Aufsetzen der nötigen Infrastruktur.
  • gs-vendor-marketplace-events
    • Hilft beim Implementieren von Events, entsprechend der Cloud Events-Spezifikation. Diese werden zur Übermittlung von Informationen vom Vendor zum Marketplace eingesetzt - z.B. Statusmeldungen wie “Provisionierung abgeschlossen” und das tägliche Usage Reporting.
  • gs-vendor-distributed-celery
    • Die VendorAPI-Spezifikation verlangt eine asynchrone Aufgabenbehandlung. Dieses Paket integriert zu diesem Zweck Celery Tasks in die VendorAPI.

Glossar

Applications - All das, was im Marketplace für die Nutzer verfügbar ist

(Application) Instance - Wenn ein Nutzer eine Application im Marketplace anfragt, wird für den Nutzer eine Instanz davon erstellt. Über die ID dieser Instanz erfolgen dann alle weiteren Schritte (read, delete, usage reporting,…)

Vendor - Ein gridscale Partner, der Applications im Marketplace anbietet

VendorAPI - Schnittstelle einer Application, über die diese vom Marketplace angesprochen wird

VendorSDK - Sammlung von Software Libraries (siehe: Was ist das VendorSDK?)