AALM

Agile Application Lifecycle Management FHNW

Agile Application Lifecycle Management FHNW


Set of flashcards Details

Flashcards 91
Language Deutsch
Category Computer Science
Level Other
Created / Updated 14.01.2025 / 16.01.2025
Weblink
https://card2brain.ch/box/20250114_aalm
Embed
<iframe src="https://card2brain.ch/box/20250114_aalm/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Was sind Container, Images und Volumes?

Container: Sandboxed Prozess, welcher von anderen Prozessen getrennt ist. Ausführbare Instanz eines Images. Kann lokal, auf virtuellen Maschinen oder in der Cloud ausgeführt werden. Portierbar.

Image: Container verwendet isoliertes Dateiensystem, welches vom Image (muss alles beinhalten was zur Ausführung benötigt wird) zur Verfügung gestellt wird. Enthält Dependecies, Konfigurationen, Skripts.

Volumes: Persistente Datenspeicher für Container, welche von Docker erstellt und verwaltet werden.

Wie funktioniert die Docker Software Delivery?

Image wird in die Docker Registry gespielt. Von da kann anschliessend auf die verschiedenen Systeme (Dev, Qual, Produktion) installiert werden.

Was ist Docker Compose?

Mehrere isolierte Umgebungen auf einem einzelnen Host, behält Volumen bei der Erstellung neuer Container, erstellt nur angepasste Container neu, Unterstützt Variablen und das Verschieben einer Komposition zwischen Umgebungen

  1. App Umgebung mit Dockerfile festlegen
  2. Service zur Ausführung in docker-compose.yaml definieren
  3. Starten der Anwendung mit docker compose up

Was ist Kubernetes?

Kubernetes ist eine Open Source-Plattform zur Container-Orchestrierung, mit der verteilte, containerisierte Anwendungen in riesigem Umfang verwaltet werden können. Sie teilen Kubernetes mit, wo Ihre Software ausgeführt werden soll, und die Plattform kümmert sich um fast alles, was für das Deployment und Management Ihrer Container erforderlich ist.

Welche Funktionen bietet Kubernetes?

Serviceerkennung und Lastverteilung, Speicherorchestrierung, Automatisierte Rollouts und Rollbacks, Automatische Bin-Packing-Verfahren, Selbstheilung – Geheimhaltung und Konfigurationsverwaltung, Horizontale Skalierung

Welche Schritte werden für Kubernetes benötigt?

  1. Kubernetes Cluster erstellen (Node, Control Plane, Node Processes). Nodes können aus verschiedenen Pods bestehen (Volume und containerized Apps)
  2. App deployen
  3. Explore your App
  4. App veröffentlichen
  5. App skalieren
  6. App updaten

Wie funktionieren externalized configurations?

Applikationen können mit Spring über Profile konfiguriert werden. Beans werden nur aktiv, wenn das Profil gewählt ist. Kann via Kommandozeile oder als Systemumgebungsvariable festgelegt werden.

z.B. @Profile("dev")

Was sind Access Tokens und wie funktionieren sie?

Dienen der Sicherheit. Zugriff erfolgt über separaten Service.

User gibt Passwort ein (Request).

Client sendet Anfrage an Authorization Server (Verification) und erhält Token.

Sendet Token an Resource Server und erhält den Inhalt.

Sprachen: Security Assertion Markup Language oder JSON Web Tokens (JWT)

Nenne Konzepte für die Steigerung der Resilience/Reliability.

Retry: Definiert eine maximale Anzahl an parallelen Zugriffsversuchen. Erst wenn diese erreicht ist, wird die Anfrage abgebrochen.

Bulkhead: Definiert eine Anzahl gleichzeitiger Zugriffe. Wenn mehr als diese Zugriffe erfolgen, warten diese bis die ersten abgeschlossen sind.

Rate Limitter: Definiert eine maximale Anzahl in einem gewissen Zeitraum. Nach diesem Zeitraum sind neue Zugriffsversuche möglich.

Circuit Breaker: Blockiert temporär mögliche Fehler. Schnellere Rückmeldung an Client.

Was ist Observability-driven development (ODD)?

Zusätzliche Ebene der Entwicklung. Verfügbarkeit und Up-Time sollen bereits bei der Entwicklung berücksichtigt werden. Erzeugt mehr Daten zuhanden von Operations.

Welches sind die wichtigsten Punkte für die Observability und wie funktionieren sie?

Health Check API: Service besitzt Endpoint, Welcher über den Zustand der Applikation Auskunft gibt (Status der Verbindungen, Status des Hosts)

Logging: Zentralisierter Logging Service, welcher die Logs der verschiedenen Instanzen zusammenträgt.

Exception Tracking: Alle Exceptions an zentralen Service, Welcher zusammenträgt und benachrichtigt.

s