These questions will be tricky to answer but it is not necessarily just the Mendix application that is updated or under manitenance, it's also other external components Mendix relies on (external app-servers, services, etc). If these are being upgraded the portal may have to go offline momentarily as well (and this duration is typically longer than the Mendix upgrade).
In your scenario ,My thoughts would be to
1) Temporarily deploy a different Mendix-application that just presents a Maintenance page, or
 Switch the Mendix-application to a Maintenance page (prior or after being upgraded itself), preferably based on an external trigger (i.e. the deployment processes/scripts that upgrade the external components that Mendix relies on).
 Alternatively, we need to front the Mendix business server with an Apache webserver, redirecting to a Maintenance page.
The last option we need to implementing that Part ,I am less sure about the ease of implementing
Thanks and regards
Both scenarios require a different solution I guess.
For the first scenario, you could create a 'maintanance' page that you can activate with the administrator role (for instance) using a 'settings' object. Create an administrator page if you have not done yet, and put a dataview with a settings object there. Make sure the same object is retrieved each time. That object should hold a boolean to enable / disable maintanance mode. In the default homepage microflow, make sure to check if maintance mode is enabled and if so, show the maintance page. Make sure the page uses a different layout so that other functions of the app are not available to app users.
To show content when the app is offline, you can create custom error pages as described here