व्हिडिओ-होस्टिंग साइटसाठी, जी दररोज लाखो प्रतिमा (images) सर्व्ह करते, थंबनेल जनरेशन PHP बॅकएंडवरून Cloudflare Workers वर हलवल्यामुळे ओरिजिन सर्व्हरवरील सर्व CPU लोड संपला. या बदलामुळे इमेज-प्रोसेसिंग लॅटन्सी (latency) डेटा सेंटरवरून एज (edge) कडे वळवली गेली, ज्यामुळे रिस्पॉन्स टाइम लक्षणीयरीत्या कमी झाला आणि बँडविड्थ खर्च देखील अंदाजित (predictable) झाला.

जुने मॉडेल का कोलमडले

हे प्लॅटफॉर्म हजारो व्हिडिओ प्रदर्शित करते आणि एकाच पेजवर ४० पर्यंत थंबनेल्स एम्बेड करते. प्रत्येक थंबनेल एका PHP स्क्रिप्टद्वारे मागणीनुसार रिसाईज (resize) केले जाते, जी मूळ फाईल वाचते आणि तिचे स्केलिंग करते. जेव्हा क्रॉलर्स (crawlers) साइटला भेट देत असत, तेव्हा बॅकएंड सर्व्हर ठप्प व्हायचा.

एज प्रोसेसिंग पाच मुख्य गरजा पूर्ण करते

प्रोडक्शन-ग्रेड थंबनेल API ने खालील गोष्टी हाताळणे आवश्यक आहे:

  • Fan-in – अनेक थर्ड-पार्टी होस्ट्समधून सोर्स इमेजेस खेचणे.
  • Fan-out – विविध आकार तयार करणे (उदा. 320 px कार्ड्स, 640 px हिरो इमेजेस).
  • Format negotiation – बँडविड्थ वाचवण्यासाठी ब्राउझरला सपोर्ट असल्यास WebP किंवा AVIF सर्व्ह करणे.
  • Cache – हे सुनिश्चित करणे की पहिली विनंती (request) खर्चिक असू शकते, परंतु त्यानंतरच्या सर्व विनंत्या मोफत असतील.
  • Security – कोणीही कोणत्याही इमेजेस प्रोसेस करण्यासाठी सेवेचा गैरवापर करू नये यासाठी प्रतिबंध करणे.

Cloudflare Workers ओरिजिनच्या CPU ला स्पर्श न करता या प्रत्येक मुद्द्यावर उपाय शोधतात:

  1. Proximity – Workers वापरकर्त्याच्या जवळ असलेल्या डेटा सेंटर्समध्ये चालतात, त्यामुळे प्रोसेस केलेली इमेज कमी अंतराचा प्रवास करते.
  2. Built-in Image Resizing – प्लॅटफॉर्मचे Image Resizing फीचर पिक्सेलचे काम करते, ज्यामुळे कस्टम लायब्ररीची गरज उरत नाही.
  3. Cache API – Workers रिसाईज केलेली इमेज एजवर स्टोअर करतात; पहिल्या विनंतीनंतर एज ती थेट सर्व्ह करते.
  4. Programmable security – एक लहान स्क्रिप्ट HMAC सिग्नेचर तपासते, होस्टनेम्स आणि विड्थसाठी (widths) अलाऊ-लिस्ट (allow-list) लागू करते आणि कॅशे पॉयझनिंग टाळण्यासाठी कॅशे की (cache keys) नॉर्मलाईज करते.

