Atlassian Cloud: come creare backup in casa?
Spunti interessanti per creare delle copie di Backup delle istanze Cloud

Come funzionano i backup su Atlassian Cloud
Per Jira e Confluence Cloud, Atlassian utilizza la funzionalità snapshot di Amazon RDS (Amazon Relational Database Service) per creare backup giornalieri automatizzati per ogni istanza RDS. Gli snapshot Amazon RDS vengono conservati per 30 giorni con supporto per il ripristino point-in-time e sono crittografati utilizzando la crittografia AES-256.
Per Bitbucket, invece, i backup sono archiviati sia nei data center NTT fisici, sia in AWS.
Atlassian verifica i backup per il ripristino su base trimestrale. Con eventuali problemi identificati da questi test, vengono aperti Ticket su istanza Jira del supporto Atlassian, per garantire che le criticità siano monitorate e gestite fino alla loro risoluzione.
Atlassian Cloud, a differenza delle versioni Server e Data Center non gestisce i backup automatici. Ad ora, è possibile gestire i backup ‘data-only’ che non comprendono allegati, avatar e loghi, che possono essere eseguiti in ogni momento. I backup completi, compresi di allegati, avatar e loghi, invece possono essere eseguiti solo una volta ogni 48 ore.
Automatizzare i backup di Atlassian
Atlassian non fornisce ufficialmente il rollback dei dati sulla base delle richieste dei clienti; è quindi essenziale eseguire regolarmente il backup del sito. Ad esempio, il backup potrà essere utile quando uno dei dati del sito è stato perso dall'operazione dell'utente.
Le istanze Atlassian Cloud non supportano l'uso dei dati di backup per ripristinare le modifiche.
Per automatizzare i backup sulle istanze Atlassian Cloud, di Jira e Confluence, esistono fondamentalmente tre strade:
- Suggerita anche da Atlassian, ma non supportata, è utilizzare degli script sviluppati dalla community.
- Utilizzare le automazioni di Jira.
- Utilizzare il plugin Atlassian Command Line Interface (CLI)
Vediamo nel dettaglio le tre soluzioni.
1 - Script community
Gli script suggeriti anche da Atlassian, prevedono la gestione di un set di informazioni utili per effettuare le chiamate e sono disponibili a questo link:
https://bitbucket.org/atlassianlabs/automatic-cloud-backup/src/master/
- Email -> Account administrator
- API_Token -> riferimento per account administrator
- Hostname -> URL dell’istanza
- Download_Folder -> Path dove salvare il file
- Include_Attachments -> Flag per includere allegati
- Export_to_Cloud -> Flag per backup versione Cloud
Con questi dati di input, viene fatta una chiamata REST di tipo Post sull’url dell’istanza Cloud interessata, passando come credenziali l’email e l’api token dedicato.
Gli script sono disponibili in linguaggio Bash, Powershell, and Python.
Usando questi, si può generare un file di backup scaricabile. A seconda del sistema operativo utilizzato, è possibile automatizzare e schedulare questa attività, ad esempio attraverso il Crontab dei sistemi Linux. Bisogna tenere presente che i backup vengono archiviati per essere scaricati solo per 14 giorni su Jira e per 7 giorni su Confluence.
2 - Automazioni di JIRA
Prerequisito:
È necessario abbonarsi ad almeno un prodotto della famiglia Jira; il che significa che non è possibile seguire questa istruzione solo con l'abbonamento a Confluence poiché viene utilizzata la funzione nativa di automazione di Jira che è disponibile solo per Jira.
È importante sottolineare che, in questo approccio, viene solo eseguita la generazione del file di backup e saltato il download dei file stesso. Si consiglia di scaricare i backup del sito, se possibile.
Preparazione:
Avere un account amministratore e generare un API Token, da codificare in base64.
Primo step:
- Creare una regola di automazione
- Settare l’espressione Cron per l’esecuzione della regola
- Settare il flag ‘simply run the conditions and actions without providing issues’
Secondo step:
- Aggiungere un’azione di tipo ‘Send web requests’
- Settare l’url del Webhook: {{baseUrl}}/wiki/rest/obm/1.0/runbackup
- Settare l’Header: Authorization: Basic <API_Token_base64>
- Settare il body del Webhook: {"cbAttachments":"true"}
Terzo step:
- Aggiungere un’azione di tipo ‘Log action’
- Scrivere {{webhookResponse}} nel messaggio di log, in modo da avere una traccia della chiamata precedente.
Quarto step:
- Salvare la regola e lanciare un’esecuzione di test.
Quinto step:
- Controllare il link di download nel backup manager.
3 - Plugin Atlassian Command Line Interface
L'interfaccia a riga di comando (CLI) di Bob Swift utilizza semplici comandi basati su testo per convertire lunghe attività manuali in azioni efficaci e automatizzate.
Atlassian CLI è una famiglia integrata di CLI per varie applicazioni Atlassian che fornisce una piattaforma di automazione coerente e affidabile per utenti avanzati, amministratori, autori di script e sviluppatori DevOps. Questo fornisce una modalità per eseguire rapidamente attività, implementare processi aziendali o automazione generale con i prodotti Atlassian. Le CLI sono basate su API remote fornite dalle applicazioni Atlassian e forniscono un'API basata su client di livello superiore che è più facile da usare rispetto alle API del prodotto sottostante.
In particolare, attraverso le azioni fornite dall’interfaccia del client si possono creare degli script per generare il backup dell’istanza Cloud, automatizzarlo e schedularlo, ad esempio attraverso il Crontab dei sistemi Linux.
Qui si può trovare per esempio il plugin per Jira: https://marketplace.atlassian.com/apps/6398/jira-command-line-interface-cli?hosting=cloud&tab=overview
Qui invece è possibile scaricare il client per ogni piattaforma e trovare un’ampia documentazione sulle action del plugin:
https://bobswift.atlassian.net/wiki/spaces/ACLI/overview
Precisazioni e considerazioni finali
Per ognuna di queste strade ci sono degli aspetti da non sottovalutare:
- Non ci sono costi extra, basta utilizzare gli script della community e le API native dell’istanza Cloud.
- Jira ha un limite massimo per l'esecuzione delle regole di automazione associato al piano di abbonamento. Ciò significa che non si genererà un file di backup se viene superato il limite. Nel caso di istanze standard, sarà quindi da valutare l'aggiornamento a Premium, soprattutto se sono già predisposte un numero rispettabile di regole di automazione globali.
- Bisogna acquistare il plugin per ogni applicativo, e il prezzo varia in base al numero di utenti presenti sulla piattaforma. Gli abbonamenti al plugin possono essere gestiti su base mensile o annuale ed esiste la possibilità di una prova gratuita di 30 giorni per provare il prodotto.
Realizziamo qualcosa di straordinario insieme!
Siamo consulenti prima che partner, scrivici per sapere quale soluzione si adatta meglio alle tue esigenze. Potremo trovare insieme la soluzione migliore per dare vita ai tuoi progetti.