Skip to content

Escalar el desarrollo coordinado en múltiples archivos soberanos

La topología de app-orchestration-command está diseñada para crecer. Este artículo describe los desafíos de coordinación que aparecen a medida que aumenta el número de Totebox Archives, los mecanismos introducidos para abordarlos y la trayectoria prevista hacia el aislamiento de procesos por archivo.

El desafío de coordinación

Cuando un número reducido de archivos comparte un coordinador central, la carga de trabajo del coordinador es manejable: un operador humano puede retransmitir mensajes entre archivos, revisar las solicitudes de publicación una a una y mantener la cola manualmente. A medida que el número de archivos supera los diez o veinte, emergen tres cuellos de botella:

  1. Serialización de la publicación. Cada archivo que quiere que su código figure en el historial canónico debe esperar a que el coordinador ejecute la secuencia de publicación. Si el coordinador está ocupado con otro archivo —o simplemente no está en ejecución— la cola crece.
  2. Latencia de retransmisión de mensajes. Los archivos se comunican mediante un sistema de mensajes basado en ficheros. Sin automatización, los mensajes permanecen en la cola de salida de un archivo hasta que el operador del coordinador los entrega manualmente al destino. Con 21 archivos, esto se convierte en una tarea manual recurrente.
  3. Carga cognitiva del operador. El operador del coordinador debe hacer un seguimiento simultáneo del estado de todos los archivos: solicitudes de publicación pendientes, mensajes sin entregar, tareas bloqueadas y alertas operativas. A escala, esto no es sostenible.

La ruta de publicación descentralizada

La primera mitigación es un modelo de elegibilidad por niveles. Los archivos que han demostrado madurez operativa —superando de forma consistente sus suites de compilación y pruebas, manteniendo historiales limpios y operando sin intervenciones frecuentes— pueden obtener un nivel de autoservicio más alto.

En el nivel de autoservicio más alto (previsto/en desarrollo), un archivo puede iniciar la publicación canónica directamente, sin esperar a que actúe el operador del coordinador. El requisito previo es que la clave de administrador sea accesible desde el entorno del archivo. El coordinador valida el resultado a posteriori y registra el evento de publicación en el libro mayor de auditoría.

Esto no elimina el papel del coordinador; delega la publicación rutinaria de bajo riesgo a los archivos que se han ganado esa confianza, reservando la atención del coordinador para decisiones de mayor importancia.

El sustrato de mensajería

Los mensajes entre archivos se escriben en un formato de fichero estructurado y rastreado por git —uno por archivo, de adición al principio únicamente, con encabezados de esquema validado. Este formato es auditable, permite diferencias y es recuperable desde el historial git del archivo.

Un servicio de retransmisión (previsto/en desarrollo) automatizará la entrega de mensajes: con una cadencia regular, analizará la cola de mensajes salientes de cada archivo, leerá el destino declarado y escribirá cada mensaje en la cola de mensajes entrantes del archivo destino utilizando la ruta de escritura canónica. El paso de retransmisión manual del operador del coordinador será sustituido por un temporizador en segundo plano.

Por qué no un intermediario de mensajes

Se evaluaron alternativas como NATS o RabbitMQ y se descartaron para este caso de uso:

  • Desajuste en la tasa de mensajes. Los mensajes entre archivos llegan en horas y días, no en milisegundos. Un intermediario optimizado para mensajería de alta capacidad y baja latencia introduce complejidad de infraestructura que la tasa de mensajes real no justifica.
  • Duplicidad de fuente de verdad. El formato de mensajes basado en ficheros ya está rastreado y versionado por git. Introducir un intermediario crearía un segundo registro autoritativo del estado de los mensajes, sin una regla clara sobre cuál respetar en caso de divergencia.
  • Superficie de dependencia. Un intermediario es un servicio adicional de larga ejecución que debe instalarse, monitorizarse y mantenerse coherente con el registro git. El sistema basado en ficheros funciona sin ningún tiempo de ejecución externo.

El servicio de retransmisión añade automatización sin añadir un intermediario: lee y escribe el mismo formato de fichero que ya existe.

Aislamiento por operador