सिस्टम कशी काम करते

  1. Origin साइन केलेले URLs तयार करते – बॅक-एंडकडे एक सिक्रेट की असते आणि प्रत्येक थंबनेल विनंतीला HMAC सिग्नेचर जोडले जाते. URL मध्ये अपेक्षित विड्थ (width) आणि फॉरमॅट देखील समाविष्ट असतो.
  2. Worker सिग्नेचरची पडताळणी करते – विनंती मिळाल्यावर, Worker शेअर केलेल्या सिक्रेट कीसह HMAC पुन्हा मोजते. जर सिग्नेचर गहाळ असेल किंवा चुकीचे असेल, तर विनंती नाकारली जाते, ज्यामुळे गैरवापर थांबतो.
  3. Allow-list अंमलबजावणी – स्क्रिप्ट तपासते की सोर्स होस्टनेम आधीच ठरवलेल्या यादीत आहे आणि विनंती केलेली विड्थ समर्थित आकारांपैकी एक आहे. यामुळे घातक होस्ट्स कॅशेमध्ये जाण्यापासून रोखले जातात.
  4. Cache key नॉर्मलायझेशन – कॅशे की मधून सिग्नेचर काढून टाकले जाते; की मध्ये फक्त सोर्स URL, विड्थ आणि फॉरमॅट असतो. यामुळे वेगवेगळ्या वापरकर्त्यांनी तीच इमेज मागितल्यास त्यांना एकच कॅश्ड एंट्री मिळण्याची शक्यता वाढते.
  5. Edge फेच आणि रिसाईज – जर इमेज आधीच कॅशेमध्ये नसेल, तर Worker थर्ड-पार्टी होस्टवरून मूळ इमेज घेते, Image Resizing API चालवते आणि निकाल एज कॅशेमध्ये स्टोअर करते.
  6. Cache warming – प्रत्येक क्रॉलनंतर, एक हलकी (lightweight) Python स्क्रिप्ट नवीन थंबनेल्ससाठी प्री-रिक्वेस्ट करते. त्यामुळे पहिल्या खऱ्या वापरकर्त्याला रिसाईज ऑपरेशनची वाट न पाहता कॅश्ड रिस्पॉन्स मिळतो.

एक महिन्यानंतर मोजता येण्याजोगा परिणाम

  • इमेजेससाठी ओरिजिन CPU – शून्यावर आला; बॅक-एंड आता पुन्हा कधीही इमेज बाइट्स प्रोसेस करत नाही.
  • HTML सर्व्हिंग स्पीड – लक्षणीयरीत्या सुधारला कारण सर्व्हर आता इमेजच्या कामामुळे अडकत नाही.
  • Edge कॅशे हिट रेट – ९६% पर्यंत पोहोचला, याचा अर्थ बॅकएंड फेचशिवाय जवळजवळ प्रत्येक विनंती एजवरून पूर्ण झाली.
  • Latency – कमी झाली कारण इमेजेस आता मध्यवर्ती ओरिजिनऐवजी वापरकर्त्याच्या जवळ असलेल्या डेटा सेंटरमधून सर्व्ह केल्या जातात.
  • बँडविड्थची अंदाजितता (Predictability) – एज कॅशिंगमुळे, ओरिजिनमधून जाणारा आउटबाउंड ट्रॅफिक स्थिर असतो आणि त्याचा अंदाज घेणे सोपे होते.

थोडक्यात सांगायचे तर

थंबनेल जनरेशनचे काम Cloudflare Workers कडे सोपवल्यामुळे CPU-बाउंड बॉटलनेकचे रूपांतर जवळजवळ शून्य-खर्च असलेल्या एज कॅशेमध्ये झाले. ओरिजिन आता फक्त साइन केलेले URLs जारी करते, तर एज फेचिंग, रिसाईझिंग, फॉरमॅट नेगोशिएशन आणि कॅश्ड रिझल्ट्स सर्व्ह करण्याचे काम हाताळते. ज्या साइट्स मोठ्या प्रमाणावर इमेजेसवर अवलंबून आहेत—विशेषतः व्हिडिओ प्लॅटफॉर्म जे प्रति पेज डझनभर थंबनेल्स प्रदर्शित करतात—त्यांच्यासाठी 'एज-फर्स्ट' दृष्टिकोन जलद पेजेस, अंदाजित खर्च आणि "काय दाखवायचे" (ओरिजिन) आणि "ते कसे पोहोचवायचे" (एज) यांच्यामध्ये स्पष्ट फरक प्रदान करतो.