Besides the joins it is great to be able to add custom methods to the user model. For instance, to integrate mysite with django social auth, I can add a method to the user model itself to add the auth id. Which is more natural `user.add_auth_id(provider, uid)`. Instead of calling UserSocialAuth.create_social_auth(user, provider, uid)
Service outages happen to everyone. Thats why everyone advertises 99.99% uptime four nines or five nines. No one can achieve 100%. The good thing about the cloud is you can say, this one isn't my fault.