AP2_FIAE - Build- und Release-Prozesse - Deployment und Bereitstellung

Deck: AP2_FIAE Kategorie: Build- und Release-Prozesse Subkategorie: Deployment und Bereitstellung Anzahl Karten: 23


Was sind Deploymentverfahren?::Deploymentverfahren sind Techniken, die verwendet werden, um Softwareanwendungen erfolgreich und sicher von der Entwicklungsumgebung in Produktionsumgebungen zu überführen.

Was ist ein Rolling Update?::Bei einem Rolling Update wird die neue Version der Anwendung schrittweise auf die Produktionsumgebung ausgerollt, indem die einzelnen Instanzen der Anwendung nach und nach aktualisiert werden, bis alle Instanzen auf der neuen Version laufen.

Welche Vorteile hat ein Rolling Update?::Minimierung der Downtime, da immer eine Instanz der Anwendung verfügbar ist. Einfacher Rückweg, falls Probleme auftreten, da nicht alle Instanzen gleichzeitig aktualisiert werden.

Welche Nachteile hat ein Rolling Update?::Inkonsistenzen zwischen den Versionen der Anwendung während des Deployments könnten zu unerwartetem Verhalten führen. Schwieriger zu managen, wenn komplexe Datenmigrationen erforderlich sind.

Was ist ein Blue-Green-Deployment?::Beim Blue-Green-Deployment werden zwei produktionsbereite Umgebungen (die blaue und die grüne) parallel betrieben. Zu Beginn ist die “blaue” Umgebung aktiv, während die “grüne” Umgebung die neue Version der Anwendung erhält.

Welche Vorteile hat ein Blue-Green-Deployment?::Fast sofortige Umstellung bei minimaler Downtime. Einfache Rückkehr zur alten Version, falls die neue Version Probleme aufweist.

Welche Nachteile hat ein Blue-Green-Deployment?::Erfordert doppelte Ressourcen für die zwei Umgebungen, was zu höheren Kosten führen kann. Synchronisation der Daten zwischen den beiden Umgebungen kann herausfordernd sein.

Was ist ein Canary-Release?::Canary-Release ermöglicht es, die neue Version der Anwendung zunächst nur einem kleinen Teil der Benutzer zugänglich zu machen. Basierend auf dem Feedback und dem Verhalten der Anwendung bei diesen Nutzern wird entschieden, ob die neue Version vollständig ausgerollt oder wieder zurückgezogen wird.

Welche Vorteile hat ein Canary-Release?::Risikominimierung, da die Auswirkungen auf eine kleine Nutzergruppe begrenzt sind. Ermöglicht eine frühzeitige Erkennung und Behebung von Problemen.

Welche Nachteile hat ein Canary-Release?::Komplexere Steuerung des Traffics und Nutzerzuweisung erforderlich. Die Auswahl einer repräsentativen Nutzergruppe für den Canary-Release kann schwierig sein.

Was ist Konfigurationsmanagement?::Konfigurationsmanagement ist ein kritischer Teil der modernen IT-Infrastruktur, der es ermöglicht, Hardware und Software über ihre Lebenszyklen hinweg zu steuern und zu verwalten.

Welche Rolle spielt Konfigurationsmanagement bei Deployments?::Konfigurationsmanagement spielt eine wichtige Rolle bei der Automatisierung und Vereinfachung von Deployment-Prozessen.

Welche Best Practices gibt es im Konfigurationsmanagement?::Versionierung, Modularität, Idempotenz und automatisiertes Testing.

Was ist Containerisierung?::Containerisierung ist eine Schlüsseltechnologie in der Softwareentwicklung, die es ermöglicht, Anwendungen und ihre Abhängigkeiten zusammen in einem Container zu verpacken.

Was ist Docker?::Docker ist das meistgenutzte Werkzeug für Containerisierung, das Containers als leichtgewichtige, portable, und eigenständige Pakete erstellt, die überall laufen können.

Was ist ein Docker Image?::Ein Docker Image ist eine leichte, eigenständige, ausführbare Softwarepakete, die alles enthält, was benötigt wird, um eine Software auszuführen: Code, Laufzeit, Systemtools, Systembibliotheken und Einstellungen.

Was ist ein Dockerfile?::Ein Dockerfile ist eine Textdatei mit Befehlen, die Docker verwenden kann, um ein Image zu erstellen.

Was sind Docker Volumes?::Volumes werden verwendet, um Daten zu persistieren oder zu teilen. Sie sind wesentlich für die Datenkonservierung und -sicherheit bei der Nutzung von Containern.

Was ist Kubernetes?::Kubernetes ist das führende Orchestrierungstool, das für die Verwaltung, Skalierung und automatisierte Bereitstellung von Containeranwendungen verwendet wird.

Was ist ein Kubernetes Cluster?::Ein Kubernetes Cluster besteht aus mindestens einem Master Node, der das Cluster kontrolliert, und mehreren Worker Nodes, die die Container ausführen.

Was ist Infrastructure as Code (IaC)?::Infrastructure as Code (IaC) ist eine Praxis im DevOps, die das Managen und Provisionieren der IT-Infrastruktur durch maschinenlesbare Definitionsdateien, anstelle physischer Hardwarekonfiguration oder interaktive Konfigurationstools, ermöglicht.

Welche Grundprinzipien gelten für IaC?::Idempotenz, Versionskontrolle, Modularität und klare Dokumentation.

Welche Vorteile bietet IaC?::Automatisierung, Konsistenz, Wiederholbarkeit und Transparenz.