> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/es/despliegue/architecture-overview.md).

# Resumen de la arquitectura

Una vista general de alto nivel de la arquitectura de RealmJoin: el backend en la nube, cómo se conectan los dispositivos administrados y los administradores, y qué recursos usa RealmJoin en tu propio Tenant de Microsoft.

RealmJoin es un SaaS multitenant nativo de la nube y el **compañero de gestión y ciclo de vida de aplicaciones de Microsoft Intune**. Gestiona la implementación de aplicaciones, la gestión de usuarios/grupos/dispositivos y la automatización de procesos en todo tu tenant de Entra ID — **sin servidores locales ni infraestructura local**. Todos los servicios de backend son operados por glueckkanja en **Microsoft Azure, alojado en Europa**.

RealmJoin cubre tres áreas:

* **Gestión de aplicaciones** – empaquetado, implementación, un catálogo de autoservicio e informes de software.
* **Gestión de usuarios, grupos y dispositivos** – una vista única y unificada que combina datos de Intune, Entra ID, Microsoft Defender, Windows Autopilot y registros de inicio de sesión.
* **Automatización de procesos** – runbooks que se ejecutan en *tu propia* cuenta de Azure Automation.

## La visión general

```mermaid
%%{init: {"flowchart": {"htmlLabels": false, "nodeSpacing": 55, "rankSpacing": 90}} }%%
flowchart LR
    Admin["Administradores"]
    Integr["Tus integraciones"]
    Device["Dispositivos administrados<br/>(RealmJoin Agent)"]

    subgraph RJ["Backend de RealmJoin - Azure (Europa)"]
        direction TB
        Portal["Portal de RealmJoin"]
        CustApi["API del cliente"]
        ClientApi["API del agente"]
        FD{{"Azure Front Door"}}
        CDN["CDN y servidor de paquetes"]
        Core[("Servicios de backend<br/>y bases de datos")]
    end

    subgraph Tenant["Tu Tenant de Microsoft"]
        direction TB
        Graph["Entra ID / Intune / Defender<br/>(a través de Microsoft Graph)"]
        subgraph AzureRes["Tus recursos de Azure"]
            direction TB
            KV["Key Vault<br/>(contraseñas de LAPS)"]
            Autom["Azure Automation<br/>(Runbooks)"]
            LA["Log Analytics<br/>(Registros)"]
        end
    end

    Admin --> Portal
    Integr --> CustApi
    Device --> ClientApi
    Device --> FD
    FD --> CDN

    Portal --> Core
    ClientApi --> Core
    CustApi --> Core

    Core -->|acceso con privilegios mínimos| Graph
    Core --> KV
    Core --> Autom
    Core --> LA
```

RealmJoin se conecta a tu tenant a través de **aplicaciones de Entra ID con privilegios mínimos** a las que das tu consentimiento durante la incorporación. Cada acción que realiza el backend se filtra a través del **modelo interno de control de acceso basado en roles (RBAC)** que evalúa la pertenencia a grupos y roles de Entra.

## Componentes del backend

El backend es un conjunto de servicios implementados de forma independiente que se ejecutan en Microsoft Azure:

| Componente               | Propósito                                                                                                                  | Quién se conecta a él                                                                                                          |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Portal de RealmJoin**  | La interfaz web que usan los administradores para gestionar aplicaciones, dispositivos, usuarios, grupos y automatización. | Administradores, mediante inicio de sesión en Entra ID (OAuth 2.0 / OpenID Connect).                                           |
| **Client-API**           | El punto de conexión al que se comunica el RealmJoin Agent opcional en cada dispositivo.                                   | Dispositivos administrados, autenticados mediante la identidad del dispositivo (token de Entra + certificado del dispositivo). |
| **Customer-API**         | Una API programática para tus propias integraciones y automatización.                                                      | Tus sistemas y herramientas, usando una clave de API por cliente.                                                              |
| **CDN y Package Server** | Entrega paquetes y contenido de aplicaciones a los dispositivos.                                                           | Dispositivos administrados.                                                                                                    |

Detrás de estos, RealmJoin ejecuta servicios de procesamiento en segundo plano y almacena datos en bases de datos y almacenamiento administrados de Azure. Los servicios internos (como facturación y trabajos en segundo plano) no son accesibles desde Internet.

## El RealmJoin Agent

El RealmJoin Agent es un **opcional** componente de Windows. Cuando se instala, it:

