- الهندسة المعمارية العامة
- خطوات عملية لإنشاء تطبيق (خطوة بخطوة)
- سياسات الأمن وإدارة المفاتيح وإدارة الهوية والوصول
- اختيار موقع مركز البيانات ومقارنته من حيث زمن الاستجابة والامتثال
- استضافة النماذج - وحدة معالجة الرسومات السحابية مقابل واجهة برمجة التطبيقات المُدارة (المزايا والعيوب)
- تحسين الأداء والتكلفة
- نصائح أخيرة حول الأمن والخصوصية
- أمثلة على التطبيقات والسيناريوهات
- نصائح عملية للاستقرار في شركتنا (التي تضم أكثر من 85 موقعًا)
- ملخص سريع وقائمة مراجعة قبل الإطلاق
- خيارات الدعم الفني والاستشارات
- الأسئلة الشائعة
الهندسة المعمارية العامة
يقدم هذا الدليل بنية مقترحة لبناء تطبيق ويب. بدون خادم والتي تستفيد من إمكانيات الذكاء الاصطناعي التوليدي. والهدف هو دمج AWS Amplify للواجهة الأمامية و CI/CD مع خدمات AWS بدون خوادم للواجهة الخلفية لإنشاء حل قابل للتوسع وآمن وسهل الصيانة.
- الواجهة الأمامية: React أو Next.js مُستضافة على استضافة AWS Amplify + شبكة توصيل المحتوى (CloudFront).
- المصادقة: أمازون كوجنيتو (التسجيل/تسجيل الدخول + الاتحاد).
- واجهة برمجة التطبيقات: بوابة API (REST/HTTP) أو AppSync (GraphQL) التي توجه الطلبات إلى Lambda.
- المنطق التوليدي: Lambda (Node/Python) التي ترسل الطلب إلى النموذج التوليدي - يمكن إدارة النموذج (OpenAI/Hugging Face/Bedrock) أو استضافته ذاتيًا على خادم GPU باستخدام Triton/TorchServe.
- تخزين: S3 للملفات، DynamoDB أو RDS للبيانات الوصفية/الجلسات.
- الأمن والشبكة: جدار حماية تطبيقات الويب (WAF)، ودرع الحماية المتقدم (Shield Advanced)، ونظام إدارة الهوية والوصول (IAM) ذو الامتيازات الأقل، ومدير الأسرار (Secrets Manager).
- شبكة توصيل المحتوى والتخزين المؤقت: CloudFront + Lambda@Edge أو تخزين الرؤوس مؤقتًا لتحسين زمن الاستجابة وتقليل التكلفة.
خطوات عملية لإنشاء تطبيق (خطوة بخطوة)
1. تهيئة بيئة التطوير
قم بتثبيت الأدوات الأساسية التي تحتاجها: Node.js و npm و AWS Amplify CLI. ثم استنسخ مستودع المشروع وقم بتثبيت التبعيات.
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
npm install -g @aws-amplify/cli
git clone <repo>
cd <repo>
npm installقم بتهيئة واجهة سطر الأوامر AWS CLI و Amplify وقم بتهيئة مشروع Amplify:
aws configure
amplify configure
amplify init
2. أضف المصادقة باستخدام Cognito
باستخدام Amplify، يمكنك إضافة المصادقة بسرعة. تشمل الخيارات الإعدادات الافتراضية أو التخصيص اليدوي. استخدم الربط مع Google/Facebook إذا لزم الأمر، وقم بتمكين قواعد كلمات المرور، والمصادقة متعددة العوامل، والتحقق من البريد الإلكتروني.
amplify add auth
# choose default or manual configuration
amplify push
3. إنشاء واجهة برمجة تطبيقات بدون خادم (REST أو GraphQL)
أضف واجهة برمجة التطبيقات (API) باستخدام Amplify؛ يمكنك اختيار REST مع Lambda أو GraphQL مع AppSync + DynamoDB.
amplify add api
# choose REST and Lambda function template
amplify pushأو بالنسبة لـ GraphQL:
amplify add api
# choose GraphQL + DynamoDB
amplify push
4. كتابة دالة لامدا تتفاعل مع نموذج الذكاء الاصطناعي التوليدي
تعمل لامدا كواجهة بين واجهة المستخدم والنموذج التوليدي. إذا كنت تستخدم خدمة خارجية مثل OpenAI، فاحرص على تأمين مفتاح API وأرسل الطلب عبر لامدا.
const fetch = require('node-fetch');
exports.handler = async (event) => {
const prompt = JSON.parse(event.body).prompt;
const apiKey = process.env.OPENAI_API_KEY;
const res = await fetch('https://api.openai.com/v1/chat/completions', {
method: 'POST',
headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' },
body: JSON.stringify({
model: 'gpt-4o-mini',
messages: [{ role: 'user', content: prompt }]
})
});
const data = await res.json();
return { statusCode: 200, body: JSON.stringify(data) };
};إذا قمت باستضافة النموذج على خادم وحدة معالجة الرسومات (GPU) الخاص بك، فستقوم خدمة Lambda أو خدمة الواجهة الخلفية بإرسال الطلب إلى نقطة النهاية الخاصة بها:
const res = await fetch('https://gpu.example.com/inference', {
method: 'POST',
headers: { 'Authorization': `Bearer ${process.env.MODEL_TOKEN}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ inputs: prompt })
});
5. تطبيق البث المباشر/التنفيذ في الوقت الفعلي (اختياري)
للاستجابات الطويلة أو رموز البث، استخدم WebSocket أو أحداث الخادم المرسلة. على AWS، يمكنك استخدام API Gateway WebSocket أو اشتراكات AppSync.
6. استضافة الواجهة الأمامية باستخدام Amplify Hosting و CI/CD
تتيح لك خدمة Amplify Hosting تشغيل CI/CD من مستودع Git؛ كل عملية دفع إلى فرع معين تؤدي إلى عملية بناء ونشر تلقائية.
amplify hosting add
amplify publish
سياسات الأمن وإدارة المفاتيح وإدارة الهوية والوصول
إدارة الأسرار
من مدير أسرار AWS يُستخدم لتخزين مفاتيح API والأسرار. يجب أن يقتصر دور IAM الخاص بـ Lambda على حق الوصول للقراءة فقط إلى السر المحدد.
نماذج سياسات إدارة الهوية والوصول
مثال بسيط لسياسة تسمح لـ Lambda بقراءة سر معين:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "secretsmanager:GetSecretValue",
"Resource": "arn:aws:secretsmanager:region:acct-id:secret:myOpenAIKey"
}
]
}
الحماية من الهجمات وسلامة المحتوى
لحماية التطبيق:
- التفعيل جدار حماية تطبيقات الويب من AWS لحظر الطلبات الضارة.
- استخدام درع AWS (قياسي افتراضياً، لتوفير حماية أكبر من الحماية المتقدمة).
- على مستوى واجهة برمجة التطبيقات (API)، استفد من تحديد معدل الاستخدام وخطط الاستخدام في بوابة واجهة برمجة التطبيقات (API Gateway).
- إدارة المحتوى للحصول على مخرجات مثمرة: مراجعة وتصفية الردود باستخدام نماذج الوساطة (OpenAI/HuggingFace).
اختيار موقع مركز البيانات ومقارنته من حيث زمن الاستجابة والامتثال
يُعد اختيار المنطقة المناسبة أمرًا بالغ الأهمية بناءً على توزيع المستخدمين والمتطلبات القانونية. نصائح عامة:
- us-east-1: سرعة الوصول إلى أمريكا الشمالية وتخفيض تكاليف الخدمات الأساسية.
- eu-west-1: مناسب لأوروبا التي تتمتع بقوانين خصوصية أكثر صرامة.
- ap-southeast-1 / ap-northeast-1: المناطق الآسيوية للمستخدمين في تلك القارة.
بالنسبة للمستخدمين الموزعين، استخدم شبكة توصيل المحتوى (CloudFront) وقم بتوزيع النموذج عبر مناطق متعددة أو استدلال الحافة.
إذا لزم الأمر زمن استجابة منخفض للغاية أو، إذا كان لديك تحكم كامل في البيانات، يمكنك استضافة النموذج على خادم وحدة معالجة الرسومات الخاص بالشركة في أكثر من 85 موقعًا، مما يوفر مزايا تقليل زمن الوصول والتحكم في البيانات وقدرات مكافحة هجمات DDoS للأجهزة.
استضافة النماذج - وحدة معالجة الرسومات السحابية مقابل واجهة برمجة التطبيقات المُدارة (المزايا والعيوب)
مقارنة شاملة بين الخدمات المُدارة والخدمات المُستضافة ذاتيًا على وحدة معالجة الرسومات (GPU):
- مُدار (OpenAI/Bedrock/Hugging Face):
- المزايا: لا يتطلب صيانة، تحديثات بسيطة للنموذج، وصول سريع.
- العيوب: تكلفة كل طلب، ومخاوف تتعلق بالخصوصية.
- مُستضاف ذاتيًا على وحدة معالجة الرسومات:
- المزايا: تكلفة خادم ثابتة، تحكم كامل، إعدادات مخصصة، استخدام خوادم الرسومات الخاصة بنا للعرض والذكاء الاصطناعي.
- العيوب: الحاجة إلى الإدارة والمراقبة، وقابلية التوسع اليدوي.
توصية: استخدم النظام المُدار لإثبات المفهوم؛ وانتقل إلى خادم وحدة معالجة الرسومات لتلبية احتياجات الحجم الكبير وزمن الاستجابة المنخفض.
تحسين الأداء والتكلفة
- تمارين التمدد: قم بتخزين المخرجات غير الحساسة مؤقتًا في CloudFront أو Redis/ElastiCache.
- اختيار الطراز: استخدم أصغر نموذج ممكن للاحتياجات الحقيقية (مُقطّر أو مُكمّم).
- حد لامدا: للاستدلال الطويل، استخدم ECS/EKS أو خادم GPU لأن Lambda لديه قيود على الوقت/وحدة المعالجة المركزية.
- يراقب: CloudWatch للسجلات والمقاييس، وX-Ray للتتبع.
- توفير التكاليف: قم بحجز أو استخدام مثيلات محجوزة أو خوادم مخصصة لوحدات معالجة الرسومات للاستدلال طويل المدى.
مثال على تكوين خادم وكيل عكسي Nginx لـ Triton على وحدة معالجة الرسومات
إذا كان النموذج يعمل على خادم GPU، فيمكنك إعداد وكيل عكسي باستخدام Nginx:
server {
listen 443 ssl;
server_name ai.example.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
نصائح أخيرة حول الأمن والخصوصية
بعض النصائح العملية لحماية البيانات والامتثال للقانون:
- تسجيل البيانات الحساسة: تجنب تخزين الرسائل الحساسة مباشرةً أو قم بتشفيرها.
- الاحتفاظ بالبيانات: مراجعة متطلبات اللائحة العامة لحماية البيانات/قانون حماية البيانات الشخصية؛ استخدام مواقع محددة (محل البيانات) إذا لزم الأمر.
- الإدخال/الإخراج: استخدم التحقق من الصحة والتطهير لمنع الحقن الفوري وتسريب البيانات.
أمثلة على التطبيقات والسيناريوهات
- تطبيق لإنشاء المحتوى وتحرير النصوص مع ميزة الاقتراحات والتلخيص.
- روبوت محادثة ذكي مع سياق جلسة مخزن في قاعدة بيانات DynamoDB.
- أداة برمجة ذكية للمطورين مزودة بخاصية الإكمال التلقائي واقتراحات إعادة الهيكلة.
- أدوات عرض هجينة تعتمد على الذكاء الاصطناعي وتستخدم خادم وحدة معالجة الرسومات لمعالجة الصور والفيديو.
نصائح عملية للاستقرار في شركتنا (التي تضم أكثر من 85 موقعًا)
نصائح عملية لتقليل زمن الاستجابة وتحسين تجربة المستخدم على المستويات العالمية:
- بالنسبة للمستخدمين في أوروبا أو آسيا أو أمريكا اللاتينية، استخدم المواقع القريبة لتقليل زمن استجابة p99.
- للتداول والألعاب، استخدم خادمًا افتراضيًا مخصصًا للتداول وخادمًا افتراضيًا مخصصًا للألعاب مع خاصية مكافحة هجمات DDoS وتقنية BGP Anycast لتقليل زمن الاستجابة وفقدان الحزم.
- استخدم الحوسبة السحابية لوحدات معالجة الرسومات لتدريب واستنتاج النماذج الكبيرة لتحسين التكلفة وتقليل زمن الاستجابة.
- استفد من الشبكة وشبكة توصيل المحتوى (CDN) لتوزيع المحتوى وتقليل أوقات التحميل.
ملخص سريع وقائمة مراجعة قبل الإطلاق
- خدمة الاستضافة Amplify وخدمة التكامل المستمر (CI) تعملان بشكل فعال.
- تم إعداد Cognito للمصادقة وتم تمكين المصادقة متعددة العوامل (MFA) إذا لزم الأمر.
- تم تأمين وظيفة Lambda بأقل قدر من الوصول وتكوين مدير الأسرار.
- يتم تطبيق جدار حماية تطبيقات الويب (WAF) وتحديد معدل الطلبات على واجهة برمجة التطبيقات (API).
- ينبغي تفعيل شبكة توصيل المحتوى (CDN) والتخزين المؤقت لتقليل الاستخدام وزمن الاستجابة.
- يتم اختيار الموقع المناسب بناءً على المستخدمين المستهدفين والاحتياجات القانونية.
- تم إعداد برنامج للمراقبة والتنبيه (CloudWatch + Slack/البريد الإلكتروني).
- ينبغي إجراء اختبارات التحميل والاختراق قبل الإطلاق العام.
خيارات الدعم الفني والاستشارات
لمساعدتك في اختيار أفضل مزيج من المنطقة ووحدة معالجة الرسومات والشبكة، يمكنك استخدام خطط الاستضافة وخوادم الرسومات في أكثر من 85 موقعًا. كما يمكن للفريق التقني تقديم إرشادات حول ترحيل النماذج وإعداد التكامل المستمر/التسليم المستمر (CI/CD).









