Hackernoon logoHow to Make Your Own and Free Backup Application by@katia-shabanova

How to Make Your Own and Free Backup Application

Author profile picture

@katia-shabanovaKatia Shabanova

20+ experience in IT

In our age of rapidly developing technologies, data loss can be a disaster not only for large corporations, but also for the average user, showcasing the immense importance of backup and data recovery in today’s data driven world.
According to Gartner, one hour of downtime in a large business can cost from $100,000 to $1.5 million. Additionally,
  • $1.55 million per year - financial loss,
  • 545 hours per year - useful working hours loss,
  • 200 minutes a year is spent on eliminating problems with the IT infrastructure,
  • 56% of Fortune 500 companies are idle for at least 1.5 hours a week.
This situation creates a great demand for utilities and software solutions that have been  developed for backing up local data, entire systems and infrastructure.
Why is backup necessary? 
Backing up your data is the only way to restore it, if something goes wrong in the main data storage location of a business, or other data loss occurs. There are two ways of efficient data backup, of which both should be used in conjunction with the 3-2-1 backup rule:
  • Local backup, for example into RAID arrays, and/or other local backup strategies,
  • Cloud backup.
The latter - cloud backup - has both advantages and disadvantages. At Paragon, we analyzed these strategies, gathered all the experience that we have accumulated over more than 25 years of work and combined all this into our Paragon Open Cloud Backup (OCB) platform. It can solve a major part of the problems associated with data backup. Moreover, the platform gives the opportunity to use cloud backup as a ready-made solution, and at the same time use its components as the basis for building a brand-new customizable backup solution.
This flexibility might be very suitable for MSPs (managed service providers), as they can create a unique, fully automated and load-resistant backup application for their customers.
Based on our work with MSPs, as well as with small businesses (who are usually  MSP clients), we derived a formula for  the most effective solution for both sides of the process.
So, what do MSP end-customers expect from an ideal backup solution?
  • Versatility: They have to copy not only single files, but also entire systems, databases, create full images of physical disks, virtual servers and virtual machines
  • Accuracy: System files must be exact copies, without data corruption or gaps 
  • Storage saving: Storage backups should not require tons of disk space.
  • Inconspicuous: The backup process should be an invisible background process  and proceed  without negative system impact 
  • Speed: Copying a massive amount of data should not take hours
  • Security: Only authorized and authenticated users should ever get access to the copied data, and the process itself must fully comply with the GDPR. 
As service providers ourselves, we perfectly understand the problems that MSPs have during the process of creating and launching a new product or service on the market:
  • Minimization of product manufacturing and operating costs,
  • Free customization of a product`s backend and the processes on which it is based,
  • Creating a competitive offer, the best in its category, with an attractive price for the end user, with high profitability for the service provider itself,
  • Maximizing the speed of product-to-market launch,
  • Easy solution deployment on the client side and on the side of the service provider,
  • Professional support,
  • White label licensing – all the necessary rights to sell a product as a service under an MSP’s own brand.
In this article, we want to talk about the possibilities and tools to create such an “ideal” product and which way will be the most optimal for the developer.
As we`ve already mentioned above, based on our long-term experience in relationships with different sides of the same coin (MSPs and business), we have developed an open Cloud Backup platform specifically for MSPs, allowing them to create the same “dream” product for their customers - one which is fast, reliable and flexible.
So, let's start from the very beginning.
What is an Open Cloud Backup (OCB) platform?
Thanks to the use of cloud infrastructure, the Paragon Open Cloud Backup platform provides unlimited possibilities for the safe storage and processing of huge amounts of information.
Due to the fact that all basic operations are regulated by our own backend, there is no need to worry about technology updates, migration or obsolescence.
Depending on the total size of the data, the first full backup may be too time-consuming and could affect production systems. So, we took this into account before platform implementation and decided to get around this by using an incremental data loading process. Then, with each subsequent backup, only new or updated records are uploaded from the database, and the rest of the files remain in their original state, while at the same time, unnecessary data is excluded from the backup. This saves storage space,  minimizes network traffic and the impact of the process on performance, while ensuring the data required for a full restoration has been saved. 
In addition, it’s important to note having more than enough storage capacity for all your data, and the ability to backup there directly, aren’t the only things needed for a truly successful backup. It is very important that your data warehouse and backup solutions have an appropriate level of security. Our experience shows that the best way to protect your data is to combine 256-bit AES encryption with two-factor authentication. Creating such functionality from scratch is a rather lengthy and complex process, so we developed a special microservice to do all the work for you.
What does an OCB platform consist of?
An OCB Platform is a set of professional tools for creating a reliable end product under the brand of your company. Thus, our version of an OCB includes:
  1. Paragon Cloud Backup SDK (PCB SDK). A set of local agents (software units) to install on local machines which perform secure backup tasks.
  2. Access to the backend through the API. Microservice backup processing.
  3. The algorithm of agentless backup processing. An algorithm that allows you to control the backup process using microservices on our backend without installing local SDK agents (if necessary).
  4. Licensing. The ability to use our white-label technologies for the further resale (or any other method of monetization) as an MSP’s own branded product for end-customers.
  5. Tenant account structure. A multi-user account in which the administrator (tenant owner) can distribute the user access levels to the platform and the rights to interact with it.
  6. Detailed documentation. Guides and technical documentation, available both after downloading the SDK and on the Developers Portal.