* informa del estado del dispositivo a la API del agente de forma periódica,
* obtiene una **firmada** configuración del dispositivo (asignaciones de software y políticas),
* ejecuta una **evaluación de seguridad** (cifrado, nivel de parches, firewall, antivirus) antes de aplicar las aplicaciones obligatorias,
* entrega aplicaciones de forma eficiente utilizando un motor Chocolatey mejorado más **BranchCache** distribución entre pares,
* admite **LAPS** (contraseña de administrador local) — las contraseñas se generan en el dispositivo y se almacenan en **tu propio Azure Key Vault**.

```mermaid
sequenceDiagram
    participant Device as agente de RealmJoin
    participant API as API del agente
    participant CDN as CDN de RealmJoin

    Device->>API: Informa del estado y solicita configuración
    API-->>Device: Configuración firmada (apps y políticas)
    Device->>Device: Evaluación de seguridad
    Device->>CDN: Descargar los paquetes asignados
    Note over Device: Compartición de paquetes entre pares mediante BranchCache
```

Para obtener detalles sobre la entrega de paquetes y BranchCache, consulta [Consideraciones de infraestructura](/es/despliegue/infrastructure.md).

## Automatización de procesos (runbooks)

Los runbooks se ejecutan en **tu propia cuenta de Azure Automation** — no en el backend de RealmJoin. RealmJoin mantiene sincronizada tu biblioteca de runbooks con un repositorio abierto y curado de GitHub, y gestiona y supervisa la ejecución de trabajos desde el Portal. Los runbooks actúan a través de la **identidad administrada**, por lo que los permisos que utilizan siguen estando totalmente bajo tu control.

Ver [Conexión de Azure Automation](/es/automatizacion/connecting-azure-automation.md) y [Runbooks](/es/automatizacion/runbooks.md) para más información.

## Entrega de aplicaciones

Los paquetes son producidos por la cadena de empaquetado de RealmJoin y entregados a los dispositivos a través de la **CDN** y **servidor de paquetes**, con almacenamiento geo-replicado y BranchCache para una distribución eficiente dentro de la red. Las aplicaciones se pueden entregar ya sea a través de **Implementación de RealmJoin** (a través del Agente) o como **Implementación de Intune** (un paquete intunewin enviado a tu tenant).

## Recursos en tu propio entorno

Varias capacidades usan recursos en **tu propio tenant de Microsoft y suscripción de Azure**, por lo que los datos confidenciales permanecen bajo tu control:

* **Azure Key Vault** – almacena las contraseñas de administrador local de LAPS generadas en tus dispositivos.
* **Azure Automation** – ejecuta tus runbooks bajo una identidad administrada que tú controlas.
* **Log Analytics** – almacena registros de auditoría y registros archivados de runbooks.

RealmJoin accede a estos — y a Entra ID, Intune y Defender a través de Microsoft Graph — usando solo los permisos de mínimos privilegios que otorgas durante la incorporación. Consulta [Permisos requeridos del Portal](/es/despliegue/required-permissions.md) para la lista completa.

## Seguridad, alojamiento y residencia de datos

* **Alojamiento:** Todos los servicios de backend se ejecutan en **Microsoft Azure**, principalmente en la **Europa Occidental** región con respaldo en **Europa Septentrional**. **Los datos de los clientes no salen de Europa.**
* **Entrega:** Se accede directamente al Portal y a las API a través de HTTPS. Los paquetes y el contenido de las aplicaciones se entregan a través de la RealmJoin **CDN**, expuesta mediante **Azure Front Door** para una distribución global con balanceo de carga.
* **Cifrado en tránsito:** Todas las conexiones usan HTTPS/TLS.
* **Identidad:** El acceso de administrador usa Entra ID (OAuth 2.0 / OpenID Connect); los dispositivos se autentican con su identidad de dispositivo de Entra y un certificado de dispositivo; las API programáticas usan claves por cliente.
* **Aislamiento del Tenant:** Los datos de cada cliente se separan, y todas las rutas de código del backend operan dentro de un contexto por tenant.
* **Mínimos privilegios:** Las aplicaciones de Entra de RealmJoin solicitan solo los permisos necesarios para las funciones que habilitas, y todas las acciones están regidas por el modelo interno RBAC de RealmJoin.
* **Resiliencia:** Infraestructura redundante con conmutación por error automática y recuperación puntual de la base de datos; la infraestructura está completamente definida como código (Terraform).

{% hint style="info" %}
Los puntos de conexión accesibles externamente son el **Portal, API del agente, API del cliente, CDN y servidor de paquetes**. Para la lista completa de hosts que debes permitir en tu firewall, consulta [Consideraciones de infraestructura](/es/despliegue/infrastructure.md). Para obtener más detalles sobre el manejo de datos y la separación por tenant, consulta [Seguridad y privacidad](/es/seguridad-y-privacidad/security-and-privacy.md).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.realmjoin.com/es/despliegue/architecture-overview.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
