Manteniamo sincronizzati i nostri Space di Confluence
In questo post andremo ad esaminare come possiamo gestire una sincronizzazione di Space, sia nella stessa istanza, che su istanze differenti. Andiamo in modalità esplorativa
Introduzione dello scenario
Lo scenario che mi piacerebbe implementare serve nel caso di problemi che si possono presentare nella istanza di produzione. Se abbiamo a disposizione una istanza, minore con un numero inferiore di utenti, possiamo avere un backup sempre pronto all’uso che ci permette di poter ripristinare in tempi brevi l’operatività, permettendoci poi di ripristinare tutti gli aggiornamenti nel caso di riattivazione dell’ambiente di produzione.
Questo articolo rientra in un insieme di studi che sono nati dopo che ho pubblicato questo articolo, visto che sono stato uno dei fortunati a ricevere questa situazione. Per questo motivo voglio avere delle alternative da poter ottenere un esempio di Disaster Recovery anche per le nostre istanze Atlassian Cloud.
Come possiamo eseguire questa operazione?
Analizzando il Marketplace, operazione che eseguiamo quotidianamente, identifichiamo il seguente addon che ci permette di eseguire la sincronizzazione di due space relativi a due istanze Cloud differenti.
In questo caso abbiamo un addon che ci può aiutare.
Andiamo ad esaminarlo.
Che cosa offre l’addon
L’addon permette di eseguire una sincronizzazione da uno Space all’altro, nell’ambito di una stessa istanza, ma anche su istanze differenti. Questa funzionalità ci permette di poter creare degli scenari non indifferenti, permettendo di creare degli ambienti di Disaster Recovery, ma non solo. possiamo anche sfruttare questa funzionalità anche in scenari in cui dobbiamo gestire l’approvazione dei contenuti. Le idee scorrono potenti 🙂
Il seguente schema riassume il funzionamento e ci permette di capire come ragiona l’addon
Osserviamo che la sincronizzazione, una volta impostata, è bidirezionale, di conseguenza qualsiasi operazione eseguita in uno degli Space viene immediatamente riverberata sugli altri. Non solo. Oltre alla sincronizzazione completa dello Space, abbiamo anche la sincronizzazione della singola pagina, come vediamo dalla seguente figura:
dove vediamo tutti i collegamenti impostati e abbiamo la possibilità di poter sincronizzare anche le singole pagine. La stessa interfaccia ci permette di capire se abbiamo eseguito l’aggiornamento della pagina o meno.
La configurazione non risulta impossibile, sempre guardando le schermate che sono presenti sul Marketplace. Viene fatto uso di Token per rendere sicura la sincronizzazione.
Convinto subito: Lo provo.
Iniziamo quindi a Installare l’addon. Come sempre ci serviamo di una GIF animata per vedere come eseguire l’installazione dell’addon.
Nota Bene – Lo installo ovviamente su due istanze per poi anche provare la sincronizzazione tra due istanze cloud differenti.
Andiamo ad analizzare subito la configurazione generale, cui accediamo dal menù Apps
Che ci mostra l’elenco degli space disponibili e ci fornisce il link diretto alla configurazione, che ci permette di poter accedere alla configurazione diretta dell’addon che è presente nelle configurazioni dei singoli Space
Se selezioniamo Edit sync settings veniamo reindirizzati alla pagina di configurazione vera e propria.
La configurazione di una sincronizzazione non richiede tantissimo. Semplicemente definiamo una sincronizzazione in quello che è lo Space sorgente. Da questo andiamo a scaricare il Token (è un file JMT), che andremo a caricare nella configurazione dello Space Destinazione.
A questo punto ho creato prima una sincronizzazione tra due Space di una stessa istanza e successivamente una sincronizzazione tra due istanze. A tale scopo ho due istanze Cloud dedicate allo scopo che ho preparato per un test che è diventato questo Case Study. Mi sono quindi limitato a configurare e a verificare
Ho scelto questi Space perché presentavano delle informazioni differenti ed ho verificato come si comportavano.
Come possiamo vedere dalla GIF animata, l’esecuzione è molto semplice e non abbiamo molti output. Lo stesso LOG non ha dato alcun risultato e non abbiamo nulla da vedere dopo. Questo è un punto importante.
Anche l’esecuzione della parte multiistanza non presenta molti problemi:
Vediamo che il risultato mostrato è il medesimo.
Andando ad analizzare il tutto, vediamo che le operazioni hanno sincronizzato le pagine, ma ho notato una cosa: La Homepage degli Space non viene sincronizzata.
Infatti Il mio space ‘sorgente’ ha questa homepage
Osserviamo che per la Homepage non abbiamo a disposizione alcun menù che ci mostra lo stato della sincronizzazione. Mentre per le altre pagine abbiamo tale funzione disponibile.
Vediamo la stessa pagina con la Dialog box sui due spazi distinti. Lo stesso risultato lo abbiamo anche quando usiamo la sincronizzazione su multistanza.
Risultato del test
Il risultato è sicuramente positivo ma ho notato alcune cose. Sono abbastanza sicuro del perché ci sia il comportamento che ho notato, ma voglio esserne sicuro e quindi lo evidenzio qui. Sono sicuro che gli autori dell’addon mi confermeranno le ipotesi.
- La Home page dello Space non risulta inclusa nella sincronizzazione.
- La sincronizzazione avviene copiando dallo Space origine verso lo Space destinazione
- Non vedo i log delle operazioni, sia quando sono in esecuzione sia quando sono concluse le operazioni di sincronizzazione
La Homepage non viene sincronizzata ma ho il dubbio che, per come è organizzato Confluence, l’addon non riesca ancora ad eseguire questa operazione.
Eseguire la sincronizzazione in una direzione piuttosto che in entrambe le direzioni non lo vedo come un problema. Nello scenario che ci siamo posti come obiettivo, non è affatto un problema in quanto prima di usa una delle due istanze come Disaster Recovery e di conseguenza la sincronizzazione è in una direzione. Solo dopo può essere necessario sincronizzare nella direzione inversa in quanto, nel caso in cui la produzione non risponde, allora serve la sincronizzazione per ripristinare la produzione.
Cosa più importante sono i LOG. Il fatto che non riesca a vederli durante l’esecuzione e poi a sincronizzazione eseguita, lo vedo come un problema. Nel caso di malfunzionamento, occorre sempre capire la causa e i LOG sono fondamentali. Di conseguenza questo punto deve essere visto dai produttori dell’addon in modo da renderlo disponibile sempre e anche facilmente consultabile.
Conclusione
Il mio giudizio è sempre positivo: abbiamo un addon molto interessante, anche se non riusciamo in pieno ad implementare la soluzione del Disaster recovery. Il fatto di non riuscire a copiare per intero la pagina iniziale dello Space, non è proprio il massimo, ma non ci scoraggiamo. Abbiamo uno strumento in più da poter usare per i nostri obiettivi. Non abbiamo uno strumento che esegue perfettamente la sincronizzazione come ci aspettiamo, ma riusciamo comunque ad avere un risultato che ci si avvicina. In aggiunta ci vedo un altro possibile utilizzo: quando gestiamo una documentazione e abbiamo un processo abbastanza complesso di approvazione delle modifiche, quello che possiamo fare è usare 2 space: uno per la documentazione ufficiale e uno per redigere le modifiche. Quando la modifica viene approvata, questa viene sincronizzata con lo Space ufficiale. Quindi, questo ci deve insegnare a non abbandonare un addon se non esegue proprio quello che ci interessa, ma semplicemente lo andiamo ad applicare ad altre situazioni
Reference
Maggiori informazioni sono disponibili alla pagina del Marketplace