أفضل ممارسات AWS

يلخّص هذا القسم أفضل الممارسات التي نتّبعها ويقدّم اقتراحاتنا لاستخدام OPDK مع سحابة AWS.

يتم استخدام Cassandra كخلفية ومخزن بيانات لجميع السياسات تقريبًا، وهو جزء مهم من بيئة وقت التشغيل في Apigee Edge. يركّز هذا المستند على تحسين Cassandra لبيئة AWS.

متطلبات التخزين والإدخال/الإخراج

تكون معظم عمليات الإدخال/الإخراج في Cassandra متسلسلة، ولكن هناك حالات تتطلب عمليات إدخال/إخراج عشوائية. على سبيل المثال، عند قراءة جداول السلاسل المرتّبة أثناء عمليات القراءة. يُعدّ محرك الأقراص ذو الحالة الصلبة (SSD) آلية التخزين المقترَحة لـ Cassandra، لأنّه يوفّر أوقات استجابة بزمن انتقال منخفض للغاية لعمليات القراءة العشوائية مع توفير أداء كافٍ للكتابة المتسلسلة لعمليات الضغط. يتم أيضًا أخذ النسخ المتماثل في الاعتبار هنا.

تأتي العديد من مثيلات AWS EC2 مع مساحة تخزين محلية يتم فيها توصيل محرك الأقراص الثابتة فعليًا بالأجهزة التي تتم استضافة مثيل EC2 عليها. تنصح Apigee بالاستفادة من كل من SSD ومخازن المثيلات عند تشغيل Cassandra في الإنتاج. عند استخدام نوع مثيل يحتوي على أكثر من وحدة تخزين SSD واحدة، يمكنك استخدام RAID0 للحصول على معدل نقل بيانات وسعة تخزين أكبر.

متطلبات الشبكة

تستخدم Cassandra بروتوكول Gossip لتبادل المعلومات مع العُقد الأخرى حول مخطط الشبكة. يؤدي استخدام Gossip بالإضافة إلى الطبيعة الموزعة لـ Cassandra - والتي تتضمن التحدث إلى عقد متعددة لعمليات القراءة والكتابة - إلى الكثير من نقل البيانات عبر الشبكة. تنصح Apigee باستخدام نوع مثيل بنطاق ترددي للشبكة لا يقل عن 1 غيغابت في الثانية وأكثر من 1 غيغابت في الثانية لأنظمة الإنتاج.

استخدِم شبكة VPC مع تدوين CIDR بقيمة ‎ /16. بما أنّ الشبكات الفرعية في AWS لا يمكن أن تمتد على أكثر من منطقة واحدة، تنصح Apigee بما يلي:

  • أنشئ شبكة فرعية واحدة لكل منطقة توافُر (AZ).
  • استخدِم 3 شبكات فرعية خاصة لتثبيت Apigee، مع عقدة Cassandra واحدة في كل منطقة توافر. يجب أن تحتوي الشبكات الفرعية الثلاث على كتل CIDR كافية لاستيعاب التوسّع الأفقي لمجموعة Cassandra.
  • اضبط 3 شبكات فرعية علنية باستخدام NAT مخصّص لـ Cassandra لتتمكّن من الاتصال بالإنترنت لتنزيل البرامج وتحديثات الأمان.

على عكس البُنى القديمة التي تعتمد على نموذج "الرئيسي والتابع"، تعتمد Cassandra على بنية لا تتضمّن عقدة رئيسية، حيث تؤدي جميع العُقد دورًا متطابقًا، وبالتالي لا توجد نقطة عطل مفردة. ننصحك بتوزيع عُقد Cassandra على عدة مناطق توافُر لضمان توفّر الخدمة بشكل كبير. من خلال توزيع العُقد على مناطق توافر متعددة، يمكنك الحفاظ على توفّر الخدمة ومدة التشغيل في حال حدوث كارثة.

اختيار فئة مثيل

عند النظر في متطلبات وحدة المعالجة المركزية في Cassandra، من المفيد ملاحظة أن أعباء العمل التي تتطلب الكثير من عمليات الإدراج تكون مقيدة بوحدة المعالجة المركزية في Cassandra قبل أن تصبح مقيدة بالإدخال والإخراج. بعبارة أخرى، يتم إرسال جميع عمليات الكتابة إلى سجلّ عمليات التسجيل، ولكنّ Cassandra فعّالة جدًا في الكتابة لدرجة أنّ وحدة المعالجة المركزية تصبح العامل المحدِّد. تتميز Cassandra بقدرتها العالية على معالجة البيانات المتزامنة وتستخدم أكبر عدد ممكن من أنوية وحدة المعالجة المركزية المتاحة.

تنصح Apigee باستخدام مجموعة مثيلات تتضمّن توازنًا بين وحدة المعالجة المركزية والذاكرة. على وجه التحديد، ننصح باستخدام مثيلات من فئة C5 إذا كانت متوفّرة في منطقة AWS، ومثيلات من فئة C3 كخيار احتياطي. في بعض الحالات، يكون 4xlarge هو الخيار الأمثل في كلتا الفئتين، إذ يوفّر أفضل سعر وأداء.

تنصح Apigee أيضًا باستخدام إيجار تلقائي لمثيلات Cassandra. عندما توسّع نطاقك إلى أكثر من مثيل واحد لكل منطقة توافر، من المرجّح أن يتم وضع جميع مثيلات Cassandra على الأجهزة الأساسية نفسها إذا ضبطت الإيجار ليكون مخصّصًا. لذلك، عند تعطل الأجهزة، من المحتمل أن تفقد جميع مثيلاتك في منطقة التوفر تلك.

ملخّص الاقتراحات

يلخّص الجدول التالي اقتراحات Apigee لاستخدام AWS مع Apigee Edge for Private Cloud:

مجموعة الأجهزة الافتراضية ‫C5d (مفضّل) أو C3
نوع المثيل C(x).4xlarge
Instance Store محرك أقراص ذو حالة صلبة (SSD) (مساحة تخزين على الجهاز) مع RAID0
نوع الإيجار المظهر التلقائي
موضع العقدة عقدة Cassandra واحدة لكل منطقة توافر
شبكة VPC والشبكة الفرعية شبكة فرعية واحدة لكل منطقة توافُر وشبكة VPC واحدة لكل منطقة

لمزيد من المعلومات، يُرجى الاطّلاع على أنواع مثيلات Amazon.