multiple organizations?
A lighter-weight solution to this (imo) is to use the Permissioned Relationship approach, which can be used to limit User A - who has a Permissioned Relationship to Organisation A - to only access Contacts that Org A has a permissioned relationship over.

This deploys very well without the wiring involved in multisite (imo) and hence is more approachable for 'beginners' (and for advanced folk who need a lighter weight solution.

Beauty of this solution is that it can scale really easily afaik. And for Drupal sites, together with Webforms and Views and whatnots can let delegates of Orgs manage their contacts without actually ever needing to set foot on the civi side.