كيفية تسريع موقعك الإلكتروني باستخدام Azure CDN
ما هي شبكة توصيل المحتوى CDN؟
تُعد شبكة توصيل المحتوى Content Delivery Network أو CDN من أهم الحلول المستخدمة لتسريع تحميل المواقع والتطبيقات. فكرتها الأساسية تقوم على توزيع المحتوى الثابت على مجموعة من الخوادم المنتشرة جغرافياً حول العالم، بحيث يحصل الزائر على الملفات من أقرب خادم إليه بدلاً من الرجوع دائماً إلى الخادم الرئيسي.
يمكن استخدام CDN لتقديم أنواع متعددة من الملفات التي لا تتغير باستمرار، مثل:
- الصور
- ملفات الفيديو
- ملفات
CSS - ملفات
JavaScript - ملفات
HTML - ملفات
PDF
الخوادم التي تُخزّن نسخاً مؤقتة من المحتوى بالقرب من المستخدم تُعرف باسم Edge Servers، بينما يُسمّى الخادم الذي يحتوي على النسخة الأصلية من الملفات باسم Origin Server.

عندما يطلب المستخدم ملفاً معيناً، يحاول أقرب Edge Server تزويده به من الذاكرة المؤقتة. وإذا لم يكن الملف متاحاً، يتواصل هذا الخادم مع Origin Server لجلبه، ثم يحتفظ بنسخة مؤقتة منه لتسريع الطلبات اللاحقة.

كيف تعمل شبكة CDN عملياً؟
تتكوّن آلية عمل CDN غالباً من أربعة عناصر رئيسية:
- المستخدم أو
Consumer - خدمة
DNS - خادم الحافة
Edge Server - الخادم الأصلي
Origin Server

عند إرسال طلب من المستخدم، يمر أولاً عبر مزوّد خدمة الإنترنت ISP. بعد ذلك، يُرسل الطلب إلى Authoritative DNS الخاص بمزوّد المحتوى. وظيفة هذا الخادم هي تحويل اسم النطاق إلى عنوان IP مناسب، ثم إرجاع عنوان أقرب Edge Server إلى موقع الزائر.
بمجرد وصول الطلب إلى خادم الحافة، يتحقق هذا الخادم من وجود المحتوى داخل ذاكرته المؤقتة. إذا كان الملف متوفراً، يُعاد فوراً إلى المستخدم. أما إذا لم يكن متاحاً، فيتم جلبه من Origin Server ثم تخزينه مؤقتاً لاستخدامه مستقبلاً.
أهم فوائد استخدام CDN للمواقع
1. تقليل استهلاك النطاق الترددي
كثير من خدمات الاستضافة تفرض حدوداً شهرية على استهلاك الباندويث. وعند تجاوز هذه الحدود، قد تتحمل تكلفة إضافية. باستخدام CDN، يتم تقديم جزء كبير من المحتوى عبر خوادم الحافة، ما يخفف الضغط على الخادم الرئيسي ويقلل استهلاك النطاق الترددي.
2. خفض زمن الاستجابة
عندما تكون الملفات مخزنة مؤقتاً على خوادم قريبة من المستخدم، ينخفض زمن الوصول بشكل واضح. هذا التحسن ينعكس مباشرة على سرعة تحميل الصفحات وتجربة التصفح.
3. تعزيز الحماية ضد هجمات DDoS
توفر معظم شبكات CDN الشهيرة طبقات حماية إضافية تساعد على امتصاص الطلبات الضارة وتقليل أثر هجمات حجب الخدمة الموزعة Distributed Denial of Service.
4. تحسين السيو وتجربة المستخدم
سرعة تحميل الموقع عامل مؤثر في تحسين محركات البحث. كلما انخفض وقت تحميل الصفحات، زادت فرص تحسين ترتيب الموقع في نتائج البحث، إلى جانب رفع معدلات رضا المستخدمين وتقليل الارتداد.
نظرة عملية على Azure CDN
إذا كنت قد أنشأت حساب تخزين Azure Storage Account واستضفت عليه موقعاً ثابتاً بسيطاً، فيمكنك الاستفادة من Azure CDN لتقديم هذا الموقع بسرعة أعلى وعلى نطاق عالمي.
قد يكون لديك رابط لموقع ثابت بالشكل التالي:
https://demostorageaccountarjav.z29.web.core.windows.net/
وبدلاً من الاسم الظاهر في المثال، ستستخدم اسم حساب التخزين الخاص بك.
لبدء الإعداد، سجّل الدخول إلى بوابة Azure Portal ثم اختر إنشاء مورد جديد Create a resource. بعد ذلك ابحث عن خدمة CDN داخل المتجر.

