> 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/implementacion/architecture-overview.md).

# Resumen de la arquitectura

RealmJoin es un SaaS nativo de la nube, multiinquilino y el **complemento de Ciclo de Vida y Gestión de Aplicaciones para Microsoft Intune**. Gestiona la implementación de aplicaciones, la administración de usuarios/grupos/dispositivos y la automatización de procesos en todo su 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.
* **Administració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 *su propio* cuenta de Azure Automation.

## La visión general

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

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

    subgraph Tenant["Su Microsoft Tenant"]
        direction TB
        Graph["Entra ID / Intune / Defender<br/>(a través de Microsoft Graph)"]
        subgraph AzureRes["Sus 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 su Tenant a través de **aplicaciones de Entra ID con privilegios mínimos** a las que usted da su consentimiento durante la incorporación. Cada acción que realiza el backend se filtra a través del **control de acceso basado en roles (RBAC) interno** modelo, que evalúa la pertenencia a grupos y roles de Entra.

## Componentes del backend

El backend es un conjunto de servicios desplegados 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 administrar 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 con el 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 sus propias integraciones y automatización.                                                        | Sus sistemas y herramientas, usando una clave de API por cliente.                                                              |
| **CDN y Package Server** | Entrega paquetes de aplicaciones y contenido a los dispositivos.                                                             | Dispositivos administrados.                                                                                                    |

Detrás de esto, 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:

* informa del estado del dispositivo a la Client-API con un horario regular,
* recupera una **firmada** configuración del dispositivo (asignaciones de software y directivas),
* 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 **su propio Azure Key Vault**.

```mermaid
sequenceDiagram
    participant Device as RealmJoin Agent
    participant API as Client-API
    participant CDN as RealmJoin CDN

    Device->>API: Informar estado y solicitar configuración
    API-->>Device: Configuración firmada (aplicaciones y directivas)
    Device->>Device: Evaluación de seguridad
    Device->>CDN: Descargar paquetes asignados
    Note over Device: Compartición de paquetes entre pares mediante BranchCache
```

Para más detalles sobre la entrega de paquetes y BranchCache, consulte [Consideraciones de infraestructura](/es/implementacion/infrastructure.md).

## Automatización de procesos (runbooks)

Los runbooks se ejecutan en **su propia cuenta de Azure Automation** — no en el backend de RealmJoin. RealmJoin mantiene sincronizada su 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 de la cuenta de Automation **identidad administrada**, por lo que los permisos que usan permanecen completamente bajo su control.

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

## Entrega de aplicaciones

Los paquetes se producen mediante el pipeline de empaquetado de RealmJoin y se entregan a los dispositivos a través del RealmJoin **CDN** y **Package Server**, con almacenamiento georreplicado y BranchCache para una distribución eficiente dentro de la red. Las aplicaciones pueden entregarse ya sea a través de **Implementación de RealmJoin** (a través del Agent) o como **Implementación de Intune** (un paquete intunewin enviado a su Tenant).

## Recursos en su propio entorno

Varias capacidades utilizan recursos en **su propio Tenant de Microsoft y suscripción de Azure**, por lo que los datos sensibles permanecen bajo su control:

* **Azure Key Vault** – almacena las contraseñas de administrador local de LAPS generadas en sus dispositivos.
* **Azure Automation** – ejecuta sus runbooks bajo una identidad administrada que usted controla.
* **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 — utilizando solo los permisos mínimos que usted concede durante la incorporación. Consulte [Permisos requeridos del Portal](/es/implementacion/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 **West Europe** región con respaldo en **North Europe**. **Los datos del cliente no salen de Europa.**
* **Entrega:** Se accede al Portal y a las APIs directamente por HTTPS. Los paquetes de aplicaciones y el contenido se entregan a través del RealmJoin **CDN**, con front-end a través de **Azure Front Door** para una distribución con balanceo de carga global.
* **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 habilita, y todas las acciones se rigen por el modelo interno de RBAC de RealmJoin.
* **Resiliencia:** Infraestructura redundante con conmutación por error automatizada y recuperación puntual de la base de datos; la infraestructura está totalmente definida como código (Terraform).

{% hint style="info" %}
Los puntos de conexión accesibles externamente son el **Portal, Client-API, Customer-API, CDN y Package Server**. Para la lista completa de hosts que debe permitir en su firewall, consulte [Consideraciones de infraestructura](/es/implementacion/infrastructure.md). Para más detalles sobre el manejo de datos y la separación por Tenant, consulte [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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
