Zum Hauptinhalt springen
Version: Weekly Build

Services bereitstellen

Dieser Leitfaden bietet einen umfassenden Überblick über den Lebenszyklus eines Managed Service in Codesphere. Er behandelt die praktischen Schritte zum Bereitstellen, Konfigurieren, Verwalten und schließlich Löschen von Services.

Managed Services bereitstellen

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

Ein Managed Service kann entweder ein eigenständiges Deployment sein oder in den Lifecycle einer Landscape integriert werden. Dieser Leitfaden beschreibt, wie ein eigenständiger Service bereitgestellt wird. Informationen zum Bereitstellen von Services als Teil einer Landscape finden sich im Abschnitt Managed Services in Landscapes.

  1. Navigieren: Gehe zum Tab Managed Services. Managed Service Catalog

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

  3. Konfigurieren: Ein Konfigurationsdialog wird angezeigt. Lege die initialen Parameter fest. Nicht erforderliche Parameter können bei ihren Standardwerten bleiben und später bei Bedarf angepasst werden. Manche Parameter (wie der Benutzername in diesem PostgreSQL-Beispiel) haben spezifische 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 Services erfordern Secrets. Generiere sie auf deinem Rechner und trage sie hier ein. Codesphere zeigt diese Secrets nach diesem Schritt nicht erneut an, also stelle sicher, dass sie sicher gespeichert werden. Gehen sie verloren, müssen die Secrets zurückgesetzt werden, was zu einer Downtime des Service 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 Service von Creating zu Synchronized übergeht. Managed Service Table Synchronized Verwende das Event-Log, um weitere Details zum Bereitstellungsprozess zu erhalten. Bei Problemen während des Deployments liefert das Event-Log Einblicke, was schiefgelaufen ist und wie es behoben werden kann. Managed Service Details Events

info

Die Bereitstellungszeit variiert je nach Service. Komplexe Datenbanken können einige Minuten benötigen, bis sie vollständig betriebsbereit sind.

Wie geht es weiter?

Sobald der Service läuft, findest du in der Managed Service Provider Reference Informationen, wie auf den jeweiligen Service aus dem Workspace zugegriffen werden kann.

Aktualisieren / Konfigurieren

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

  1. Auffinden: Suche den bereitgestellten Service, der aktualisiert werden soll.
  2. Einstellungen öffnen: Klicke auf das Zahnrad-Symbol rechts in der Tabellenzeile, um die Detailansicht des Service zu öffnen.
  3. Bearbeiten: Navigiere zum Tab Configuration und klicke auf „Edit Configuration“. Dadurch werden die konfigurierbaren Parameter bearbeitbar. Beachte, dass nicht jede Option, die im Erstellungs-Workflow verfügbar war, auch für die Aktualisierung verfügbar ist. Muss ein nicht editierbarer Parameter geändert werden, muss der Service gelöscht und mit der gewünschten Konfiguration neu erstellt werden. Managed Service Details Config
  4. Anwenden: Klicke auf Save, um die Änderungen anzuwenden. Der Status des Service ändert sich 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 Event-Log.

warnung

Manche Konfigurationsänderungen können einen Neustart des Service auslösen, was zu einer kurzen Downtime führt.

Upgrade auf eine neue Version

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

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

1. Git Checkout

Die verwaltete Landscape führt einen Git-Checkout der im 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 für das Pullen vom Remote verwendet.

2. Neustart

Die CI/CD-Pipeline der verwalteten Landscape wird neu gestartet (stop all, gefolgt von run all). Das in der Provider-Definition für die neue Version angegebene CI-Profil wird verwendet. Der Service ist während der Dauer des Neustarts 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 auftretenden Problemen kann durch das Senden einer Aktualisierungsanfrage mit der vorherigen Version wieder ein Downgrade durchgeführt werden.

Pausieren

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

Funktionsweise

Nicht jeder Service unterstützt das Pausieren. Wenn ein Service pausiert werden kann, wird diese Option unter den capabilities des Service angezeigt. Die Capabilities können über den GET providers-Endpunkt der öffentlichen API abgerufen werden.

  • Pausieren: Nimmt den Service offline und gibt die Compute-Ressourcen (CPU & RAM) frei. Der Service-Status ändert sich zu Paused oder Stopped.
  • Fortsetzen: Stellt die Compute-Ressourcen erneut bereit und bringt den Service wieder online.

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

Derzeit wird das Pausieren von Managed Services nur über die öffentliche API unterstützt. Nutze den API-Tab für Anweisungen.

Datenpersistenz

Bei von Codesphere verwalteten Services wie Managed Storage oder Object Store bleiben die Daten während einer Pause sicher. Das dem Service zugeordnete persistente Volume (Disk) wird nicht gelöscht. Beim Fortsetzen des Service wird es wieder an dasselbe Volume angehängt, sodass alle Daten erhalten bleiben.

Landscape-basierte und benutzerdefinierte Provider

Dieses Verhalten gilt derzeit für eigenständige Managed Services. Bei Services, die in Landscape-Lifecycles 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 Services 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 (z. B. PostgreSQL und Babelfish). Dadurch können Daten sicher in einem externen S3-kompatiblen Dienst gespeichert werden.

Vollständige Anweisungen zur Konfiguration automatisierter Backups, zur Durchführung manueller Backups und zur Wiederherstellung eines Service zu einem früheren Zeitpunkt oder anhand einer Backup-ID finden sich im dedizierten Leitfaden Managed Service Backups.

Managed Services löschen

Das Löschen eines Service ruft den Löschendpunkt eines Managed Service Backends auf. Bei von Codesphere angebotenen Managed Services werden dabei alle mit diesem Service verbundenen Ressourcen entfernt.

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

Löschablauf

  1. Soft Delete: Der Service wird mit einem deletedAt-Zeitstempel markiert. Der Service-Status ändert sich zu Deleting.
  2. Finales Backup (falls aktiviert): Unterstützt der Anbieter Backups und sind Backups für den Service aktiviert, stellt der Reconciler sicher, dass nach Beginn der Löschung ein Backup geplant wird, und wartet, bis dieses Backup bestätigt ist, bevor fortgefahren wird.
  3. Löschung beim Provider: Der Reconciler sendet die Löschanfrage an das Provider-Backend, das daraufhin Compute-Ressourcen und persistente Daten entfernt.
  4. Aufbewahrungszeitraum: Der soft-gelöschte Service-Datensatz bleibt für einen Aufbewahrungszeitraum sichtbar und wird anschließend durch den Cleanup-Prozess endgültig gelöscht. Während dieses Zeitraums kann der Service weiterhin eingesehen werden, indem in der Service-Tabelle „Show recently Deleted“ aktiviert wird.
  1. Navigieren: Gehe zur Seite der Service-Tabelle.
  2. Löschen: Finde die Schaltfläche „Delete“ im 3-Punkte-Menü. Managed Service Table Delete
  3. Bestätigen: Zur Bestätigung der Aktion muss der Name des Service eingegeben werden.

warnung

Das Löschen eines Managed Service ist endgültig. Dabei werden sowohl die Compute-Ressourcen als auch das persistente Datenvolume entfernt. Diese Aktion kann nicht widerrufen werden. Kürzlich gelöschte Services können über das Kontrollkästchen „Show recently Deleted“ angezeigt werden, sie können jedoch nicht wiederhergestellt werden.