Kapitel 11

Bereitstellung und Betrieb

Lernen Sie, wie Sie KI einsetzen, um die Bereitstellungseffizienz und die Betriebsqualität zu verbessern, und machen Sie sich mit Best Practices wie KI-gestützter Bereitstellungskonfiguration, Umgebungsverwaltung, Überwachungswarnungen und Fehlerdiagnose vertraut.

Sequential Thinking verwenden, um KI-gestütztes Deployment und Operations zu lernen

Der Einsatz von KI in Bereitstellung und Betrieb umfasst mehrere Ebenen und nutztMethoden des strukturierten DenkensKann Ihnen helfen, systematisch Folgendes zu beherrschen:

1
Überblick über die Bereitstellungsstrategie
Statische Bereitstellung, Containerisierung und Serverless schnell verstehen
2
KI-gestützte Bereitstellungskonfiguration
Generierung von Dockerfile-, CI/CD- und Kubernetes-Konfigurationen
3
KI-gestützte Umgebungsverwaltung
Generierung von Umgebungsvariablen, Konfigurationsoptimierung, Geheimnisverwaltung
4
KI-gestützte Überwachungsalarme
Anomalieerkennung, Leistungsvorhersage, intelligente Benachrichtigungen
5
KI-gestützte Fehlerdiagnose
Fehlerbehebung, Reparaturempfehlungen, Präventionsmaßnahmen

Überblick über die Bereitstellungsstrategie

Verschaffen Sie sich schnell einen Überblick über Bereitstellungsmethoden und Hintergrundwissen für die KI-Praxis.

Statische Bereitstellung

Geeignet für statische Websites und SPA-Anwendungen (Vercel, Netlify, GitHub Pages)

Containerisierte Bereitstellung

Anwendungen mit Docker paketieren und flexibel bereitstellen (Docker, Kubernetes)

Serverless-Bereitstellung

Bei Bedarf ausführen, automatische Hoch- und Herunterskalierung (Vercel Functions, AWS Lambda)

Best Practices für KI bei Bereitstellung und Betrieb

KI nutzen, um die Bereitstellungseffizienz und die Betriebsqualität zu verbessern, mit KI-gestützten Praktiken im gesamten Prozess von der Bereitstellungskonfiguration bis zur Fehlerdiagnose.

KI-gestützte Bereitstellungskonfiguration

Dockerfile mit KI generieren

Beschreiben Sie der KI die Anwendungsanforderungen und lassen Sie sie eine optimierte Dockerfile generieren:

Prompt-Vorlage:

Ich muss ein Dockerfile für eine Next.js-16-Anwendung generieren, mit folgenden Anforderungen:
1. Multi-Stage-Build verwenden, um die Image-Größe zu optimieren
2. Ein Node.js-18-Alpine-Image verwenden
3. pnpm als Paketmanager installieren
4. Die Produktionsversion bauen
5. Als Nicht-Root-Benutzer ausführen
6. Port 3000 freigeben
7. Den Build-Cache optimieren

Bitte generieren Sie:
- Ein vollständiges Dockerfile
- Eine .dockerignore-Datei
- Build- und Ausführungsanweisungen

Beispiel für ein von KI generiertes Dockerfile

# Dockerfile
# Buildphase
FROM node:18-alpine AS builder

WORKDIR /app

# pnpm installieren
RUN npm install -g pnpm

# Abhängigkeitsdateien kopieren
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile

# Quellcode kopieren und bauen
COPY . .
RUN pnpm build

# Laufzeitphase
FROM node:18-alpine AS runner

WORKDIR /app

ENV NODE_ENV=production

# Nicht-Root-Benutzer erstellen
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs

# Build-Artefakte kopieren
COPY --from=builder --chown=nextjs:nodejs /app/.next ./.next
COPY --from=builder --chown=nextjs:nodejs /app/node_modules ./node_modules
COPY --from=builder --chown=nextjs:nodejs /app/package.json ./
COPY --from=builder --chown=nextjs:nodejs /app/public ./public

USER nextjs

EXPOSE 3000

CMD ["node_modules/.bin/next", "start"]

Von KI generierte CI/CD-Konfiguration

Prompt:

