
Nell’ambito dello sviluppo software, talvolta, può essere necessario suddividere i componenti di un’applicazione (presenti sulla stessa macchina) su due differenti container.
Lo scopo dei container è quello di isolare i processi in modo da poterli eseguire in maniera indipendente stabilendo un confine tra gli stessi.
Tale suddivisione potrebbe essere necessaria a causa dell’utilizzo di differenti risorse (resource isolation), di differenti gruppi di sviluppo (team ownership) o di funzionalità diverse (separation of concerns).
In questo caso, si può utilizzare il pattern “sidecar”: questo modello si compone di un’applicazione principale ed una secondaria (sidecar) che offre funzionalità di supporto per l’applicazione padre. Il sidecar condivide anche lo stesso ciclo di vita dell’applicazione padre, poiché viene creato e ritirato insieme al padre.
Per approfondire l’argomento ti suggerisco il seguente libro in lingua inglese: