This thesis work was conducted within beSharp, an IT company that provides products and professional services mainly focused on Cloud computing. Under the "Noovolari" brand, beSharp sells various products in many different fields of application, ranging from Cloud disaster recovery to Cloud Desktops. Cloud computing providers like Amazon, Microsoft, and Google provided services and solutions to build Cloud IT infrastructures in the past years. These providers also offer dedicated services to keep safe virtual machines, applications, and databases. Though, to have consistent and application-aware backups, there is the need to create custom products. One of these products is the Noovolari Smart Backup (codename "Bernie"). Nowadays, the necessity of backups is vital in the IT world. Complex infrastructures frequently need a faster way to perform this kind of operation and reduce the impact on storage. There are a lot of physical limitations due to the data storage of large and distributed architecture. For instance, a micro-service architecture can be limited to its regular functions if a backup is not performed correctly. A database of dozens of terabytes containing extremely sensitive data (i.e., bank transactions) has to have a backup retention policy that lasts months or even several years. Moreover, it is common for these solutions to have a very deep granularity on the backup schedules, up to twice a day or more, and this can be slightly expensive in terms of data storage on physical disks. Thus, for these reasons, one of Bernie's key components is an agent written in Python, which has to be installed into each virtual machine member of a Cloud infrastructure to ensure consistent and context-aware backups. In particular, the application awareness is quite challenging to manage because the agent should interact with as many market standard server applications (mainly SQL and NoSQL DBs like MySQL, PostgreSQL, Oracle, Microsoft SQL Server, MongoDB, Cassandra, and many others) and execute custom pre and post backup scripts to cover non-standard or proprietary applications. In 2020, the agent gained such a level of complexity that led to the decision to start exploring a new path of redesigning the solution into a more flexible and lightweight one. In this thesis work, with the Noovolari team, it has been decided to focus on the analysis, the design, and the implementation of a minimum value proposition of a new Smart Backup agent, to renovate the old solution's infrastructure and try to exploit new technologies to cover different case scenarios and overcome technical difficulties that had been faced in the past.