Ich muss einen GitHub-Actions-CI/CD-Workflow für ein Next.js-Projekt konfigurieren:

Anforderungen:
- Automatisches Deployment bei Push auf den main-Branch
- Tests und Lint ausführen
- Ein Docker-Image erstellen
- Zu Docker Hub pushen
- In die Produktionsumgebung deployen
- Rollback unterstützen

Bitte generieren Sie:
- .github/workflows/deploy.yml
- Alle erforderlichen Schritte und Konfigurationen enthalten

Beispiel für eine von KI generierte CI/CD-Konfiguration

# .github/workflows/deploy.yml
name: Deploy

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    
    steps:
      - uses: actions/checkout@v4
      
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 18
          cache: 'pnpm'
      
      - name: Install dependencies
        run: pnpm install
      
      - name: Run tests
        run: pnpm test
      
      - name: Build Docker image
        run: docker build -t myapp:{{ github.sha }} .
      
      - name: Push to Docker Hub
        run: docker push myapp:{{ github.sha }}
      
      - name: Deploy to production
        run: |
          # Bereitstellungsskript
          kubectl set image deployment/myapp myapp=myapp:{{ github.sha }}

KI-generierte Kubernetes-Konfiguration

Prompt:

Ich muss eine Kubernetes-Konfiguration für eine Next.js-Anwendung generieren:

Anforderungen:
- Deployment: 3 Replikas, automatisches Skalieren (2-10)
- Service: NodePort-Typ
- Ingress: nginx verwenden, HTTPS unterstützen
- ConfigMap: Konfiguration von Umgebungsvariablen
- Ressourcenlimits: CPU 500m, Speicher 512Mi

Bitte generieren Sie alle erforderlichen YAML-Konfigurationsdateien.

Grundlagen der Umgebungskonfiguration

Kernkonzepte: Verwaltung von Umgebungsvariablen, Konfigurationsdateien, Geheimnisverwaltung. Ausführliche Praxisbeispiele finden Sie im obigen Abschnitt „KI-gestützte Umgebungsverwaltung“.

Verwaltung von Umgebungsvariablen

Verwenden Sie .env-Dateien zur Verwaltung der lokalen Konfiguration und injizieren Sie in der Produktion über die Plattformkonfiguration

Konfigurationsdatei

Trennung der Umgebungen (development, staging, production), Konfigurationsvalidierung und Dokumentation

Schlüsselverwaltung

Verwenden Sie Geheimnisverwaltungsdienste (AWS Secrets Manager, Vercel Env) und rotieren Sie sie regelmäßig

Grundlagen von Monitoring und Logging

Kernkonzepte: Anwendungsüberwachung, Fehlerverfolgung, Protokollverwaltung, Leistungsüberwachung. Ausführliche Praxisbeispiele finden Sie in den obigen Abschnitten „KI-gestützte Überwachungswarnungen“ und „KI-gestützte Log-Analyse“.

Anwendungsüberwachung

Leistungskennzahlen (Antwortzeit, Durchsatz, Fehlerrate), Ressourcennutzung (CPU, Speicher, Festplatte), Geschäftskennzahlen

Fehlerverfolgung

Ausnahmen, Stacktraces, Benutzerkontext und Alarmbenachrichtigungen automatisch erfassen (Sentry, Datadog)

Protokollverwaltung

Logstufen (DEBUG, INFO, WARN, ERROR), strukturierte Protokollierung (JSON), Protokollaggregation und -suche

Leistungsüberwachung

APM (Application Performance Monitoring), Analyse langsamer Abfragen, Frontend-Performance (Core Web Vitals), Echtzeitüberwachung

Grundlagen der Betriebspraxis

Kernkonzepte: automatisierte Bereitstellung, Notfallwiederherstellungslösungen und Checklisten für den Betrieb. Detaillierte Praxisbeispiele finden Sie in den obigen Abschnitten „KI-gestützte Betriebsautomatisierung“ und „KI-gestützte Fehlerdiagnose“.

Automatisierte Bereitstellung

CI/CD-Pipeline, Blue-Green-Deployment, Canary-Release, Rollback-Mechanismus

Notfallwiederherstellungsplan

Datensicherung, Failover, Notfallwiederherstellung (RTO/RPO), regelmäßige Übungen

