Zum Hauptinhalt springen
Version: Weekly Build

Bereitstellen von Diensten

Diese Anleitung bietet einen umfassenden Überblick über den Lebenszyklus eines Managed Service in Codesphere. Sie behandelt die praktischen Schritte zum Bereitstellen, Konfigurieren, Warten und schließlich Löschen von Diensten.

Bereitstellen von Managed Services

Das Bereitstellen eines Managed Service kann über die Codesphere-UI oder die öffentliche API erfolgen.

Ein Managed Service kann entweder eine eigenständige Bereitstellung sein oder in den Landscape-Lebenszyklus integriert werden. Diese Anleitung behandelt die Bereitstellung eines eigenständigen Dienstes. Informationen zur Bereitstellung von Diensten als Teil einer Landscape finden sich im Abschnitt Managed Services in Landscapes.

  1. Navigieren: Wechsle zum Tab Managed Services. Managed Service Katalog

  2. Auswählen: Wähle den gewünschten Service-Provider aus dem Katalog. Dienste sind mit Kategorien gekennzeichnet (z. B. Database, Cache). In diesem Beispiel wählen wir PostgreSQL. Klicke auf „Start Setup“.

  3. Konfigurieren: Es erscheint ein Konfigurationsdialog. Lege die anfänglichen Parameter fest. Nicht erforderliche Parameter können auf ihren Standardwerten belassen und bei Bedarf später aktualisiert werden. Manche Parameter (wie der Benutzername in diesem PostgreSQL-Beispiel) haben spezielle Anforderungen. Bewege den Mauszeiger über das „Info“-Symbol, um mehr zu erfahren. Klicke auf „Define Secrets“, um fortzufahren. Managed Service Create General Setup

  4. Secrets: Die meisten Dienste erfordern Secrets. Erzeuge sie auf deinem Rechner und gib sie hier ein. Codesphere zeigt diese Secrets nach diesem Schritt nicht erneut an, daher solltest du sie sicher aufbewahren. Gehen sie verloren, müssen die Secrets zurückgesetzt werden, was zu einer Ausfallzeit des Dienstes führt. Klicke auf „Create Service“, um fortzufahren. Managed Service Create Secrets

  5. Bereitstellen: Nach dem Klick auf „Deploy“ beginnt Codesphere mit der Bereitstellung der Ressourcen. Wechsle in der linken Seitenleiste zum Tab Managed Services, um den Fortschritt zu verfolgen. Statusanzeigen aktualisieren sich, während der Dienst von Creating zu Synchronized wechselt. Managed Service Tabelle Synchronisiert Nutze das Ereignisprotokoll, um weitere Details zum Bereitstellungsprozess zu erhalten. Sollte es während der Bereitstellung Probleme geben, liefert das Ereignisprotokoll Hinweise darauf, was schiefgelaufen ist und wie es behoben werden kann. Managed Service Details Ereignisse

info

Die Bereitstellungszeiten variieren je nach Dienst. Komplexe Datenbanken können einige Minuten benötigen, bis sie vollständig einsatzbereit sind.

Wie geht es weiter?

Sobald der Dienst läuft, geht es in der Managed Service Provider Referenz weiter, um zu erfahren, wie auf diesen speziellen Dienst aus dem Workspace zugegriffen werden kann.

Aktualisieren / Konfigurieren

Die Konfiguration eines laufenden Dienstes kann angepasst werden, um sich ändernden Anforderungen gerecht zu werden.

  1. Finden: Suche den bereitgestellten Dienst, der aktualisiert werden soll.
  2. Einstellungen öffnen: Klicke auf das Zahnrad-Symbol rechts in der Tabellenzeile, um die Detailansicht des Dienstes zu öffnen.
  3. Ändern: Wechsle zum Tab Configuration und klicke auf „Edit Configuration“. Dadurch werden konfigurierbare Parameter bearbeitbar. Beachte, dass nicht jede Option, die beim Erstellungsvorgang verfügbar war, auch für Updates verfügbar ist. Muss ein nicht bearbeitbarer Parameter geändert werden, muss der Dienst gelöscht und mit der gewünschten Konfiguration neu erstellt werden. Managed Service Details Konfiguration
  4. Anwenden: Klicke auf Save, um die Änderungen zu übernehmen. Der Dienststatus wechselt während der Anwendung der Änderungen von Synchronized zu Updating. Nach Abschluss kehrt er zu Synchronized zurück. Weitere Details zum Aktualisierungsprozess finden sich im Ereignisprotokoll.

warnung

Manche Konfigurationsaktualisierungen können einen Neustart des Dienstes auslösen, was zu kurzen Ausfallzeiten führt.

Upgrade auf eine neue Version

Enthält eine Aktualisierungsanfrage eine Änderung des Versionsparameters, löst dies ein Versions-Upgrade oder eine Downgrade aus. Der Fortschritt kann im Ereignisprotokoll des Managed Service verfolgt werden.

Bei REST-basierten Providern hängt der Upgrade-Prozess von der spezifischen Implementierung des Providers ab. Bei Landscape-basierten Providern läuft er immer wie folgt ab:

1. Git Checkout

Die kontrollierte Landscape führt einen Git-Checkout der in der Provider-Definition für die neue Version angegebenen Git-Referenz durch. Dies kann ein Branch, ein Commit-Hash oder ein Tag sein. Der Git-Token des Benutzers, der die Aktualisierung ausgelöst hat, wird verwendet, um vom Remote zu pullen.

