Duplicati is a free backup client that securely stores encrypted, incremental, compressed remote backups of local files on cloud storage services and remote file servers. I this interview, Duplicati’s creator Kenneth Skovhede discusses the importance of keeping automated backups and what you need to look out for when storing your data in the cloud.
Please describe the story behind Duplicati: What sparked the idea, and how has it evolved so far?
Duplicati is an open-source project that I started because I thought there was a need for it. You probably know that it’s very important to keep backups of your computer and your systems. While everybody tells you that, I didn’t find any good tools for it.
To backup your data, you first need a place to store it. Then, you need something that can put it there automatically.
For me, it was important that whatever I upload to the cloud is not publicly readable or readable at all. I looked at the existing privacy solutions and I did find a few, but they were cumbersome to use.
I set out to fix that problem, mostly for myself but also for friends and relatives who were not as technically inclined as I was, but could use an easy way to solve that problem. I released it under a GPL license, it became popular, and everything just grew from there.
Meanwhile, my day job is as an assistant professor at the University of Copenhagen Niels Bohr Institute. My current research focus is programming models for next-generation hardware platforms, including Field Programmable Gate Arrays (FPGAs).
Why is it so important to keep backups if all of our data is on the cloud anyway?
Most people have data that they consider valuable on their devices as well. If it’s a business, there’s obviously some monetary value to it, but data can also have a lot of emotional value. It can be your photos, letters and documents of various sorts, and everything that you’re working on digitally. If you have all of that only on your device, whether it be a computer or a mobile phone, then whenever the device gets lost, stolen, or broken, you lose all of it.
Back when I started, cloud storage was not as popular as it is today. iCloud and Google Cloud were not mainstream popular. Amazon had some of their offerings, like their Elastic Compute Cloud and the Simple Storage service.
There were solutions where you could upload your files, but none of them were automated and they all required you to remember to do it every time you change something. The problem is that people tend to forget that, and copying everything that’s changed all the time is tedious.
Duplicati does exactly that: it checks for files that have been changed and uploads them regularly to a cloud of your choice.
Still, when you upload files to a public cloud, you enable anyone with access to that infrastructure to read all your documents, whether intentionally or by accident, which is why I still don’t like that. To solve this, Duplicati was designed with a Trust-no-one strategy, where the storage provider cannot peek into your data.
How do you manage to maintain your service free?
I’ve been paying for it out of pocket and spending my free time developing it and that has worked fine so far. I had the motivation and it gave me satisfaction to see it working and feel the enthusiasm from the users, and that just kept me going.
Nowadays, I don’t have as much time anymore to maintain a free service, so others have taken over it, but I’m staying involved in the background.
Which trends or technologies do you find to be particularly interesting these days?
In my day job, I look at a lot of different technologies every day. Some of the things I’m excited about are FPGAs for computing acceleration, and virtualization technologies. Docker is currently the leader in this and I think we’ll see more companies come up with solutions based on the same idea as Docker.
We have a lot of students working with Machine learning and lots of things are happening in that space. Here in Europe, we have the EuroCC community which is building new supercomputers which is extremely exciting to be part of.
What are your future plans for Duplicati?
I have lots of plans, but all plans require time, which I currently don’t have. I don’t follow the trends, but one thing I do find lacking in Duplicati is monitoring. Most people would set up a regular backup and then forget about it. The idea is that you should not have to remember to do stuff all the time.
But at some point, something could go wrong. It can be an expired cloud account, a shortage of space, or some error that stops the backup process. Usually, if it’s your device or server, you get some kind of notification, but if you’re installing it on a friend’s device, a family device, or a server somewhere, you might not get a notification. That’s a big disadvantage because you only need backups when something goes wrong. Finding out that you don’t have a working backup after the failure or error has already happened is really not a situation you want to be in.
So, what I would like to develop is an integrated monitoring service that would verify backups are running smoothly by sending small pings to the service every time it runs, and if it hasn’t pinged back in some interval, it will give you a notification telling you that something is wrong and you should take a look at your backups.
A big step for Duplicati would be some kind of consolidation with the .Net file platform. It’ll take a lot of work to make it run on .Net5 so hopefully I will have more time and more people who would chip in so we can do it in the near future.