Regarding your 404 issue, take a
look at this post. In the end, it was a simple change. Here is the section from my web.config
<customErrors defaultRedirect="~/Global/Error/" mode="On">
<error statusCode="404" redirect="~/Global/404/"/>
</customErrors>
And in the Site Manager>Settings>Content (both site and global) I set the page not found URL to ~/Global/404.aspx and everything worked as expected. I should also note I'm using extensionless URLs.
Regarding Azure, I'm unable to help on that one.