Backup Consistenti, Incrementali a Livello di Blocco nel Cloud Progettazione e Sviluppo di un Agent Sensibile al Contesto Questo lavoro di tesi è stato condotto in collaborazione con beSharp, un'azienda IT che fornisce prodotti e servizi professionali principalmente focalizzati sul Cloud computing. Con il marchio "Noovolari", beSharp commercializza vari prodotti in diversi campi di applicazione, dal ripristino di emergenza del cloud ai desktop cloud. I provider di cloud computing come Amazon, Microsoft e Google hanno fornito servizi e soluzioni per creare infrastrutture IT cloud negli ultimi anni. Questi provider offrono anche servizi dedicati per mettere in sicurezza i dati di macchine virtuali, applicazioni e database. Tuttavia, per avere backup coerenti e compatibili con l'applicazione, è necessario creare prodotti personalizzati. Uno di questi prodotti è Noovolari Smart Backup (nome in codice "Bernie"). Al giorno d'oggi, la necessità di backup è vitale nel mondo IT. Le infrastrutture complesse spesso necessitano di un modo più rapido per eseguire questo tipo di operazione e ridurre l'impatto sullo storage. Esistono molte limitazioni fisiche dovute all'archiviazione dei dati di un'architettura ampia e distribuita. Ad esempio, un'architettura di microservizi può essere limitata alle sue normali funzioni se un backup non viene eseguito correttamente. Un database di decine di terabyte contenenti dati estremamente sensibili (ad esempio transazioni bancarie) deve avere una politica di conservazione del backup che duri mesi o anche diversi anni. Inoltre, è comune che queste soluzioni abbiano una granularità molto profonda sulle pianificazioni di backup, fino a due o più volte al giorno, e questo può essere leggermente costoso in termini di archiviazione dei dati su dischi fisici. Pertanto, per questi motivi, uno dei componenti chiave di Bernie è un agent scritto in Python, che deve essere installato in ogni macchina virtuale di un'infrastruttura Cloud per garantire backup coerenti e sensibili al contesto. In particolare, la consapevolezza dell'applicazione è piuttosto difficile da gestire perché l'agent dovrebbe interagire con altrettante applicazioni server standard di mercato (principalmente DB SQL e NoSQL come MySQL, PostgreSQL, Oracle, textit {Microsoft SQL Server, MongoDB, Cassandra e molti altri) ed esegue script personalizzati di pre e post backup per coprire applicazioni non standard o proprietarie. Nel 2020, l'agent ha raggiunto un tale livello di complessità che ha portato alla decisione di iniziare a esplorare un nuovo percorso di riprogettazione della soluzione in uno più flessibile e leggero. In questo lavoro di tesi, con il team Noovolari, si è deciso di concentrarsi sull'analisi, la progettazione e l'implementazione di una prima iterazione di un nuovo agent Smart Backup, per rinnovare l'infrastruttura della vecchia soluzione e provare sfruttare le nuove tecnologie per coprire diversi casi e superare le difficoltà tecniche che erano state affrontate in passato.

Consistent, Block-level, Incremental Backup in the Cloud Design and Development of Context-Aware Agent

ZACCAGNO, GABRIELE
2020/2021

Abstract

This thesis work was conducted within beSharp, an IT company that provides products and professional services mainly focused on Cloud computing. Under the "Noovolari" brand, beSharp sells various products in many different fields of application, ranging from Cloud disaster recovery to Cloud Desktops. Cloud computing providers like Amazon, Microsoft, and Google provided services and solutions to build Cloud IT infrastructures in the past years. These providers also offer dedicated services to keep safe virtual machines, applications, and databases. Though, to have consistent and application-aware backups, there is the need to create custom products. One of these products is the Noovolari Smart Backup (codename "Bernie"). Nowadays, the necessity of backups is vital in the IT world. Complex infrastructures frequently need a faster way to perform this kind of operation and reduce the impact on storage. There are a lot of physical limitations due to the data storage of large and distributed architecture. For instance, a micro-service architecture can be limited to its regular functions if a backup is not performed correctly. A database of dozens of terabytes containing extremely sensitive data (i.e., bank transactions) has to have a backup retention policy that lasts months or even several years. Moreover, it is common for these solutions to have a very deep granularity on the backup schedules, up to twice a day or more, and this can be slightly expensive in terms of data storage on physical disks. Thus, for these reasons, one of Bernie's key components is an agent written in Python, which has to be installed into each virtual machine member of a Cloud infrastructure to ensure consistent and context-aware backups. In particular, the application awareness is quite challenging to manage because the agent should interact with as many market standard server applications (mainly SQL and NoSQL DBs like MySQL, PostgreSQL, Oracle, Microsoft SQL Server, MongoDB, Cassandra, and many others) and execute custom pre and post backup scripts to cover non-standard or proprietary applications. In 2020, the agent gained such a level of complexity that led to the decision to start exploring a new path of redesigning the solution into a more flexible and lightweight one. In this thesis work, with the Noovolari team, it has been decided to focus on the analysis, the design, and the implementation of a minimum value proposition of a new Smart Backup agent, to renovate the old solution's infrastructure and try to exploit new technologies to cover different case scenarios and overcome technical difficulties that had been faced in the past.
2020
Consistent, Block-level, Incremental Backup in the Cloud Design and Development of Context-Aware Agent
Backup Consistenti, Incrementali a Livello di Blocco nel Cloud Progettazione e Sviluppo di un Agent Sensibile al Contesto Questo lavoro di tesi è stato condotto in collaborazione con beSharp, un'azienda IT che fornisce prodotti e servizi professionali principalmente focalizzati sul Cloud computing. Con il marchio "Noovolari", beSharp commercializza vari prodotti in diversi campi di applicazione, dal ripristino di emergenza del cloud ai desktop cloud. I provider di cloud computing come Amazon, Microsoft e Google hanno fornito servizi e soluzioni per creare infrastrutture IT cloud negli ultimi anni. Questi provider offrono anche servizi dedicati per mettere in sicurezza i dati di macchine virtuali, applicazioni e database. Tuttavia, per avere backup coerenti e compatibili con l'applicazione, è necessario creare prodotti personalizzati. Uno di questi prodotti è Noovolari Smart Backup (nome in codice "Bernie"). Al giorno d'oggi, la necessità di backup è vitale nel mondo IT. Le infrastrutture complesse spesso necessitano di un modo più rapido per eseguire questo tipo di operazione e ridurre l'impatto sullo storage. Esistono molte limitazioni fisiche dovute all'archiviazione dei dati di un'architettura ampia e distribuita. Ad esempio, un'architettura di microservizi può essere limitata alle sue normali funzioni se un backup non viene eseguito correttamente. Un database di decine di terabyte contenenti dati estremamente sensibili (ad esempio transazioni bancarie) deve avere una politica di conservazione del backup che duri mesi o anche diversi anni. Inoltre, è comune che queste soluzioni abbiano una granularità molto profonda sulle pianificazioni di backup, fino a due o più volte al giorno, e questo può essere leggermente costoso in termini di archiviazione dei dati su dischi fisici. Pertanto, per questi motivi, uno dei componenti chiave di Bernie è un agent scritto in Python, che deve essere installato in ogni macchina virtuale di un'infrastruttura Cloud per garantire backup coerenti e sensibili al contesto. In particolare, la consapevolezza dell'applicazione è piuttosto difficile da gestire perché l'agent dovrebbe interagire con altrettante applicazioni server standard di mercato (principalmente DB SQL e NoSQL come MySQL, PostgreSQL, Oracle, textit {Microsoft SQL Server, MongoDB, Cassandra e molti altri) ed esegue script personalizzati di pre e post backup per coprire applicazioni non standard o proprietarie. Nel 2020, l'agent ha raggiunto un tale livello di complessità che ha portato alla decisione di iniziare a esplorare un nuovo percorso di riprogettazione della soluzione in uno più flessibile e leggero. In questo lavoro di tesi, con il team Noovolari, si è deciso di concentrarsi sull'analisi, la progettazione e l'implementazione di una prima iterazione di un nuovo agent Smart Backup, per rinnovare l'infrastruttura della vecchia soluzione e provare sfruttare le nuove tecnologie per coprire diversi casi e superare le difficoltà tecniche che erano state affrontate in passato.
File in questo prodotto:
Non ci sono file associati a questo prodotto.

È consentito all'utente scaricare e condividere i documenti disponibili a testo pieno in UNITESI UNIPV nel rispetto della licenza Creative Commons del tipo CC BY NC ND.
Per maggiori informazioni e per verifiche sull'eventuale disponibilità del file scrivere a: unitesi@unipv.it.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14239/13061