1. A method of providing a service in a storage system, comprising: providing a policy definition that corresponds to a subset of storage objects in a set of storage objects stored in the storage system, wherein the policy definition includes a service level objective and is used to select or reject objects to which a service-related action corresponding to the service is to be provided, wherein the service level objective indicates a relative importance of the services and shares of system resources that services are allowed to consume; applying the policy definition to the set of storage objects to obtain the subset of storage objects, wherein applying the policy definition includes annotating preexisting metadata for the subset of storage objects; invoking the service for the subset of storage objects, wherein a trigger event causes invoking the service and wherein the subset of storage objects is determined based on annotation of the preexisting metadata; and posting a message to a job service queue that causes the service-related action to be performed for storage objects having annotated preexisting metadata indicating service-related asynchronous operations on the storage objects, wherein the service-related action corresponds to at least one of: services for data protection, availability and integrity, services for data immutability, and services that improve application performance and take on some aspects of application functionality.