1. A method comprising: receiving, at an image processing system and from a client system that publishes content, a request for obtaining an image, the request originating from an end user device accessing the client system; determining, by the image processing system and from the request, a context of the request for rendering the image on the end user device, the context including at least one of an hardware attribute or a software attribute of the end user device; identifying, by the image processing system, a set of image processing instructions associated with the image; and processing, by the image processing system, the image based on the set of image processing instructions and the context of the request to generate a processed image, the image processing system implemented as a multi-tiered server architecture, the processing including: receiving, by a server in a first tier of the multi-tiered server architecture, an image processing request for processing the image, determining, by the server in the first tier, if the processed image is stored in a first cache associated with the first tier, in an event the processed image is stored in the first cache, returning the processed image to the client system, in an event the processed image is not stored in the first cache, adding, by the server in the first tier, the image processing request into a queue at a server of a load balancing tier of the multi-tiered server architecture, retrieving, by a server of a second tier of the multi-tiered server architecture, the image processing request from the queue, and processing, by the server of the second tier, the image to generate the processed image, wherein the processing includes obtaining, by a server of a third tier of the multi-tiered server architecture, the image from a storage system if the image is not stored at a second cache associated with the second tier, and wherein the server of the third tier is different from the server of the load balancing tier.