2. Neustart

Die CI/CD-Pipeline der kontrollierten Landscape wird neu gestartet (stop all gefolgt von run all). Dabei wird das in der Provider-Definition für die neue Version angegebene CI-Profil verwendet. Während der Dauer des Neustarts ist der Dienst nicht verfügbar.

warnung

Es gibt kein automatisches Rollback, falls das Upgrade fehlschlägt. Teste den Managed Service nach der Durchführung des Upgrades gründlich. Bei Problemen kann durch das Senden einer Aktualisierungsanfrage mit der vorherigen Version erneut ein Downgrade durchgeführt werden.

Pausieren

Codesphere ermöglicht das Pausieren bestimmter Managed Services, wenn diese nicht aktiv genutzt werden. Dies eignet sich ideal für Entwicklungsumgebungen oder Prototypen.

Funktionsweise

Nicht jeder Dienst unterstützt das Pausieren. Wenn ein Dienst pausiert werden kann, ist diese Option unter den capabilities des Dienstes sichtbar. Die Capabilities können über den öffentlichen API-Endpunkt GET providers endpoint eingesehen werden.

  • Pause: Nimmt den Dienst offline und gibt die Rechenressourcen (CPU & RAM) frei. Der Dienststatus wechselt zu Paused oder Stopped.
  • Resume: Stellt die Rechenressourcen erneut bereit und bringt den Dienst wieder online.

Landscapes pausieren ihre eigenen Dienste automatisch, wenn sie abgebaut werden.

Derzeit wird das Pausieren von Managed Services nur über die öffentliche API unterstützt. Anleitungen finden sich im API-Tab.

Datenpersistenz

Bei von Codesphere verwalteten Diensten wie Managed Storage oder Object Store bleiben die Daten während einer Pause sicher. Das mit dem Dienst verknüpfte persistente Volume (Disk) wird nicht gelöscht. Beim Fortsetzen des Dienstes wird es wieder mit demselben Volume verbunden, sodass alle Daten erhalten bleiben.

Landscape-basierte und benutzerdefinierte Provider

Dieses Verhalten gilt derzeit für eigenständige Managed Services. Bei Diensten, die in Landscape-Lebenszyklen integriert sind, oder bei benutzerdefinierten Service-Providern hängt die Datenpersistenz während der Pause von der jeweiligen Implementierung ab.

tipp

Das Pausieren nicht genutzter Dienste ist eine gute Möglichkeit, Ressourcennutzung und Kosten zu optimieren.

Backups

Codesphere unterstützt automatisierte Backups und Point-in-Time-Recovery für bestimmte Managed-Service-Provider (wie PostgreSQL, Babelfish und Object Storage). Dadurch können Daten sicher in einem externen S3-kompatiblen Dienst gespeichert werden.

Vollständige Anleitungen zum Konfigurieren automatisierter Backups, zum manuellen Ausführen von Backups und zum Wiederherstellen eines Dienstes aus einem früheren Zeitpunkt oder einer Backup-ID finden sich in der dedizierten Anleitung Managed Service Backups.

Löschen von Managed Services

Beim Löschen eines Dienstes wird der Löschendpunkt eines Managed-Service-Backends aufgerufen. Bei von Codesphere angebotenen Managed Services werden dabei alle mit diesem Dienst verbundenen Ressourcen entfernt.

Beim Auslösen einer Löschung beginnt Codesphere immer mit einem Soft Delete. Der Dienst wird mit einem deletedAt-Zeitstempel markiert und wechselt in den Status Deleting.

Löschablauf

  1. Soft Delete: Der Dienst wird mit einem deletedAt-Zeitstempel markiert. Der Dienststatus wechselt zu Deleting.
  2. Abschließendes Backup (falls aktiviert): Unterstützt der Provider Backups und sind diese für den Dienst aktiviert, stellt der Reconciler sicher, dass nach dem Löschvorgang ein Backup geplant wird, und wartet, bis dieses Backup bestätigt wurde, bevor fortgefahren wird.
  3. Löschen beim Provider: Der Reconciler sendet die Löschanfrage an das Provider-Backend, wodurch Rechenressourcen und persistente Daten entfernt werden.
  4. Aufbewahrungszeitraum: Der als Soft Delete markierte Dienstdatensatz bleibt für einen Aufbewahrungszeitraum sichtbar und wird anschließend vom Bereinigungsprozess endgültig gelöscht. Während dieses Zeitraums kann der Dienst weiterhin eingesehen werden, indem in der Diensttabelle „Show recently Deleted“ aktiviert wird.
  1. Navigieren: Gehe zur Seite mit der Diensttabelle.
  2. Löschen: Suche die Schaltfläche „Delete“ im Drei-Punkte-Menü. Managed Service Tabelle Löschen
  3. Bestätigen: Zur Bestätigung der Aktion muss der Name des Dienstes eingegeben werden.

warnung

Das Löschen eines Managed Service ist endgültig. Dabei werden sowohl die Rechenressourcen als auch das persistente Datenvolume entfernt. Diese Aktion kann nicht rückgängig gemacht werden. Kürzlich gelöschte Dienste können über das Kontrollkästchen „Show recently Deleted“ eingesehen werden, sie können jedoch nicht wiederhergestellt werden.