But, I'd like to post our experiences anyway, which Veeam suggested. I think it should be supported and the software should be designed with this in mind. Sorry this is long.
The very basic is as follows:
- Setup docker running on Windows Server
- Create a dockerfile. This is a text file that is basically step by step silent installs of Veeam and it's explorers - just the powershell components
- Build the docker image
- Create containers from this standard image
- Store your data in object storage (or other non local storage)
- Access and configure Veeam either from the GUI on another machine, or the api's, or powershell
Why? Here are some of the advantages, in theory:
- Doing this the Veeam way through Cloud Connect is horrible
- Everything boils down to a text file and an object store
- Your client's Veeam backup environments are identical
- Setup a new client by running one command
- Your containers are disposable and stateless
- Upgrades are done once when you build the image. Deploying an upgrade involves destroying and recreating a container - that's it
- Scalability and automation
- Run it in the cloud if you want (I tested it, it works)
Now some of the problems we faced:
- Not supported, you're on your own
- The containers aren't actually stateless, because the software hasn't been designed that way. You can work around this by mounting volumes, but you're still relying on Veeam's database, which really should be disposable
- We found weird issues with repository id's changing on a new container and strange network dropout every 10 seconds. This can be avoided by blowing away the database
- Recreating (upgrading) a container doesn't work as expected. The Veeam database is on one version but the software and proxy are suddenly on a newer version. Can't we just upgrade the database? No sadly it doesn't work
- Recreating a client's config from scratch is easy (and automate-able) but requires a full backup the first run. This puts load on your server, particularly if you upgrade all of your containers at once
What I'd like to see in the future is vo365 being designed with containers in mind.
Has anyone else tried this? Would anyone else be interested in seeing this as a supported setup?
Thanks