1. A computer-implemented method for deploying an application on a computing resource, wherein the application is provided remotely to a plurality of tenants of users, wherein the application comprises a plurality of application components, the computer-implemented method comprising: defining sets of groups of tenant for categorizing the plurality of tenants; assigning each tenant of the plurality of tenants to at least one group of tenants of the sets of groups of tenants; providing a deployment model for each combination of: an application component of the plurality of application components and a tenant of the plurality of tenants; determining constraint information for each combination of application component and tenant depending on the deployment model, wherein the deployment model is configured to enable each tenant of the plurality of tenants to include and/or exclude entire groups of tenants from sharing one or more application components and/or infrastructure of the computing resource; determining a valid deployment configuration of the application on the computing resource depending on the constraint information associated with each application component of the plurality of application components; and deploying the application on the computing resource depending on the determined valid deployment configuration.