Lifecycle

Der Continuous Integration (CI) -Prozess ist das Konzept, das es Ihnen ermöglicht, eine Software einzusetzen, die immer aktualisiert und ständig weiterentwickelt wird, ohne strenge Fristen für die Erledigung aller vom Entwicklungsteam verfolgten Aufgaben einhalten zu müssen.

Das CI wird gerade deshalb so genannt, weil die Integration des neuen Codes schnell und ohne Unterbrechungen erfolgt, ohne auf die Fertigstellung der Abschnitte der anderen Entwickler oder anderer Teams warten zu müssen.
Entwickler können dem Basissystem jederzeit Code hinzufügen, sogar mehrmals am Tag, da der Quellcode offen und verfügbar bleibt. Dies bietet die Möglichkeit, kleinere Codeteile einzufügen, mit der Folge, dass weniger Ressourcen verwaltet und koordiniert werden müssen, beispielsweise bei Fehlern, die sofort erkannt und im besten Fall sofort behoben werden können.

Die Struktur, die das CI verwaltet, benötigt einige Grundvoraussetzungen, wie zum Beispiel:

  • Das Repository
  • Ein CI-Server (Continuous Integration)
  • Verwaltung von Containern

Das Repository ist der Bereich, in dem der Code von den Entwicklern freigegeben wird. Notwendig, um die zugehörigen Builds (der Prozess der Transformation von Quellcode zu Binärcode, um die Ausführung der Anweisungen zu ermöglichen) und Tests zu automatisieren und ist daher für den gesamten Prozess unerlässlich.
Sobald der Code durch die Zusammenfassung zu Containern ausführbar gemacht wurde, wird er installiert, um die Anwendung zu verwenden. Die verwendeten Anwendungstechnologien sind GIT für das Repository, Jenkins für die CI, Docker für die Software-Containerisierung und schließlich Ansible für den Einsatz der Umgebung.

Das containerisierte Produkt kann auf zwei Arten in einer Cloud-Infrastruktur bereitgestellt werden, die erste geplante und die zweite stattdessen in Continuous Deployment.

Der letztgenannte Prozess wird derzeit in der Testumgebung verwendet, indem eine tägliche Bereitstellung des Produkts durchgeführt wird, sobald der Fluss des CI abgeschlossen ist, um der Testerabteilung alle Überprüfungen der Mago Cloud-Anwendung zu ermöglichen.

Canary Updates

Nach der Bereitstellungsaktivität, die zu einer späteren Versionserhöhung und damit zu einer Reihe von Änderungen am Abonnement führt, ist es notwendig, die neu aktualisierten Abonnements in Betrieb zu nehmen.

Jedes Mal, wenn ein Benutzer über Anmeldeinformationen auf die Anwendung zugreift, identifiziert das Authentifizierungssystem den Benutzer und das Abonnement. Sobald das MagoCloud-Abonnement identifiziert wurde, versteht das System, welche Microservices das Abonnement über eine Karte verwenden kann. Diese Zuweisung ist mit dem Abonnement für die gesamte Arbeitssitzung des Benutzers verknüpft.

Dank dieses Konzepts der Instance Map wird das Abonnement jedes Mal, wenn das Mago Cloud-Produkt aktualisiert werden muss, auf eine neue Zuweisung migriert, die die Adressen der neuen Microservices enthält. Dies geschieht automatisiert, um die Auswirkungen auf den Betrieb des Endbenutzers zu minimieren.

Dieses System, genannt Canary Update, ist für die Migration aller Abonnements auf eine neue Version der Software verantwortlich. Das System verwaltet automatisch das Upgrade der Datenbank und die für den Betrieb der Anwendung erforderlichen Konfigurationen.

Das Canary Update funktioniert über Migrationspläne, die sich auf Gruppen von Abonnements beziehen. Dank dieser verteilten Upgrade-Strategie können Abonnements bis zur Upgrade-Verschiebung ungestört weiterarbeiten. Die grundlegende Aufgabe besteht darin, die Updates im Hintergrund durchzuführen, um eine Blockierugn der Systeme durch die Aktualisierungszeiten zu vermeiden dem Anwender einen ungehinderten Zugang zur Anwendung zu gewährleisten.

Ein weiterer Vorteil des Canary-Systems ist die Möglichkeit, alle Probleme, die während des Updates auftreten können, zu isolieren, das System erkennt Fehlersituationen und kann verhindern, dass sie an die verbleibenden Abonnements weitergegeben werden.

Wir sind für Sie da!
Schildern Sie uns Ihr Problem, wir bieten die Lösung.