Zum Hauptinhalt springen

Übersicht

Devins In-VPC-Bereitstellung ermöglicht das Hosten von Devins Entwicklungsumgebungen in Ihrer VPC, wodurch Devins VMs auf proprietäre Ressourcen hinter Ihrer Unternehmensfirewall zugreifen können. Die unterstützte Architektur bietet eine vollständig zustandslose Systemarchitektur und stellt sicher, dass außerhalb Ihrer Umgebung keine ruhenden Daten gespeichert werden. Es gibt mehrere Möglichkeiten, eine feingranulare Kontrolle über Devins Zugriff innerhalb Ihrer Umgebung einzurichten, unter anderem auf unternehmenseigene Dienste oder Ressourcen über SSO oder Zugriffskontrollen Ihres Versionskontrollsystems.

Trust Center

Weitere Informationen und Sicherheitsdokumentation finden Sie in unserem Trust Center.

Kernarchitektur

Devin besteht aus zwei Hauptkomponenten:

Devins DevBox

Eine anpassbare Entwicklungsumgebung, in der Devins Aktionen ausgeführt werden. Umfasst Shell-, Editor- und Browserfunktionen. Wird innerhalb der VPC des Kunden bereitgestellt.

Devin’s Brain

Das zentrale Intelligenzsystem, das Kontextausschnitte verarbeitet und daraus jede Aktion von Devin ableitet. Gehostet im Tenant von Cognition.
Devin Enterprise-Architektur

Spezifikationen für die Bereitstellung

Infrastrukturanforderungen

Anforderungen an Instanztypen:
  • AWS: i3 Bare-Metal-EC2-Instanzen
  • Azure: Lasv3-Instanzen mit Sicherheitstyp Standard
Jede Devin-Sitzung benötigt eine neue VM. Diese Instanztypen ermöglichen die Ad-hoc-Erstellung von VMs beim Start einer Devin-Sitzung. Besuchen Sie AWS VPC Setup, um die maximale Anzahl gleichzeitiger Sitzungen pro Instanz anzuzeigen. Betriebssystem: Ubuntu 24.04

Architektur

Tenant Architecture Diagram
  • Der Cognition-Tenant wird in Azure gehostet
  • Ports: HTTPS/443 (es ist nur ausgehender Datenverkehr aus dem VPC des Kunden erforderlich)
  • Beim Start von DevBox wird ein WebSocket geöffnet und mit einem isolierten Container im Devin-Tenant verbunden
  • Alle weiteren Datenübertragungen erfolgen über diese Verbindung
  • Diese Architektur unterstützt standardmäßig die Isolierung von Backend-Sitzungen
Es wird dringend empfohlen, den in Ihrem VPC laufenden Devin-Instanzen Internetzugang zu gewähren

Datenmanagement

Cognition-Datenbank

  • Speichert ausschließlich Metadaten
  • Enthält Hash-Referenzdaten (Session-IDs, Event-IDs usw.)

Kundendatenbanken

Kundendaten sind auf zwei Speicherorte aufgeteilt:
  1. Primäre Kundendatenbank:
    • Ist direkt mit Devins Brain verbunden
    • Speichert verschlüsselte Sitzungsprotokolle und kundenbezogene Devin-Daten
  2. Sekundäre Kundendatenbank:
    • Ist mit der In-VPC-Instanz verbunden
    • Speichert VM-Snapshots, sodass Sitzungen aus einem Snapshot gestartet werden können
Alle Kundendaten werden mit einem eigenen KMS-Schlüssel verschlüsselt. Alle Lese- und Schreibvorgänge für Datenbanken werden über native APIs ausgeführt.

Secrets

Isolierte Devin-Brain-Container, die für den Zugriff auf den Kundendatenspeicher autorisiert sind, werden für jede neue Sitzung erstellt. Secrets werden zu Beginn einer Sitzung entschlüsselt, als Umgebungsvariablen geladen und anschließend wieder verschlüsselt. Dieser Prozess erfolgt programmgesteuert.
Bevor sie an das Frontend gesendet werden, werden Secrets unkenntlich gemacht und als [REDACTED SECRET] angezeigt.

Sicherheit

Verschlüsselung

  • AES-256-Verschlüsselung ruhender Daten
  • TLS-1.3+-Verschlüsselung für Datenübertragungen

Isolierung

  • Isolierter Devin-Brain-Container pro Sitzung
  • AWS WAF für öffentliche Frontend-APIs

DevBox-Komponenten

Folgendes ist auf Devins Maschine installiert:
  1. Kernwerkzeuge: git, python, java, docker und mehr
  2. Benutzerdefinierte Komponenten:
    • VSCode-Server
    • VNC-Server für interaktive Browsersteuerung
    • Proprietäre .py-Dienstprogramme, die für Devins Funktionsumfang erforderlich sind
Sie können die Skripte prüfen und die Standardpaketinstallation bei Bedarf reduzieren. Fordern Sie die DevBox-Setup-Skripte bei Ihrem Cognition-Ansprechpartner an.

Einschränkungen

Technische Einschränkungen

  • Gleichzeitige Sitzungslimits basierend auf der Kapazität der Bare-Metal-Instanz
  • Kapazität kann horizontal skaliert werden, indem zusätzliche Basisinstanzen bereitgestellt werden
  • Diese Instanzen können bei geringerer Nutzung vorübergehend heruntergefahren werden
  • Der Kunde ist für die Cloud-Infrastrukturkosten verantwortlich

Bereitstellungsbeschränkungen

  • Keine Unterstützung für kundenspezifische AMIs. Eine einmalige manuelle Einrichtung der Maschine ist erforderlich
  • Keine Unterstützung für Nicht-Linux-Betriebssysteme

DNS-Konfiguration

Die DNS-Konfiguration der Devin-Instanz muss korrekt eingerichtet sein, damit Einträge in privat gehosteten Zonen aufgelöst werden können. Wenn Sie Probleme mit der DNS-Auflösung bei privaten Einträgen haben, folgen Sie den untenstehenden Schritten.So ermöglichen Sie Devin-Instanzen die Auflösung von Einträgen in privat gehosteten Zonen:
  1. Aktualisieren Sie die DNS-Konfiguration so, dass der VPC-DNS-Resolver (Adresse .2) anstelle öffentlicher Resolver verwendet wird. Um diese Adresse zu ermitteln, führen Sie Folgendes aus:
aws ec2 describe-vpcs --vpc-id <VPC_ID> --query 'Vpcs[0].CidrBlock' --output text | awk -F/ '{split($1,a,"."); print a[1]"."a[2]"."a[3]".2"}'
  1. Bearbeiten Sie die Konfigurationsdatei von systemd-resolved:
    sudo nano /etc/systemd/resolved.conf
    
  2. Ersetzen Sie den DNS-Eintrag durch die .2-Adresse der VPC.
    [Resolve]
    DNS={N.N.N.2}
    
  3. Starten Sie den Dienst systemd-resolved neu, um die Änderungen zu übernehmen:
    sudo systemctl restart systemd-resolved
    
Diese Konfiguration stellt sicher, dass Devin-Instanzen sowohl öffentliche DNS-Einträge als auch private Einträge in Ihren gehosteten Zonen korrekt auflösen können.