Saltar al contenido principal

Descripción general

La opción de implementación de Devin en VPC permite alojar los entornos de desarrollo de Devin dentro de tu VPC, lo que permite que las máquinas virtuales (VM) de Devin accedan a recursos propietarios ubicados detrás de tu firewall corporativo. La arquitectura admitida garantiza un sistema totalmente sin estado (stateless), lo que significa que ningún dato se almacenará en reposo fuera de tu entorno. Existen varias formas de establecer un control granular sobre el acceso de Devin dentro de tu entorno, incluidas, entre otras, la protección de tus servicios o recursos mediante SSO o los controles de acceso de tu sistema de control de versiones.

Trust Center

Para obtener información adicional y documentación de seguridad, visita nuestro Trust Center.

Arquitectura central

Devin consta de dos componentes principales:

DevBox de Devin

Un entorno de desarrollo configurable donde se ejecutan las acciones de Devin. Incluye capacidades de shell, editor y navegador. Se despliega dentro de la VPC del cliente.

Cerebro de Devin

El sistema central de inteligencia que procesa fragmentos de contexto para determinar cada acción que realiza Devin. Alojado en el tenant de Cognition.
Arquitectura empresarial de Devin

Especificaciones de despliegue

Requisitos de infraestructura

Requisitos de tipo de instancia:
  • AWS: i3 bare metal EC2
  • Azure: instancias Lasv3 con tipo de seguridad estándar (Security Type Standard)
Cada sesión de Devin requiere una VM nueva. Estos tipos de instancia permiten la creación ad hoc de VMs para iniciar una sesión de Devin. Consulta AWS VPC Setup para ver la capacidad de concurrencia por instancia. Sistema operativo: Ubuntu 24.04

Arquitectura

Tenant Architecture Diagram
  • El tenant de Cognition se aloja en Azure
  • Puertos: HTTPS/443 (solo se requiere tráfico saliente desde la VPC del cliente)
  • Al iniciar DevBox, se abre un websocket que se conecta a un contenedor aislado en el tenant de Devin
  • Todas las comunicaciones posteriores ocurren a través de esta conexión
  • Esta arquitectura admite el aislamiento de sesión del backend de forma predeterminada
Se recomienda encarecidamente habilitar el acceso a Internet a las instancias de Devin dentro de la VPC del cliente

Gestión de datos

Base de datos de Cognition

  • Solo almacena metadatos
  • Contiene datos de referencia hash (ID de sesión, ID de evento, etc.)

Bases de datos de clientes

Los datos de los clientes se almacenan en dos ubicaciones:
  1. Base de datos de clientes principal:
    • Se conecta directamente con el núcleo de Devin
    • Almacena registros de sesión cifrados y datos de Devin específicos del cliente
  2. Base de datos de clientes secundaria:
    • Se conecta a la instancia dentro del VPC
    • Almacena instantáneas de máquinas virtuales (VM), lo que permite iniciar sesiones desde una instantánea
Todos los datos de los clientes se cifran con una clave KMS dedicada. Todas las operaciones de lectura/escritura de bases de datos se realizan a través de APIs nativas.

Secretos

Para cada nueva sesión se crean contenedores aislados de Devin Brain con acceso autorizado al almacén de datos del cliente. Los secretos se descifran al inicio de una sesión, se cargan como variables de entorno y luego se vuelven a cifrar. Este proceso es programático.
Antes de enviarse al frontend, los secretos se ocultan y se muestran como [REDACTED SECRET].

Seguridad

Cifrado

  • Cifrado AES-256 en reposo
  • Cifrado TLS 1.3+ en tránsito

Aislamiento

  • Contenedor aislado de Devin Brain por sesión
  • AWS WAF para las API públicas del frontend

Componentes de DevBox

En la máquina de Devin se cargan los siguientes componentes:
  1. Utilidades principales: git, python, java, docker y más
  2. Componentes personalizados:
    • Servidor de VSCode
    • Servidor VNC para control interactivo del navegador
    • Scripts propietarios de utilidad .py necesarios para la funcionalidad de Devin
Puedes auditar los scripts y reducir la instalación predeterminada de paquetes según tus necesidades. Solicita los scripts de configuración de DevBox a tu representante de Cognition.

Limitaciones

Restricciones técnicas

  • Límites de sesiones concurrentes basados en la capacidad de las instancias bare metal
  • La capacidad se puede escalar horizontalmente aprovisionando más instancias base
  • Estas instancias pueden desactivarse temporalmente durante períodos de menor uso
  • El cliente es responsable de los costes de la infraestructura en la nube

Restricciones de despliegue

  • No se admiten AMIs de clientes. Se requiere una configuración manual de la máquina, realizada una sola vez
  • No se admiten sistemas operativos que no sean Linux

Configuración de DNS

La configuración de DNS de la instancia de Devin requiere una configuración adecuada para resolver registros en zonas alojadas privadas. Si encuentras problemas de resolución de DNS con registros privados, sigue los pasos a continuación.Para habilitar que las instancias de Devin resuelvan registros en zonas alojadas privadas:
  1. Actualiza la configuración de DNS para usar el resolver DNS de la VPC (dirección .2) en lugar de resolvers públicos. Para obtener esto, ejecuta lo siguiente:
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. Edita el archivo de configuración de systemd-resolved:
    sudo nano /etc/systemd/resolved.conf
    
  2. Reemplaza la entrada DNS con la dirección .2 de la VPC.
    [Resolve]
    DNS={N.N.N.2}
    
  3. Reinicia el servicio systemd-resolved para aplicar los cambios:
    sudo systemctl restart systemd-resolved
    
Esta configuración garantiza que las instancias de Devin puedan resolver correctamente tanto registros DNS públicos como registros privados en tus zonas alojadas.