In the menu, alongside the "Log Out" option, I think there ought to be an option like "Stop server" and moreover an option to "Shut down and log out".
There also needs to be better user education about the difference:
There is a front-end session between the user's local browser client and the hub. Logging out closes this session without necessarily interrupting your server. Logging out just ensures that you will be prompted for credentials again before further access is permitted. If you had accessed the service from a public machine, then logging out protects from subsequent users accessing your server.
There is a back-end server that is reserved for an individual user and accessed via the hub, and that consumes resources and incurs costs until it is stopped. You can stop and restart servers without needing to interrupt your session, just as a single server can persist through multiple consecutive sessions. Restarting a server will reset the notebook's memory but generally retain saved files. To minimise cost wastage, we want users to recognise and be able to stop their server just as easily as they can log out.
In an ideal world, the user might even have a configurable options for influencing the conditions where garbage collection (automated shutdown) of their server would be hastened or delayed. Occasionally there is a legitimate need to preserve results in memory for much longer unattended, but perhaps not usually. (There are also ways of dumping computation results from memory to disk, e.g. in pickled format and upon completion, for subsequent analysis in a less resource-demanding server..)
In the menu, alongside the "Log Out" option, I think there ought to be an option like "Stop server" and moreover an option to "Shut down and log out".
There also needs to be better user education about the difference:
In an ideal world, the user might even have a configurable options for influencing the conditions where garbage collection (automated shutdown) of their server would be hastened or delayed. Occasionally there is a legitimate need to preserve results in memory for much longer unattended, but perhaps not usually. (There are also ways of dumping computation results from memory to disk, e.g. in pickled format and upon completion, for subsequent analysis in a less resource-demanding server..)