Freezing the UI and any other intrusion leads to breaking the user flow, which is bad for user performance and satisfaction. So freezing UI brings bad UX.
Server availability is important for getting and saving data. So in many cases users probably don't notice server restart at all.
For users who are performing data getting/saving operations while the server is restarting, you could just display a progress bar with an appropriate message. The progress bar in this case is the appropriate solution, as the time lag (10-15 sec) is not so big.
10 seconds: Limit for users keeping their attention on the task.
Anything slower than 10 seconds needs a percent-done indicator as well
as a clearly signposted way for the user to interrupt the operation.
Assume that users will need to reorient themselves when they return to
the UI after a delay of more than 10 seconds. Delays of longer than 10
seconds are only acceptable during natural breaks in the user's work,
for example when switching tasks.
from Response Times: 3 Important Limits by J. Nielsen