Betriebs-Checkliste

Überwachungsalarme, Protokollerfassung, Backup-Strategie, Rollback-Plan, Dokumentationsaktualisierung

Praxisbeispiele

Die Anwendung von KI in Bereitstellung und Betrieb anhand von Praxisbeispielen demonstrieren.

Beispiel 1: KI generiert Dockerfile- und CI/CD-Konfiguration

Verwenden Sie KI, um eine vollständige Bereitstellungskonfiguration für eine Next.js-App zu erstellen:

Schritt 1: Beschreiben Sie die Anforderungen an die KI
„Ich muss Dockerfile- und GitHub-Actions-CI/CD-Konfigurationen für eine Next.js-16-App generieren...“

Schritt 2: Die KI generiert das Dockerfile
- Mehrstufiger Build
- Optimierung der Bildgröße
- Ausführung als Non-Root-Benutzer

Schritt 3: Die KI generiert die CI/CD-Konfiguration
- Automatisiertes Testen und Bauen
- Push des Docker-Images
- Automatische Bereitstellung in der Produktion

Schritt 4: Die KI optimiert die Konfiguration
- Analyse von Konfigurationsproblemen
- Bereitstellung von Optimierungsvorschlägen
- Erstellung einer Best-Practices-Dokumentation

Beispiel 2: KI-gesteuerte Überwachungsalarme

KI verwenden, um Überwachungsdaten zu analysieren und Alarmregeln zu generieren:

Schritt 1: Überwachungsdaten sammeln
- CPU, Arbeitsspeicher, Antwortzeit, Fehlerquote
- Daten der letzten 24 Stunden

Schritt 2: KI analysiert Anomalien
- Anomalie-Muster erkennen
- Potenzielle Probleme vorhersagen
- Warnschwellen vorschlagen

Schritt 3: KI generiert Alarmregeln
- Prometheus-Alarmregeln
- Benachrichtigungsrichtlinien für Alarme
- Alarmstufen (Critical, Warning, Info)

Schritt 4: KI-Optimierungsempfehlungen
- Empfehlungen zur Leistungsoptimierung
- Empfehlungen zur Ressourcenerweiterung
- Vorbeugende Maßnahmen

Beispiel 3: KI-gestützte Fehlerdiagnose

Verwenden Sie KI, um Systemausfälle schnell zu lokalisieren und zu beheben:

Schritt 1: Fehlerinformationen sammeln
- Fehlerprotokolle
- Überwachungsdaten
- Zeitachse des Ausfalls

Schritt 2: KI zur Analyse der Ausfallursache verwenden
- Grundursache identifizieren
- Ausfallkette analysieren
- Problemstelle lokalisieren

Schritt 3: KI zur Generierung von Reparaturvorschlägen verwenden
- Vorübergehende Lösung
- Dauerhafter Reparaturplan
- Vorbeugende Maßnahmen

Schritt 4: KI zur Erstellung von Betriebsdokumentation verwenden
- Handbuch zur Störungsbehebung
- Betriebs-Checkliste
- Notfallreaktionsablauf

Lernergebnisse

Nach Abschluss dieses Kapitels werden Sie:

  • 1Den Einsatz von KI beherrschen, um Bereitstellungskonfigurationen wie Dockerfiles, CI/CD-Konfigurationen, Kubernetes-Konfigurationen und mehr zu erzeugen
  • 2Fähig, KI-gestütztes Umgebungsmanagement zu nutzen (Generierung von Umgebungsvariablen, Konfigurationsoptimierung, Schlüsselverwaltung)
  • 3KI-gesteuerte Überwachungsalarme beherrschen (Anomalieerkennung, Leistungsprognose, intelligente Generierung von Alarmregeln)
  • 4KI-gestützte Loganalyse verwenden können (Protokollanalyse, Erkennung von Fehlermustern, Ursachenanalyse)
  • 5Beherrschen Sie die KI-gestützte Fehlerdiagnose (Fehlerlokalisierung, Reparaturempfehlungen, vorbeugende Maßnahmen)
  • 6In der Lage, KI-gestützte Betriebsautomatisierung zu nutzen (Skripterstellung, Prozessoptimierung, Dokumentenerstellung)