El modelo actual ejecuta todos los Totebox Archives bajo un usuario del sistema compartido. Cada archivo puede leer y escribir los ficheros de cualquier otro archivo, limitado únicamente por los permisos de grupo del sistema de ficheros.

Una trayectoria prevista (previsto/en desarrollo) asigna cada Totebox Archive a un operador específico (usuario de Linux). Ese operador es el propietario del sistema de ficheros del archivo y el titular exclusivo de su identidad de commit. Los archivos cuyo propietario es un operador diferente no pueden escribir en los ficheros de estado del otro sin una escalada explícita. Esto refleja la topología de producción objetivo, en la que cada archivo se ejecuta como una instancia os-totebox dedicada con pleno aislamiento de procesos.

La transición del entorno de usuario compartido al aislamiento por operador es incremental. El primer paso consiste en aprovisionar material criptográfico para cada operador, de modo que pueda realizar commits desde su propia sesión de terminal. Los pasos siguientes asignan la propiedad del directorio del archivo y restringen el acceso al sistema de ficheros entre archivos.

Trayectoria

La instalación actual de app-orchestration-command opera 21 archivos en un entorno de usuario compartido en un único host os-orchestration. Es un prototipo funcional de la arquitectura objetivo.

La topología de producción prevista asigna cada archivo a una instancia os-totebox dedicada —un nodo de cómputo monofuncional que ejecuta los servicios del archivo, con su propio usuario operador, identidad de commit y límite de red. app-orchestration-command en os-orchestration sigue siendo el coordinador de publicación y la autoridad de auditoría; no desaparece, pero su papel pasa a ser de coordinación más que de ejecución.

Esta topología es objeto de trabajo arquitectónico en curso. La documentación actual sobre los modelos os-orchestration y os-totebox se mantiene de forma independiente; consulte los temas relacionados a continuación.

Temas relacionados

Important Information

Important Information

Corporate structure. PointSav Digital Systems ("PointSav") is a trade name of Woodfine Capital Projects Inc. ("Woodfine"). PointSav does not itself offer, sell, or solicit any security. Any securities offering associated with Woodfine's real-property direct-hold solutions is made exclusively by Woodfine, and only by means of the applicable Private Placement Memorandum.

No investment advice. This wiki's content is provided for engineering, operational, research, and development purposes. Nothing on this wiki constitutes investment advice or a solicitation to invest in any Woodfine partnership or direct-hold solution.

Intellectual property. The PointSav name, trade name, wordmark, and marks, together with all current and future PointSav- and Totebox-branded products, services, and offerings — and the software, source code, documentation, design system, and all related materials — are proprietary to Woodfine and its affiliates, except for components identified as open source. No rights are granted except as expressly set out in a written license or agreement. See TRADEMARK.md in this repository for the full trademark notice.

Open source components. Portions of the platform are made available under permissive open-source licenses identified in the accompanying repository. Use of those components is governed by their respective license terms.

No warranty; informational use. Content on this wiki is provided for general informational purposes only and does not constitute a representation, warranty, or commitment with respect to product functionality, availability, pricing, or roadmap. Some articles describe planned or intended features, capabilities, and milestones — language such as "planned," "intended," "targeted," "may," and "expected" marks this forward-looking content, which is subject to change and does not constitute a commitment regarding future performance.

Confidentiality. Where an article describes an operational or deployment detail that is not intended for public disclosure, that article is not published on this wiki. Content here is general-purpose engineering documentation, not customer-specific configuration.

Jurisdiction. Woodfine Capital Projects Inc. is organized in British Columbia, Canada. References to the Sovereign Data Foundation on this wiki describe a planned or intended initiative only, not a current equity holder or active governance body.

Changes to this notice. PointSav may update this notice from time to time; the version posted on this page governs.

Not a filing system. This wiki is not a securities filing system, an electronic disclosure repository, or a substitute for SEDAR+ or any other regulatory filing system. Formal securities filings are made through the applicable regulatory filing system, not through this wiki.

Full disclaimer. This notice supplements, and does not replace, the full Disclaimers article. In the event of any conflict, the full Disclaimers article governs.

Read the full disclaimer →