Rethinking my backup strategy
-
backup days
CONTEXT
It is almost a year since I changed job and now I'm a freelancer with my trusted Thinkpad T440 (lenovo and trusted in the same sentence XD).As a freelancer I'm asked to develop a lot of code for .NET so I've switched my main OS to windows (due to Visual Studio
Code2017).BACKUP NEEDS AND BACKUP CHAIN
I've installed the free version of Veeam Agent and I'm backing up my entire computer. Let me explain the goal of the backup first:
1- all of my source is hosted online in bitbucket/git
2- all the docs are online in gdrive
3- basically backups are required to speedup windows restoration in case of disaster as it always requires tons of hours to setup a windows OS with all the required applications (linux is way faster in this)
4- backup jobs run once per weekMy current backup chain is: laptop w/ veeam => home NAS (small 2bay , slow cpu) => backblaze B2 sync (integrated into the NAS)
THE ISSUE
The chain is ok but the veeam settings are killing my internet connection without providing real time advantanges: I've a 3Mbps upload speed.Veeam is currently set up to take a full snapshot of the laptop and do incremental backups (with dedup and compression set up for WAN). Retention is 14 backups. The issue is that when you take the 15th+ backup, you start merging the base snapshot forward.
1- Merging the snap is as long as do a full bakcup (usually around 1:30 hours or 1:45)
2- once the baseline snap is updated I need to reupload to B2, which means that my NAS is still moving something like a whole new snap of the laptop (baseline snap + new increment). which means soething around 100GB.MY IDEA
As backups aim is mostly for fast windows restoration I was thinking about a couple of things:
1- as incremental backups still require a lot of computation time and a lot of upload time, maybe it would make more sense to simply do full backups every time.
2- as I'm just snapshotting the laptop to speed up restoration I could reduce the frequency to 1 backup every 2 weeks giving a bit of "rest" to my uploads.YOUR OPINION
Can you suggest anything else?! -
@matteo-nunziati all of your code should be in a git repository. So you never care about local backup.
-
@matteo-nunziati not on the backup topic, but you said you switched to windows for VSCode. Why? That is completely cross platform.
-
Take advantage of chocolatey.org if you can.
-
This is where automation comes in. Get your data on the cloud and your apps automatically deployable. Perhaps a config management like SaltStack. If your system is stateless, and apps and config is automated, you only need to install the OS, Chocolatey / Salt Minion, and you're good to go.
-
Why are you using Windows?
-
@aaronstuder Because he works with windows development.
-
@JaredBusch said in Rethinking my backup strategy:
@matteo-nunziati not on the backup topic, but you said you switched to windows for VSCode. Why? That is completely cross platform.
Visual Studio not visual studio code. It is the "legacy" devenv. Currently net core and vs core do not support some of the features I need.
Vs code would be great. -
@Obsolesce @black3dynamite so this chocolatey could be the missing bit to speedup redeployment of a win machine as I do with linux+ansible+current distro's repo... I will check it.
-
@JaredBusch said in Rethinking my backup strategy:
@matteo-nunziati not on the backup topic, but you said you switched to windows for VSCode. Why? That is completely cross platform.
@aaronstuder
Ok I'm an asshole. I've just seen my wrong reference to vs code in the original post :/.It is visual studio 2017.
-
@matteo-nunziati I have a suggestion. You could potentially move your entire development environment off site to the cloud/colo/whatever. And then just use your computer to remote in and do the work.
With your uploads speeds it is much faster to just run remote sessions. And with that setup you are not dependent on your laptop as it is a single failure point for your business.
Or get a fiber connection or whatever it takes to get decent internet speed. 3 Mbps is not enough.
-
@Pete-S said in Rethinking my backup strategy:
@matteo-nunziati I have a suggestion. You could potentially move your entire development environment off site to the cloud/colo/whatever. And then just use your computer to remote in and do the work.
With your uploads speeds it is much faster to just run remote sessions. And with that setup you are not dependent on your laptop as it is a single failure point for your business.
Or get a fiber connection or whatever it takes to get decent internet speed. 3 Mbps is not enough.
This. 3 mbps download is enough to work remotely, but not enough to keep everything onsite and do online backups. Find a host/server in a data center to see your work on, and handwork for backups becomes a non-issue.
I have a couple of places that are in the US, but you're based somewhere in Europe, right?
-
@travisdh1 said in Rethinking my backup strategy:
@Pete-S said in Rethinking my backup strategy:
@matteo-nunziati I have a suggestion. You could potentially move your entire development environment off site to the cloud/colo/whatever. And then just use your computer to remote in and do the work.
With your uploads speeds it is much faster to just run remote sessions. And with that setup you are not dependent on your laptop as it is a single failure point for your business.
Or get a fiber connection or whatever it takes to get decent internet speed. 3 Mbps is not enough.
This. 3 mbps download is enough to work remotely, but not enough to keep everything onsite and do online backups. Find a host/server in a data center to see your work on, and handwork for backups becomes a non-issue.
I have a couple of places that are in the US, but you're based somewhere in Europe, right?
Yes Europe, Italy namely.
-
@JaredBusch said in Rethinking my backup strategy:
@matteo-nunziati not on the backup topic, but you said you switched to windows for VSCode. Why? That is completely cross platform.
Yeah, we use Fedora for VSCode across the board and love it. I mean VSCode is the same anyway, so it's more of "pick your pleasure", but we are a 100% VSCode shop, and 100% non-Windows at the same time!
-
@Pete-S said in Rethinking my backup strategy:
@aaronstuder Because he works with windows development.
Well, .NET he said, I missed if he said Windows. You can do totally .NET on Linux on VSCode if you want, and honestly, it is how I recommend doing it because it helps to force you not to use legacy, poorly supported components.
-
@matteo-nunziati said in Rethinking my backup strategy:
@JaredBusch said in Rethinking my backup strategy:
@matteo-nunziati not on the backup topic, but you said you switched to windows for VSCode. Why? That is completely cross platform.
Visual Studio not visual studio code. It is the "legacy" devenv. Currently net core and vs core do not support some of the features I need.
Vs code would be great.OH!! Well that's totally different.
-
@matteo-nunziati said in Rethinking my backup strategy:
@Obsolesce @black3dynamite so this chocolatey could be the missing bit to speedup redeployment of a win machine as I do with linux+ansible+current distro's repo... I will check it.
Oh it's amazing.
If you have Ansible already, I'm with the "only backup once in a while."
Or ever, is there really a need to backup at all?
-
@Pete-S said in Rethinking my backup strategy:
Or get a fiber connection or whatever it takes to get decent internet speed. 3 Mbps is not enough.
Because.... Italy
-
The one thing that Ansible and all that stuff doesn't deal with is OS patches. Taking a backup once in a while to have that handled for you would be the one benefit.
-
@scottalanmiller said in Rethinking my backup strategy:
@Pete-S said in Rethinking my backup strategy:
@aaronstuder Because he works with windows development.
Well, .NET he said, I missed if he said Windows. You can do totally .NET on Linux on VSCode if you want, and honestly, it is how I recommend doing it because it helps to force you not to use legacy, poorly supported components.
Nah, the only reason to be using .NET is Windows. If you're not going to run it on windows you're not going to use .NET