Hi @anaigini and welcome to the restic community!
Many others have actually implemented restic in their business - even the CERN has it set up with a huge amount of users and big repositories in regards to size. Forum link: CERN is testing restic for their backups
So rest assured, restic can indeed be used in bigger environments then a couple VPSs or Raspberry Pis
So in regard to speed: So restic is designed in a way that incremental backups are fast. There are always cases where a backup can take longer, but as long as you make sure that you are using the restic cache, which restic will use by default, then I don’t think you have to worry about it much.
To learn more about restic cache: https://restic.readthedocs.io/en/latest/manual_rest.html#caching
Restic keeps a cache with some files from the repository on the local machine. This allows faster operations, since meta data does not need to be loaded from a remote repository.
But as always: Usecases and setups can vary and I highly recommend testing it out.
I did not go into the very technicalities of how restic works - all this is documented in the restic documentation at https://restic.readthedocs.io/en/latest/.
But if you need to know how restic is designed, then head over to https://restic.readthedocs.io/en/latest/100_references.html#design
I hope this answers some of your questions Let us know if not.
We have tons of active users here that can definitely give you more technical information if needed.