Computing can take the form of software-as-a-service (running specific applications through a cloud), platform-as-a-service (using a suite of applications, programming languages, and user tools), or infrastructure-as-a-service (relying on remote data storage networks). Deployment depends on whether the cloud is a private, community, public, or hybrid one. Private clouds are operated for a specific organization, for example, whereas community clouds are shared by a number of organizations. Public clouds are available to the general public or large groups of agencies, while hybrid clouds combine public and private elements in the same data center.