1. A method comprising: in a system in which a cloud provider is configured to provide Software-as-a-Service (SaaS) offerings to multiple organizations, each organization to operate a distinct Infrastructure-as-a-Service (IaaS) platform and being associated with at least one distinct organization domain associated with the organization: deploying to each IaaS platform a cluster of software services, including communication services, operated by the cloud provider, each cluster being uniquely associated with the organization that operates that IaaS platform; deploying to each cluster a provisioning service to perform provisioning of users, and one of the communication services to support communications between users provisioned in one cluster and between users provisioned on different clusters; deploying each IaaS platform to a data center, wherein each IaaS platform includes compute, storage, and network resources and an IaaS operating system; provisioning users that belong to each organization on the cluster associated with that organization, wherein the provisioning includes storing user information for each user only on the associated cluster; and enabling users provisioned on different clusters to communicate with each other as if the users were part of a centralized cloud communication service, without sharing respective user information with the cloud provider.