إنشاء ملف تعريف CDN Profile في Azure
عند فتح صفحة الإنشاء، سيُطلب منك إعداد CDN Profile. هذا الملف هو الحاوية التي تضم نقطة نهاية واحدة أو عدة نقاط نهاية Endpoints.
في هذه الخطوة ستحتاج عادة إلى تعبئة البيانات التالية:
- اسم الخدمة
- مجموعة الموارد
Resource Group - فئة التسعير
Pricing Tier
بعد ذلك، فعّل خيار إنشاء نقطة نهاية CDN Endpoint، لأن هذه النقطة هي التي سيستخدمها الزوار للوصول إلى المحتوى. وإذا كنت تدير أكثر من موقع أو خدمة ثابتة، يمكنك إنشاء أكثر من Endpoint داخل الملف نفسه.
وبما أن CDN خدمة عالمية، فغالباً ستجد أن اختيار المنطقة Region غير قابل للتعديل.

بعد مراجعة الإعدادات، اضغط على Create. قد تستغرق عملية الإنشاء بضع دقائق حتى يتم تجهيز الملف ونقطة النهاية.
فهم الموارد الناتجة بعد الإنشاء
بعد اكتمال العملية، ستظهر لك الموارد المرتبطة بالخدمة داخل لوحة Azure. تذكّر أن CDN Profile ليس سوى مجموعة تنظيمية تضم عدة Endpoints.
للاطلاع على التفاصيل، افتح مورد نقطة النهاية، وستجد صفحة نظرة عامة تحتوي على رابط اسم المضيف الخاص بالنقطة Endpoint Hostname.


