How to save file to different server?
You'll need a custom Stream Wrapper, which provides read/write operations to your remote file system (those docs are for Drupal 7, but the concept, if not implementation, is identical).

Fortunately, for Drupal 8 someone's written a stream_wrapper_example module, which contains a lot of boilerplate code for re-use.

There are also a bunch of existing community-supplied stream wrapper modules, a Google search like "drupal stream wrapper modules" will list them all for you. Obviously whether or you can re-use any of those depends on exactly what you mean by "remote", and how you're implementing the connection.