A system, comprising: one or more computing devices configured to implement a compression service (100, 220) as a network-based service for a plurality of different client systems (250a-250n), the one or more computing devices comprising: a defined interface for the plurality of different client systems to obtain compressed data from the compression service; a plurality of compression engines (130, 330), wherein each compression engine is configured to perform at least one compression technique out of a plurality of distinct compression techniques; a rules-based compression engine selector, configured to: receive data, via the defined interface and from a client system of the plurality of different client systems, to be compressed; in response to receiving the data: perform a rules-based analysis on the data to be compressed or metadata associated with the data to be compressed in order to select two or more compression techniques out of the plurality of compression techniques to be applied to the data; direct one or more of the plurality of compression engines to generate a data compression candidate according to a first one of the selected compression techniques and in compliance with a given compression service restriction, wherein the given compression service restriction is a time limit or a resource limit of the one or more of the plurality of compression engines, enforced by the rules-based compression engine selector; direct, until the given compression service restriction is exceeded, the one or more of the plurality of compression engines to generate an additional data compression candidate (124, 126) for each of one or more additional compression techniques of the selected two or more compression techniques, wherein the one or more additional compression techniques are different from the first one of the selected compression techniques; and a response generation module, configured to: select one of the one or more data compression candidates or additional data compression candidates to send, via the defined interface, as requested compressed data according to a compression selection criteria. a defined interface for the plurality of different client systems to obtain compressed data from the compression service; a plurality of compression engines (130, 330), wherein each compression engine is configured to perform at least one compression technique out of a plurality of distinct compression techniques; a rules-based compression engine selector, configured to: receive data, via the defined interface and from a client system of the plurality of different client systems, to be compressed; in response to receiving the data: perform a rules-based analysis on the data to be compressed or metadata associated with the data to be compressed in order to select two or more compression techniques out of the plurality of compression techniques to be applied to the data; direct one or more of the plurality of compression engines to generate a data compression candidate according to a first one of the selected compression techniques and in compliance with a given compression service restriction, wherein the given compression service restriction is a time limit or a resource limit of the one or more of the plurality of compression engines, enforced by the rules-based compression engine selector; direct, until the given compression service restriction is exceeded, the one or more of the plurality of compression engines to generate an additional data compression candidate (124, 126) for each of one or more additional compression techniques of the selected two or more compression techniques, wherein the one or more additional compression techniques are different from the first one of the selected compression techniques; and perform a rules-based analysis on the data to be compressed or metadata associated with the data to be compressed in order to select two or more compression techniques out of the plurality of compression techniques to be applied to the data; direct one or more of the plurality of compression engines to generate a data compression candidate according to a first one of the selected compression techniques and in compliance with a given compression service restriction, wherein the given compression service restriction is a time limit or a resource limit of the one or more of the plurality of compression engines, enforced by the rules-based compression engine selector; direct, until the given compression service restriction is exceeded, the one or more of the plurality of compression engines to generate an additional data compression candidate (124, 126) for each of one or more additional compression techniques of the selected two or more compression techniques, wherein the one or more additional compression techniques are different from the first one of the selected compression techniques; and a response generation module, configured to: select one of the one or more data compression candidates or additional data compression candidates to send, via the defined interface, as requested compressed data according to a compression selection criteria. select one of the one or more data compression candidates or additional data compression candidates to send, via the defined interface, as requested compressed data according to a compression selection criteria.