إذا فتحت الرابط مباشرة بعد الإنشاء وظهرت لك رسالة 404 not found، فلا تقلق. هذا أمر شائع في البداية، وقد تحتاج إلى الانتظار من 10 إلى 15 دقيقة حتى تنتشر الإعدادات ويصبح المحتوى متاحاً.
بعد ذلك يمكنك التوسع في الإعدادات الإضافية مثل:
- سياسات التخزين المؤقت
Caching - خيارات التوجيه
Routing - إعدادات الأمان
- قواعد التحكم في الرؤوس والاستجابة
كيفية الوصول إلى الموارد الخاصة عبر SAS Token
في بعض الحالات، قد تكون ملفاتك موجودة داخل حاوية خاصة Private Container في Azure Storage، ولا يمكن الوصول إليها إلا باستخدام توقيع وصول مشترك Shared Access Signature أو SAS Token.
الميزة هنا أن سلاسل الاستعلام Query Strings تُمرر كما هي عبر CDN. وبما أن SAS Token يُرسل عادة ضمن رابط الطلب، يمكنك استخدامه مع Azure CDN دون مشكلة.
لتجربة ذلك عملياً:
- أنشئ حساب تخزين جديداً مع تعطيل ميزة الموقع الثابت.
- أنشئ نقطة نهاية جديدة داخل
CDN Profile. - وجّه هذه النقطة إلى حساب التخزين الجديد.
- أنشئ حاوية خاصة، ثم ارفع إليها الملف المطلوب.
على سبيل المثال، إذا كان لديك ملف باسم Photo.jpeg داخل حاوية باسم site، فقد يكون الرابط المباشر إلى حساب التخزين بالشكل التالي:
https://demostorageaccountarjav.blob.core.windows.net
يمكنك بالطبع إنشاء SAS Token من بوابة Azure لأغراض الاختبار، لكن في بيئات العمل الفعلية يُفضل توليده برمجياً.
مثال على إنشاء SAS Token باستخدام Node.js
const azureSasToken = require('azure-sas-token');
// default token validity is 7 days
let sasToken = azureSasToken.createSharedAccessToken(
'https://<service namespace>.servicebus.windows.net/<topic name or queue>',
'<signature key name>',
'<signature hash>'
);
console.log(`sasToken: ${sasToken}`);
// Specify your own validity in secs, two hours in this example
sasToken = azureSasToken.createSharedAccessToken(
'https://<service namespace>.servicebus.windows.net/<topic name or queue>',
'<signature key name>',
'<signature hash>',
60 * 60 * 2
);
console.log(`sasToken: ${sasToken}`);
في هذا المثال استُخدمت حزمة npm باسم azure-sas-token لإنشاء التوقيع بسهولة.
بعد إنشاء التوقيع، قد يصبح رابط الوصول المباشر إلى الملف على هذا النحو:
https://demostorageaccountarjav.blob.core.windows.net/site/Photo.jpeg?sp=r&st=2021-03-25T07:28:45Z&se=2022-02-02T15:28:45Z&spr=https&sv=2020-02-10&sr=b&sig=PD4HlRI8bDEirMevpYQgpx6drwh%2BE5EpILfXkQOMlvw%3D
لكن هذا الرابط ما زال يشير مباشرة إلى حساب التخزين، وليس إلى CDN. لذلك يمكنك استبدال النطاق بنطاق نقطة النهاية الخاصة بك ليصبح الرابط بالشكل التالي:
https://demowebsitearjav.azureedge.net/site/Photo.jpeg?sp=r&st=2021-03-25T07:28:45Z&se=2022-02-02T15:28:45Z&spr=https&sv=2020-02-10&sr=b&sig=PD4HlRI8bDEirMevpYQgpx6drwh%2BE5EpILfXkQOMlvw%3D
عند فتح هذا الرابط، سيتمكن المستخدم من الوصول إلى المورد المحمي عبر Azure CDN. وإذا لم تظهر النتيجة فوراً، فقد تحتاج إلى الانتظار عدة دقائق أو تنفيذ عملية Purge لنقطة النهاية لتحديث المحتوى المخزن مؤقتاً.
متى يكون Azure CDN خياراً مناسباً؟
يُعد Azure CDN مناسباً بشكل خاص في الحالات التالية:
- إذا كان موقعك يستقبل زواراً من دول متعددة.
- إذا كنت تعتمد على ملفات ثابتة كثيرة مثل الصور والأنماط والسكربتات.
- إذا كنت ترغب في تحسين الأداء دون تغيير جذري في بنية التطبيق.
- إذا كانت خدماتك مستضافة أساساً داخل منظومة
Microsoft Azure.
كما أنه ينسجم جيداً مع بيئات العمل التي تتطلب تكاملاً سلساً مع خدمات Azure Storage وApp Services وغيرها من خدمات المنصة.
نصائح عملية لتحسين الأداء بعد تفعيل CDN
- استخدم أسماء ملفات ثابتة أو آلية
versioningلتفادي مشاكل التخزين المؤقت القديمة. - فعّل ضغط الملفات عند الإمكان لتقليل حجم الاستجابة.
- اختر مدة
cacheمناسبة حسب طبيعة تحديث المحتوى. - راقب أداء الصفحات باستخدام أدوات مثل
LighthouseوPageSpeed Insights. - تأكد من أن الصور محسّنة ومضغوطة قبل رفعها حتى لا يتحول
CDNإلى مجرد ناقل لملفات ضخمة.
الخلاصة التقنية
استخدام Azure CDN ليس مجرد تحسين بسيط في السرعة، بل خطوة استراتيجية ترفع كفاءة الموقع من ناحية الأداء، وقابلية التوسع، وتجربة المستخدم، وحتى الظهور في نتائج البحث. وإذا كان مشروعك يعمل داخل بيئة Azure، فإن دمج CDN مع التخزين والخدمات الأخرى يمنحك حلاً عملياً ومرناً لنشر المحتوى بسرعة وأمان أكبر. تقنياً، أفضل قيمة يقدمها Azure CDN هي تقليل المسافة بين المستخدم والملف المطلوب، وهذا وحده كفيل بإحداث فرق ملموس في مواقع المحتوى والتطبيقات الحديثة.