How to develop your backup app on the OCB platform
Now we come to the most interesting part - creating a brand new backup application based on the Open Cloud Backup platform by Paragon Software. Of course, all the components of the platform are designed in such a way that you can simply deploy a ready-made solution and start the default data backup process. But there are always nuances that need to be implemented to meet the requirements of a particular end customer: scale, objects to copy, a specific workflow or scheduling, etc.
There are a set of certain steps necessary to deploy a basic solution, which can be customized through requests for changing the backend operation algorithm (the so-called pull requests).
These steps include:
  1. Obtaining the Paragon Cloud Backup SDK.
  2. Installation and deployment of the local agents on the clients’ end-points.
  3. Processing the backup - setting up local agent management through the REST API.
If the last process requires operations that are not provided by our APIs, you can discuss the possibility of changes to the algorithm of our backend, which is accessed by local agents installed on clients' machines.
The process of submitting pull requests is very simple – describe what you need in a letter to our support team through the Developers Portal and we will contact you to discuss the further possibility of these changes. Now let's discuss every step in greater detail.
Get the Cloud Backup SDK
Paragon Cloud Backup SDK is the foundation of the service, as it consists of local agents that perform routine tasks at workstations. The SDK includes:
1. A set of local agents - service applications for performing operational tasks directly on workstations:
  • Backup Agent - the main agent that makes a backup
  • Replication Agent - performs a replicated backup to the cloud
  • LocalWorker Agent - monitors the correct assignment of tasks to agents and their execution in the cloud
2. Installation, deployment and management tool for local agents
3. Prediction table of system load level. It gives predictive values ​​of loading in response to the initial values ​​at the start.
4. Detailed API documentation
Obtaining an SDK is easy:
1. Register on the Paragon website https://www.paragon-software.com/
2. Log into your personal account and download the SDK.
To start using the SDK and be able to test-drive our REST APIs, you need to create a Tenant account and request an advanced access level in Tenant Sandbox from our support.
Create a cloud backup solution
The OCB platform is designed in such a way that its deployment with default parameters is already a process of creating your own backup solution. Ultimately, the detailed architecture of your backup solution based on our platforms is presented in the diagram below.
The platform provides the main applications for performing backup tasks, which must be installed on all serviced workstations. The tasks themselves, the order and the algorithm for their implementation are regulated by software microservices. This is our know-how - algorithms and code that we have developed and have honed for 25+ years of successful work in the market.
You can learn more about the list of microservices and how they work in our How It Works article.
These microservices are deployed on our cloud server, which runs 24/7 and has an extremely high uptime. This large set of microservices is able to perform a huge pool of backup tasks, which by default is oriented to the "near CDP" (or near continuous data protection) model. In order to force local agents (installed from the SDK) to perform the necessary operations at the right time, it is necessary to implement our corresponding REST APIs in the source front-end code on the side of the service provider. You can find a detailed description of our API methods on our Developers Portal in the PCB Microservices section.
Thus, 80% of the work has already been done. The service provider can additionally develop a user-friendly interface and provide his or her end-customers with a front-end (user accounts, the structure of access levels, etc.), as well as marketing support for a highly competitive product on the MSP market.

Tags

The Noonification banner

Subscribe to get your daily round-up of top tech stories!