مبادئ التصميم—تطوير التطبيقات الحديثة

أفضل الممارسات التي تحكم هياكل التطبيقات.

 

فتح الكل إغلاق الكل

    • استخدام المنصات منخفضة التعليمات البرمجية؛ واستخدم لغات البرمجة الناضجة وأطر العمل خفيفة الوزن إن لم يكن

      نظرة عامة
      تؤدي لغات البرمجة وأطر العمل التي تتبناها لبناء تطبيقك دورًا محوريًا في نجاح تسليم التطبيق وصيانته على مدار الوقت. إن خيارات اللغة وإطار العمل لها عواقب طويلة الأجل على كيفية توسيع أعمالك وتشغيل تطبيقك وتقديم ميزات عالية الجودة لعملائك. وعادة ما تكون التغييرات في اللغة أو الإطار باهظة التكلفة. يؤدي دعم النظم الإيكولوجية المتوازية للغات وأطر العمل المتعددة إلى زيادة التعقيد وتقليل المرونة.

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

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

      ومع ذلك، إذا كان تطبيقك لديه متطلبات أكثر تعقيدًا، فاختر لغة برمجة ناضجة مقترنة بإطار خفيف الوزن. عند اختيار لغة برمجة، حدد لغة توفر لك مزايا أساسية، مثل:

      • الأمان
      • أداء فائق وكفاءة عالية
      • دعم الأدوات
      • وثائق شاملة ومحدثة
      • نظام بيئي للمكتبات
      • الامتثال لمجموعة اختبارات أو تنفيذ مرجعي
      • مجتمع قوي

      وتميل اللغات الجديدة إلى إحداث معدل تغيير أعلى في تصميمها اللغوي وما يقابله من نظم إيكولوجية ومكتبات. ويعني ارتفاع معدل التغيير أن تقييم المخاطر أكثر صعوبة وأكثر تكلفة لإجراء تغييرات لاحقة.

      عند اختيار إطار عمل، حدد إطار عمل مفتوح المصدر. تخضع الأطر مفتوحة المصدر لاستعراض الأقران المستمر، مما يعني أن الميزات قريبة مما يريده معظم المطورين لأنها تساهم في إنشاء أطر العمل وصيانتها. يتم العثور على الأخطاء وإصلاحها بسرعة. كما تريد أيضًا تحديد إطار عمل خفيف الوزن يستهلك موارد قليلة مثل وحدة المعالجة المركزية (CPU) أو الذاكرة أو عرض النطاق الترددي للشبكة أو مراجع الملفات.

      استخدم إطار التطبيق الذي يوازن بين تحسين التركيز على المهام (منطق الأعمال على القالب والسقالات) والمرونة (مما يتيح لك دعم احتياجات الميزات الحالية والمستقبلية). اعتماد إطار عمل يوفر افتراضات سهلة الاستهلاك والمعقولة وغير المثيرة للجدل للميزات العامة، مثل التسجيل والقياس عن بُعد والأمان والتكوين، بالإضافة إلى الأنماط العامة، مثل إنشاء واجهات برمجة تطبيقات REST.

      توصيات Oracle
      Oracle APEX هي نظام أساسي منخفض التعليمات البرمجية يوفر لك مكونات عالية المستوى، مثل النماذج والمخططات وعناصر واجهة المستخدم. كما توفر APEX أنماط تصميم مشتركة من خلال بيئة تطوير رسومية بديهية. يمكن للتطبيقات التي تم تطويرها باستخدام APEX الوصول إلى البيانات المحلية عبر SQL والتكامل مع الخدمات الخارجية باستخدام واجهات برمجة تطبيقات REST. بالإضافة إلى ذلك، يمكنك نشر الوظيفة التي تقوم بتطويرها في APEX كواجهات برمجة تطبيقات REST للاستهلاك الخارجي.

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

      استخدم GraalVM لتطوير تطبيقك وتشغيله. GraalVM هو توزيع JDK يقوم الأزواج باستقرار Java بأفضل أداء في الفئة من خلال تحسين وقت التشغيل الديناميكي والتصحيح المتكرر والاستباقي للثغرات الأمنية وتحليل الأداء المنخفض التكلفة والأدوات التشخيصية، مثل Java Flight Recorder.

      أنشئ التطبيق الخاص بك باستخدام نهج واجهة برمجة التطبيقات أولاً باستخدام مجموعة Graal للتطوير لـ Micronaut أو إطار عمل Helidon. يوفر كلا النهجين دعامة تقلل بشكل كبير من الوقت لتقديم تطبيقك وأنماط سهلة الاستخدام لحالات الاستخدام المشتركة، مثل واجهات برمجة تطبيقات REST، على أساس مجموعة من الخيارات الإطارية البسيطة وغير الخلافية للأنشطة المشتركة، مثل التسجيل والقياس عن بعد والتخزين. بالإضافة إلى ذلك، يدعم كلا النهجين الخدمات عالية الأداء، من خلال دعم المدخلات/المخرجات غير المعوقة باستخدام واجهات برمجة التطبيقات التفاعلية، وانخفاض الكمون، من خلال دعم مكتبات الشبكات عالية الأداء.

      • اختر Helidon MicroProfile للتطبيقات التي تتوافق بشكل وثيق مع النظام الإيكولوجي لـ Java للمؤسسة، على سبيل المثال، CDI أو JAX-RS أو JPA. معايير Helidon - يؤدي الدعم الأول لأنماط Java Enterprise الحديثة من خلال MicroProfile إلى تبسيط نقل تطبيقات Java EE الموجودة إلى الخدمات المتناهية الصغر.
      • اختر مجموعة Graal للتطوير لـ Micronaut (GDK) أو Helidon SE أو Helidon SE للتطبيقات التي لا تعتمد على المنظومة الحالية لـ Java للمؤسسة. يؤدي تجميع تطبيقات وقت التجميع في GDK إلى زيادة أداء التطبيق في وقت التشغيل وتمكين التحقق على مستوى الإطار، مما يمكن أن يزيل العديد من مشكلات الأمان والجودة المتعلقة بالتأمل وتكوين وقت التشغيل.

      يتوفر لكل من Helidon وGDK دعم مدمج للصورة الأصلية GraalVM، مما يمكنك من بناء تطبيقات تتسم بالكفاءة في الذاكرة وصغر الحجم.

    • إنشاء تطبيقك كمجموعة من الخدمات التي تتصل عبر واجهات برمجة تطبيقات REST

      نظرة عامة
      قم بتقسيم ميزات أو مهام التطبيق إلى خدمات مستقلة مقترنة بغير إحكام تعمل مع بعضها بعضًا. تصميم كل خدمة ذات نطاق وظيفي محدود يركز على ميزة أو قدرة واحدة. وبالمقارنة مع البنية التقليدية أحادية اللغة، يعمل هذا النهج على تحسين صيانة التطبيقات وتطوير الميزات والاختبار والنشر وقابلية التوسع.

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

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

      حدد عمليات تنفيذ النهج لاتفاقيات مستوى الخدمة والأمان في وقت مبكر من دورة تشغيل المنتج للتأكد من وضوح الجميع في جميع جوانب عقد الخدمة.

      قم بمعاملة مواصفات واجهة برمجة التطبيقات الخاصة بك كرمز وقم بإدارتها في نظام التحكم في الإصدار بالإضافة إلى تكوينات النهج والرمز المصدر.

      توصيات Oracle
      حدد واجهة برمجة التطبيقات باستخدام الصيغة OpenAPI الخاصة بالتنفيذ غير المحدد وقم بتخزينها في مستودع توفره Oracle Cloud Infrastructure (OCI) DevOps.

      يمكنك تنفيذ خدماتك باستخدام نهج المصدر المفتوح خفيف الوزن، مثل مجموعة Graal للتطوير لـ Micronaut أو Helidon.

      توزيع خدماتك على منصات بدون خادم، مثل Oracle Container Engine for Kubernetes أو Oracle Functions، لتسهيل النشر وقابلية التوسيع وكفاءة التكلفة.

      استخدم Oracle Cloud Infrastructure API Gateway لتكوين نقاط انتهاء خاصة أو عامة محمية ومحكومة من مواصفات API.

      استخدم Oracle Cloud Infrastructure Service Mesh لتبسيط الاتصال وتأمينه بين الخدمات المستضافة في مجموعة Oracle Container Engine for Kubernetes. تتيح لك شبكة خدمات OCI أيضًا مراقبة جميع نسب استخدام الشبكة عبر الشبكة بين خدماتك عبر المقاييس والسجلات المنبعثة من مكون الوكيل الخاص بها والذي يعمل جانبيًا على نقاط توصيل التطبيقات.

    • حزم التطبيق ونشره كحاويات

      نظرة عامة
      رمز حزم الحاويات وتبعياته كوحدة واحدة، بحيث يتم تشغيل التطبيق بسرعة وموثوقية عبر بيئات الحوسبة المتعددة. صورة الحاوية هي ملف يقوم، عند تنفيذه، بإنشاء حاوية وبدئها في بيئة حوسبة.

      ومقارنة بالآلات الافتراضية التقليدية، تكون الحاويات أصغر حجمًا وتتطلب موارد أقل وأوقات بداية أسرع. كما أنه نظام أساسي مستقل ويمكنه تشغيل التطبيقات في أي مكان. للاستفادة من هذه المزايا، قم بفك تكوين تطبيقك في الخدمات التي يقوم كل منها بوظيفة أعمال منفصلة وحزم كل خدمة كحاوية. للتطبيقات القديمة، استبدل تدريجيا كل وظيفة موجودة في تطبيقك بخدمة ذات حاوية حتى يتم إعادة تصميم التطبيق بأكمله.

      تفاصيل أساسية
      رمز وتبعيات تطبيق التعبئة في وحدة قابلة للتنفيذ واحدة (صورة حاوية) تعني أن الحاوية قابلة للنقل للغاية. من خلال الجمع بين قابلية النقل هذه مع تجريد البنية التحتية، تجلب الحاويات الاتساق التشغيلي إلى تطبيقك. سواء كان تطبيقك يعمل محليًا على خادم مادي أو في السحابة على جهاز افتراضي، فإنه ينتج النتائج نفسها في كل مرة.

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

      على عكس جهاز افتراضي، لا تأتي الحاوية مع نظام تشغيل خاص بها ؛ بدلاً من ذلك، تشترك في نظام التشغيل الخاص بمضيفها. نتيجة لذلك، تكون الحاويات أصغر حجما وأسرع للبدء من الآلات الافتراضية. معظم صور الحاويات هي عشرات الميجابايت في الحجم مقارنة بالأجهزة الظاهرية التي يمكن أن تكون عدة جيجابايت، وأوقات البداية بالثواني بدلاً من الدقائق التي يستغرقها بدء الآلات الظاهرية.

      أفضل طريقة لتشغيل وتوسيع التطبيق الخاص بك مع خدمات وحدات في الحاويات هو نشر خدمة واحدة لكل حاوية. ويعزل هذا النهج الخدمات بعضها عن بعض، مما يزيل وقت التوقف ويتيح التوسع المستقل لكل خدمة.

      على الرغم من أنه يمكنك نشر الحاويات يدويًا، إلا أنه من الأفضل استخدام برنامج إدارة الحاويات الذي يتكامل مع أدوات التكامل والنشر المستمرة لديك.

      توصيات Oracle
      استخدم Oracle Cloud Infrastructure Registry (سجل الحاويات) لتخزين صور الحاوية الخاصة بك وOracle Cloud Infrastructure Container Engine for Kubernetes (OKE) لتشغيل الحاويات وإدارتها. يتم تكامل هذه الخدمات المدارة بالكامل مع قدرات منصة OCI، وهي متاحة في جميع مناطق Oracle Cloud، وتستوفي المعايير التنظيمية، مثل PCI وISO وSOC وHIPAA وFedRAMP.

      بالإضافة إلى تخزين صور الحاويات في سجل الحاويات، يمكنك تخزين قوائم البيانات (التي تسمى أحيانًا الصور متعددة البنيات) لدعم العديد من البنيات، مثل ARM وAMD64. لتحديد مواطن الضعف الأمنية المحتملة وتخفيفها، قم بتمكين المسح الضوئي للصور على كل الصور التي تم تحميلها إلى سجل الحاويات. يجب توقيع صور الحاوية للتأكد من توزيع الصور المعتمدة والموثوق بها فقط على OKE.

    • أتمتة عمليات الإنشاء والاختبار والنشر

      نظرة عامة
      التكامل المستمر (CI) والنشر المستمر (CD) هما مجموعة من الأدوات والإجراءات التي تستخدمها فرق التطوير لتقديم تغييرات التعليمات البرمجية بشكل متكرر وموثوق. تتضمن أفضل ممارسات الدمج المستمر/التسليم المستمر مراجعات التعليمات البرمجية، والتوجيه لاختبار الوحدة، واختبار التكامل، وإيداع التعليمات البرمجية، وتذاكر تقديم الوثائق، ونشر التطبيقات في بيئات التطوير والاختبار.

      يوضح التكامل المستمر ممارسة يقوم فيها المطورون بشكل متكرر بدمج تغييرات التعليمات البرمجية الخاصة بهم في الفرع الرئيسي لمخزن مشترك. يتم التحقق من تغييرات المطورين من خلال إنشاء بنية وتشغيل اختبارات تلقائية ضد البناء. تضمن الاختبارات عدم كسر التطبيق الخاص بك كلما تم دمج تغييرات جديدة في الفرع الرئيسي.

      وتشمل مزايا التكامل المستمر ما يلي:

      • يتم شحن أخطاء أقل إلى الإنتاج نظرًا إلى أن الاختبارات التلقائية تحدد حالات فشل الانحدار مبكرًا
      • يتم حل مشكلات التكامل مبكرًا، مما يجعل عملية الإنشاء أكثر سهولة
      • يتم اكتشاف الأخطاء وتحديد موقعها بشكل أسرع وأكثر سهولة (إذ يكون كل تغيير صغيرًا في العادة)

      التسليم المستمر هو خطوة أبعد من التكامل المستمر ؛ بعد اجتياز الاختبارات المناسبة، يتم تسليم البناء تلقائيًا إلى بيئة الاختبار و / أو الإنتاج. الهدف من التسليم المستمر هو أن يكون دائمًا قاعدة تعليمات برمجية جاهزة للنشر في بيئة إنتاج العملاء.

      تشمل المزايا الإضافية للتسليم المستمر ما يلي:

      • تعني أتمتة عمليات النشر المعقدة أن فريقك يقضي وقتًا أقل في التحضير للإصدار
      • إصدارات أكثر تكرارًا، مع تسريع حلقة تعليقات العملاء
      • تسريع وتيرة التكرار نظرًا لوجود ضغط أقل على القرارات المتعلقة بالتغييرات الصغيرة

      ينتقل النشر المستمر خطوة واحدة أبعد من التسليم المستمر؛ يتم نشر كل تغيير يمر بجميع الاختبارات تلقائيًا إلى بيئة إنتاج عملائك. لا يوجد تدخّل بشري - يمكن للاختبار الفاشل فقط منع حدوث تغيير جديد في الإنتاج. وبدون أي تدخل بشري، يعتمد النشر المستمر بشكل كبير على أتمتة الاختبار المصممة بشكل جيد.

      وتشمل المزايا الإضافية للنشر المستمر ما يلي:

      • زيادة سرعة التطوير نظرًا لعدم الحاجة إلى التوقف عن الإصدارات
      • زيادة رضا العملاء بفضل الجودة المحسنة والتدفق المستمر للتحسينات

      يقدم الدمج المستمر/التسليم المستمر أفضل الممارسات لتخزين التعليمات البرمجية ودمجها ونشرها وصيانتها لأتمتة كيفية إنشاء تطبيقاتك. زيادة رضا العملاء بفضل الجودة المحسنة والتدفق المستمر للتحسينات

      • تطبيق نموذج "إزاحة لليسار" والتركيز على اكتشاف المشكلات ومنعها في أقرب وقت ممكن في دورة حياة تطوير البرامج (SDLC). على سبيل المثال، مراقبة تبعيات الجهات الخارجية لتطبيقك للتعرف على الثغرات أثناء التكامل المستمر.
      • استخدم مخزن التعليمات البرمجية المستند إلى Git لتخزين كل أصول التعليمات البرمجية. إنها خدمة بيانات اصطناعية غير قابلة للتغيير لتخزين الأصول المشتقة.
      • لتنفيذ التكامل المستمر، قم بدمج كل التعليمات البرمجية في فرع “تحرير المرشح” مرة واحدة في اليوم على الأقل. عند دمج التعليمات البرمجية في هذا الفرع، تأكد من تحفيز عمليات الإنشاء آليًا. كجزء من خطة مبيعات البناء، قم بتشغيل كل اختبارات الوحدات وتصحيح أية حالات فشل في خطة المبيعات على الفور قبل إجراء المزيد من التطوير في فرع مرشح الإصدار. استخدام المسوحات الأمنية في التعليمة البرمجية لاكتشاف الثغرات الأمنية. لا تخزن أي بيانات اصطناعية بها مشكلة ثغرة. إصلاح كل نقاط الضعف في فرع مرشح الإصدار قبل مزيد من التطوير.
      • لتنفيذ النشر المستمر، قم بتسليم مرشحي الإصدار تلقائيًا إلى بيئة اختبار أو استخدم عمليات نشر القناة. عند اجتياز عمليات نشر الاختبار، قم بترقيتها تلقائيًا إلى الإنتاج الكامل. في حالة فشل عمليات نشر الاختبار، قم بحلها على الفور قبل إجراء المزيد من التطوير في تحرير فرع المرشح. استخدم ميزات الأمان كجزء من عمليات النشر لمنع نشر البيانات الاصطناعية غير المصرح بها والضعيفة على البنية التحتية.
      • وفي بيئة الإنتاج، استخدم أدوات الرصد لتقييم سلامة التطبيقات المنشورة وكشف أي مواطن ضعف في مرحلة ما بعد النشر. في حالة اكتشاف أية مشكلات، قم بتنفيذ إلغاء التعديلات التلقائية على الإصدار السابق. قم بإجراء عمليات التحقق من الأمان في بيئة ما بعد النشر وحل أية مشكلات يتم اكتشافها على الفور.

      توصيات Oracle
      استخدم DevOps Service لأتمتة نشر التطبيقات المحلية للسحابة. أولاً، تخزين التعليمة البرمجية في مخزن تعليمات DevOps البرمجية وتكوين فرع إصدار. العمل في زيادات صغيرة لإجراء تغييرات على فرع الإصدار وتسوية المشكلات في الفرع يوميًا لضمان استقراره. ثم استخدم وظيفة المشغلات في مستودع التعليمات البرمجية لبدء مسار إنشاء DevOps تلقائيًا.

      استخدم توجيه بناء DevOps مفرد لإنشاء كل البيانات الاصطناعية المقترنة بمخزن التعليمات البرمجية. في حالة فشل البناء، قم بتكوين خطة مبيعات البناء للانتظار للاعتماد قبل إتمامها. يجب أن ستحول طلب الموافقة إلى المثبت الذي قام بتشغيل البناء، ويجب عليه حل المشكلة من خلال تثبيت تعليمات برمجية جديدة ثم الموافقة على إتمام البناء. بالنسبة إلى عمليات الإنشاء الناجحة، قم بتكوين خط توجيه الإنشاء لتسليم البيانات الاصطناعية تلقائيًا إلى خدمة Oracle Cloud Infrastructure Artifacts Registry ولتشغيل خط توجيه توزيع DevOps.

      أضف إدارة تبعية التطبيق لاكتشاف الثغرات الأمنية (CVE) في تبعيات التطبيق أثناء مرحلة الإنشاء في مسار إنشاء OCI DevOps. بهذه الطريقة، ستتمكن من اكتشاف المخاطر المحتملة وإصلاحها بمجرد معرفتها.

      استخدم مدير الموارد لتكوين جميع بيئات البنية التحتية الخاصة بك في منطقة أمان الحد الأقصى للاستفادة تلقائيًا من أمان النشر. باستخدام مدير الموارد، يمكنك استخدام البنية التحتية كرموز لأتمتة تكوين البنية التحتية عبر كل المناطق بطريقة متسقة. بعد ذلك، يمكنك تكوين خطة توزيع DevOps لتوزيعها دائمًا على الموارد التي قمت بتكوينها في منطقة الحماية.

      تكوين خط توجيه توزيع DevOps مفرد يقوم بنشر كل البيانات الاصطناعية التي تم تكوينها من خط توجيه بناء مفرد. تنظيم بيئات النشر، مثل منطقة OCI ونطاق التوفر ونطاق الأخطاء. يمكنك تكوين مسار بيانات باستخدام إستراتيجية نشر خضراء زرقاء أو متدحرجة. قم أيضًا بتكوينه لتشغيل الاختبارات تلقائيًا. تمكين مراقبة OCI وApplication Performance Monitoring في التطبيق والبنية التحتية لاكتشاف المشكلات.

      في حالة عدم اكتشاف مشكلات وإتمام الاختبارات بنجاح، قم بتكوين خطة التوزيع لتوزيع البيانات الاصطناعية تلقائيًا على البيئة التالية في استراتيجية النشر حتى يتم نشر البيانات الاصطناعية بالكامل في جميع بيئات الإنتاج. عند التوزيع في بيئة الإنتاج، قم بتكوين خطة المبيعات لتوزيعها على جميع نطاقات الخطأ في نطاق إتاحة واحد في المرة الواحدة. قم بالتوزيع على كل نطاق إتاحة في منطقة واحدة في كل مرة، ثم على كل منطقة واحدة في كل مرة. استمر في استخدام مراقبة OCI وApplication Performance Monitoring في التطبيق والبنية التحتية لاكتشاف المشكلات بسرعة. قم بإعداد التنبيهات، وفي حالة إسقاط أية قياسات أساسية فجأة أثناء النشر، قم بفشل النشر تلقائيًا وتشغيل إلغاء التعديلات على الإصدار السابق.

    • استخدام الخدمات المدارة لتجنب التعقيد في تطوير التطبيقات وعملياتها

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

      توفر خدمة OCI المُدارة مكونًا آمنًا وقابلًا للتوسع لتطوير السحابة الأصلية. استخدم الخدمات المدارة لتطوير وتشغيل تطبيقك وتخزين بياناته؛ تحصل على أفضل الحلول في فئتها دون الحاجة إلى خبرة في كل مجال لبناء وتشغيل التطبيق الخاص بك.

      تفاصيل أساسية
      تتيح لك الخدمات المُدارة إنشاء تطبيقات عالية التوفر والقابلة للتطوير والمرونة والأداء مع الأمان والتوافق والمرونة.

      تلخص الخدمات المدارة تعقيد المكونات الأساسية لتطبيقك، مما يسهل تخزين البيانات واسترجاعها أو تكوين تطبيقك وتشغيله. تتكامل الخدمات مع مجموعات الأدوات التي توفر إنشاءًا تلقائيًا واختبارًا ونشرًا لتطبيقك. تعمل الخدمات المُدارة على تحسين الإنتاجية وتقليل وقت التسويق.

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

      الخدمات المدارة متاحة وقابلة للتوسيع بشكل كبير، وتلبية احتياجات التطبيق، ولا تدفع إلا ثمن ما تستخدمه. يمكنك أن تبدأ صغيرة الحجم والتوسع دون أن تواجه أي تدهور في الأداء أو الموثوقية.

      توصيات Oracle
      نوصي بالخدمات السحابية التالية:

      • Oracle Autonomous Database لإدارة بيانات مستودع البيانات أو معالجة المعاملة. يوفر Autonomous Database قواعد بيانات في الذاكرة وNoSQL وSQL مع ميزة مستقلة لتقليل النفقات الإضافية للإدارة.
      • Oracle Cloud Infrastructure Container Engine for Kubernetesلتكوين الحاويات وتشغيلها وإدارتها.
      • Oracle Functions لتكوين التطبيقات التي تعمل لفترات قصيرة وتشغيلها وتوسيع نطاقها بطريقة آمنة ومعزولة، دون إدارة أي بنية تحتية.
      • Oracle API Gateway لتكوين نقاط نهاية خاصة أو عامة محمية ومحكومة من مواصفات واجهة برمجة التطبيقات.
      • Oracle Cloud Infrastructure Object Storage لتخزين أو استرداد كمية غير محدودة من البيانات غير المهيكلة من أي نوع محتوى بأمان وأمان. وهي تتوسع بسلاسة، دون التعرض لأي تدهور في الأداء أو موثوقية الخدمة.
      • تتكامل خدمات Oracle Cloud Observability and Management Platform مع جميع الخدمات المذكورة أعلاه لتمكين الرؤية في السجلات والمقاييس والأحداث.
      • Oracle Application Express (APEX) لإنشاء التطبيقات منخفضة التعليمات البرمجية والحديثة والقائمة على البيانات بسرعة. يمكن لـ APEX زيادة التوفر وقابلية التطوير للتعامل مع المتطلبات المتغيرة لتطبيقك منخفض التعليمات البرمجية. فهو يوفر إدارة تلقائية وأداءً فائقًا متسقًا وقابلية تطوير تلقائية وإدارة سهلة.

      وهذه الخدمات عالية التوفر وعالية الأداء ومرنة. تتم إدارة بنيتهم التحتية وتصحيحها لضمان أن يظل تطبيقك آمنًا.

    • حافظ على بقاء طبقة التطبيق بلا حالة

      نظرة عامة
      يمكن أن تتكون حالة التطبيق من العديد من العناصر، بما في ذلك الذاكرة المخبئية للبيانات، وتفضيلات المستخدم، والتخصيص، والرسائل المتبادلة بين الخدمات، والموضع في سير عمل متعدد الخطوات، وتوزيع التطبيق، وتكوين وقت التشغيل، وجلسة عمل المستخدم (على سبيل المثال، الصفحة التي زارها المستخدم آخر مرة أو الحجم والعناصر في عربة التسوق الخاصة بالمستخدم). إذا فقدت حالة التطبيق الخاص بك، فقد يؤدي إلى فقدان البيانات، وعطل في التطبيق الخاص بك، وتجربة مستخدم دون المستوى الأمثل - وأحيانًا فشل التطبيق الكامل.

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

      تفاصيل المبدأ
      يتم تخزين عناصر حالة التطبيق بشكل تقليدي باعتبارها بيانات اصطناعية متعددة بتنسيقات مختلفة، مثل الكائنات المسلسلة أو وثائق JSON أو XML أو الملفات النصية. إذا كانت هذه العناصر مخزنة عبر متغيرات ثابتة متعددة، مثل أنظمة الملفات الخارجية، أو متاجر الرسائل، أو متاجر الكائنات، أو قواعد البيانات المتعددة، أو تخزين الكتل المرنة، فمن الممكن أن تخرج مخازن البيانات المختلفة من المزامنة، مما يؤدي إلى عدم اتساق الحالة. يجب على التطبيق أيضًا تنفيذ المعاملات والروابط والأفكار لضمان اتساق البيانات عند الحاجة إلى تحديث الحالة كوحدة.

      من خلال تفريق عناصر حالة التطبيق عبر متاجر متعددة، تزيد الفرص من الثغرات الأمنية. عمليات دورة الحياة - مثل إضافة وإزالة نقاط التوصيل والتصحيح والنسخ الاحتياطي والتعافي وتكرار الكوارث والإيكولوجيا الاستعادة معقدة للغاية وتتطلب مراعاة خاصة للحفاظ على اتساق الولاية عبر مختلف المتاجر.

      ونتيجة لذلك، فإن النهج الأفضل هو تخزين كل حالة التطبيق وبياناته في قاعدة بيانات واحدة، إن أمكن. تظل البيانات متسقة في متجر واحد ويسهل إدارتها. باستخدام هذا النهج، يمكن استبدال مثيلات التطبيق. يساعد هذا بشكل خاص في تصميمات التطبيقات الحديثة، مثل الخدمات المصغرة المرنة أو المثيلات المؤقتة إذ يوجد مثيل فقط لخدمة طلبات واحدة أو طلبات قليلة. يتم تبسيط إضافة نقطة توصيل لأنه يمكن لنقطة توصيل جديدة الحصول على أحدث نسخة من الحالة - ولا تؤدي إزالة نقطة توصيل إلى فقد الحالة بالكامل. يمكن تطبيق التصحيحات بطريقة متدرجة فقط من خلال استبدال البرامج التنفيذية. يمكن استعادة نقطة توصيل من النسخ الاحتياطية واكتساب الحالة من قاعدة البيانات. ويمكن استنساخ الدولة باستمرار كوحدة إلى مناطق مختلفة لاستعادة القدرة على العمل بعد الكوارث. يمكن أن يضمن وجود حالة متسقة في مناطق مختلفة وجود أية مشاكل وظيفية في تطبيقك بعد الانتقال بعد الفشل أو التبديل.

      توصيات Oracle
      إذا كان تطبيقك يستخدم قاعدة بيانات، فاستخدم قاعدة البيانات نفسها لتخزين حالتها. توفر قاعدة البيانات مستوى أفضل من التوفر والتكامل والأمان مقارنة بالبدائل، مثل الملفات أو التمثيلات المضمّنة بالذاكرة. من الناحية المثالية، استخدم قاعدة بيانات متعددة النماذج (التي يمكنها تخزين صيغ مختلفة) لتخزين جميع عناصر حالة التطبيق الخاص بك. كما يتيح استخدام قاعدة بيانات متعددة النماذج بدلاً من مخازن بيانات متعددة الأغراض إمكانية تحقيق الاتساق والحفاظ عليه بسهولة عبر جميع عناصر حالة التطبيق. (ملاحظة: على الرغم من أنه مسموح بتخزين الحالة المخزنة في الذاكرة المخبئية في التطبيق، يجب تصميم التطبيق لاستخدام قاعدة البيانات كمصدر للحقيقة والتمكن من إعادة تكوين حالتها من قاعدة البيانات.) Oracle Database هي مثالية لهذا الغرض. فهو يخزن تنسيقات مختلفة ويوفر أداءً يمكن التنبؤ به، لذا فإن تخزين حالة تطبيقك فيه لا يقلل من أداء تطبيقك.

      إذا لم يستخدم التطبيق قاعدة بيانات، فاستخدم مخازن دائمة أخرى، مثل Oracle Cloud Infrastructure Object Storage، لتخزين الحالة. إذا تعذر الاحتفاظ بحالة التطبيق في مخزن بيانات واحد، فقم بتصميم تطبيقك لتخزين الحالة في عدة مخازن بيانات يمكن الاحتفاظ بها في حالة التزامن واستردادها كوحدة متسقة بعد الفشل.

      فيما يلي بعض التوصيات لتخزين الحالة في Oracle Database.

      • حالة كائن جلسة عمل المستخدم: استخدم كائن JSON/تخطيط علائقي، مثل JPA أو الجداول العلائقية.
      • وحدات الذاكرة المخبئية للبيانات المحلية: بالنسبة للبيانات المخزنة في الذاكرة المخبئية في طبقة التطبيق، يجب أن يكون مصدر الحقيقة هو قاعدة البيانات. يجب إعادة بناء الذاكرة المخبئية في وقت بدء تشغيل التطبيق أو حسب الحاجة. يجب أن تستخدم التحديثات التي يتم إجراؤها على الذاكرة المخبئية أسلوب الكتابة/الإلغاء، الذي يقوم بتحديث قاعدة بيانات النهاية الخلفية. يجب إخطار الطبعات الأخرى للذاكرة المخبئية في طبعات التطبيق بالتغييرات حتى يمكن تجديد الذاكرة المخبئية.
      • بيانات تكوين التطبيق: هي البيانات الاصطناعية، مثل نقاط انتهاء الاتصال والحدود ومستويات التسجيل ووجهات السجل وأرقام المنافذ التي يتم تخزينها عادةً كوثائق JSON أو ملفات XML أو ملفات الخصائص. استخدم نوع البيانات المناسب لتخزين هذه البيانات في قاعدة بيانات.
      • اتصالات بين العمليات أو استدعاءات العمليات البعيدة: عادة ما تتصل الخدمات والمكونات الدقيقة للتطبيق بعضها باستخدام الرسائل. استخدم قوائم انتظار عمليات Oracle Database لجعل هذه الرسائل دائمة ولضمان بقاء الرسائل ومعالجتها في حالة حدوث انقطاع.
      • النص (مثل سجلات أرشيف المراجعة): تقوم التطبيقات بإنشاء ملفات أرشيف، مثل سجلات المراجعة وسجلات التشخيص. استخدم وظيفة Oracle Text لتخزين هذه السجلات مركزيًا.
      • مراقبة الأداء: تقوم التطبيقات بإنشاء قياسات أو بيانات سلاسل الوقت لأغراض مراقبة الأداء. استخدم وظيفة بيانات السلسلة الزمنية Oracle Database أو بيانات JSON لتخزين هذه البيانات.
      • حالة سير العمل: تقوم بعض محركات سير العمل بتخزين حالة تطبيق محليًا، وقد يؤدي فشل عمليات سير العمل هذه إلى حالة مفقودة. استخدم محرك سير العمل في قاعدة البيانات لتجنب مثل هذه المشكلات. على الأقل، قم بتكوين محركات سير العمل لاستخدام قاعدة البيانات كمخزن ثبات لحالتها.
    • استخدام قاعدة بيانات مجمعة مع دعم كامل عبر كل البيانات

      نظرة عامة
      قد يستخدم التطبيق البيانات بتنسيقات متنوعة، مثل جدولي (علائقي) أو غير منظم أو XML أو JSON أو مكاني أو رسم بياني. عادةً ما يتطلب هذا التنوع نوعًا مختلفًا من قواعد البيانات لكل تنسيق بيانات. على سبيل المثال: قاعدة بيانات علائقية للبيانات العلائقية أو مخزن وثائق للبيانات غير المهيكلة أو قاعدة بيانات رسم بياني للبيانات المتدرجة المرتبطة. ومع ذلك، غالبًا ما يؤدي استخدام قواعد بيانات متعددة إلى تعقيد تشغيلي إضافي وعدم تناسق البيانات. بدلاً من ذلك، استخدم قاعدة بيانات واحدة متعددة النماذج لتخزين وفهرسة والبحث عن أنواع وصيغ متعددة من البيانات.

      الاستفادة من وظيفة قاعدة البيانات لتبسيط منطق التطبيق. على سبيل المثال، استخدم SQL للاستعلامات والروابط والتحليل؛ واستخدم المعاملات لضمان الاتساق والعزلة؛ واستخدم خوارزميات التعلم الآلي وإمكانات التحليلات المضمنة لتجنب عمليات نقل البيانات غير الضرورية. لحماية البيانات الحساسة، استخدم ميزات تأمين قاعدة البيانات والتحكم في الوصول، واستخدم الاستنساخ لتحسين توفر التطبيقات وقابليتها للتوسع ومرونتها.

      تفاصيل المبدأ
      استخدم قاعدة بيانات متعددة النماذج لتخزين أنواع مختلفة من البيانات، مثل وثائق JSON والرسوم البيانية للخصائص والبيانات العلائقية. توفر قواعد البيانات المتقدمة متعددة النماذج دعمًا كاملًا لأي نوع من البيانات المخزنة في قاعدة البيانات. يمكنك تخزين وثائق JSON جديدة وإدراج صفوف علائقية وتحديث الرسم البياني للخاصية في نفس معاملة ACID. يمكنك استخدام جمل SQL للربط والترشيح والتجميع عبر هذه الأنواع المختلفة من البيانات - وهذا يوفر الاتساق القوي وضمانات التزامن التي اعتدت عليها من قواعد البيانات العلائقية. بالإضافة إلى تقديم هذه المجموعة الغنية من الميزات، يمكن أيضًا استخدام قاعدة بيانات متعددة النماذج كمخزن بيانات أحادي الغرض يتم الوصول إليه باستخدام واجهات برمجة تطبيقات بخلاف SQL، مثل واجهات برمجة تطبيقات REST، وواجهات برمجة تطبيقات مخزن الوثائق، وواجهات برمجة تطبيقات الرسوم البيانية.

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

      توصيات Oracle
      استخدم Oracle Autonomous Database، قاعدة بيانات متقاربة متعددة النماذج، لتخزين كل البيانات وإدارتها وتحليلها. تسهيل صيانة التطبيق باستخدام طرق العرض لعرض البيانات في الجداول حتى يمكن تغيير المخطط الأساسي دون التأثير على التطبيقات الموجودة. استخدم إعادة التعريف المستندة إلى الإصدار بحيث يمكنك ترقية التطبيق بدون توقف. استخدم Oracle Data Safe لتنفيذ وتقييم عناصر تحكم التأمين وإخفاء البيانات الحساسة والوصول إلى بيانات المراجعة. استخدم Oracle Data Guard كمخزن مؤقت للقراءة قابل للتوسيع للغاية للبيانات الخاصة بك وللحفاظ على نسخة احتياطية متسقة لاستعادة القدرة على العمل بعد الكوارث.

      تقوم Oracle Autonomous Database بتنفيذ مهام تشغيلية من دون أي تأثير أو مقاطعة لحمل العمل. ويعني هذا أنك لست بحاجة إلى إضافة منطق تعويضي معقد إلى التطبيق لمعالجة سيناريوهات التحجيم أو تجاوز الفشل. وتدير قاعدة البيانات الموارد، مثل وحدة المعالجة المركزية والتخزين، بشكل مستقل وتوفر قابلية توسع ثنائية الاتجاه مرنة.

    • رصد الأدوات وتتبعها من طرف إلى طرف

      نظرة عامة
      يمكن لطلب مستخدم واحد اتباع مسار معقد عبر الخدمات المتعددة أو الخدمات الصغيرة التي تشكل تطبيقًا حديثًا. يتعقب التتبع الشامل رحلة كل طلب من مصدره إلى أعماق بنيتك التحتية ويساعدك على تصحيح السبب الرئيسي للمشكلة. تُستخدم المراقبة بشكل عام كأداة تشخيصية، مع تنبيه مطوريك عندما لا يعمل تطبيقك كما هو متوقع.

      يجب على المطورين والمسئولين وموظفي الأمن الحفاظ على فهم موثوق وفي الوقت المناسب لصحة التطبيق الخاص بك، والأداء، وحالة التشغيل، والحوادث الأمنية المحتملة. يضمن هذا الفهم أن وظيفة التطبيق وأداءه يلبيان التوقعات خلال دورة حياته؛ ويمكنه أيضًا تبسيط تشخيص الحوادث واسترداد التطبيقات. وينبغي أن يكون الرصد والتعقب الشاملان من طرف إلى طرف واضحين من أجل التنفيذ والإدارة دون إضافة تعقيد إلى التطبيق.

      تفاصيل رئيسة
      يمكن أن يفشل تطبيقك في التصرف كما هو متوقع بطرق عديدة. على سبيل المثال، يمكن أن يعمل بشكل سيئ أو يفشل تمامًا فحسب. على عكس تطبيق أحادي تقليدي، يقدم تطبيق تم إنشاؤه من الخدمات الصغيرة تحديات تشخيصية إضافية بسبب التفاعلات المتعددة بين مكوناته.

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

      المراقبة أكثر توجيهًا بشكل عام، وتحسين فهمك لكيفية تصرف تطبيقك من خلال مراقبة تطبيقك ثم جمع المقاييس وتجميعها وتحليلها. كما يتيح الرصد النهائي التكامل الذكي والآلي مع الأدوات التي تقوم ديناميكيًا بتعديل قدرة الموارد وتنسيق الردود على الأحداث غير المتوقعة.

      إن الحصول على فهم واضح ودقيق وفي الوقت المناسب لحالة التطبيق وتاريخه التشغيلي ليس فقط حول قياس تجربة المستخدم النهائي. وقد تحتاج أيضًا إلى الحفاظ على الامتثال للهيئات القضائية الإقليمية أو الوطنية التي قد تتطلب القدرة على إعداد تقارير مفصلة عن الأنشطة حسب الطلب أو تقديم شهادات بشأن معالجة عناصر بيانات محددة وحساسة.

      بشكل عام، يجب أن تكون حلول المراقبة متوافقة مع أدوات الطرف الثالث ومتوافقة مع الأدوات الإدارية للبيئة بشكل خاص. من المهم الحفاظ على مرونة التصميم وتجنب قفل الموردين.

      توصيات Oracle
      قم بإنشاء إمكانات مراقبة وتتبع شاملة في تطبيقك منذ البداية واجعلها متسقة خلال دورة حياتها. يجب ألا تضيف الإمكانات أي تعقيدات إلى التطوير والاختبار والنشر، كما يجب أن تكون سهلة التنفيذ والإدارة. يمكنك اعتماد حلول، حيثما أمكن، لاستيعاب تنوع الأنظمة الأساسية التي تستخدمها حاليًا والتي يمكن نشرها في المستقبل.

      تم تصميم خدمات OCI، مثل المراقبة، لتقديم دعم فوري للمراقبة. يمكنك أيضًا توسيع العديد من خدمات OCI لمكونات التطبيق باستخدام تجربة توزيع وإدارة متسقة من خلال واجهات API وSDK المدعومة. على سبيل المثال، يمكنك إضافة تجميع قياس المراقبة التلقائي أو التقاط السجل مع التخزين المركزي لكل الآلات والتطبيقات الظاهرية.

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

      تسجل Oracle Cloud Infrastructure Service Mesh تلقائيًا مجموعة متنوعة من مقاييس الاتصالات وسجلاتها للخدمات التي تعمل في Oracle Container Engine for Kubernetes. يمكنك استخدام هذه البيانات لتعقب حالة الخدمات في الشبكة وتحسين أداء التطبيق.

      استخدم مجموعة بيانات قوية ومركزية لبيئة مثيل السحابة بأكملها لتوفير موقع واحد للتحليل والتحقيق المنسق وإنشاء التنبيهات. يتيح مركز موصل الخدمة استجابات مرنة ومتسقة وقابلة للتخصيص للأحداث. تتيح تحليلات تسجيل OCI إمكانية إجراء تحليل وتحقق فعالين لجميع أنظمة تسجيل الأحداث السحابية (والخارجية). يمكنك أيضًا استخدام مركز موصل خدمة OCI والوظائف والإشعارات لتحويل القياسات والسجلات المضمنة إلى تنبيهات قابلة للتنفيذ. ويمكنك الاستفادة من تكاملاتنا مع منتجات وخدمات الطرف الثالث، مثل Splunk وGrafana.

      تساعدك خدمات OCI التالية على دمج التسجيل والمراقبة والتتبع على مستوى البيئات التي تستضيف تطبيقك: تحليلات التسجيل والمراقبة والدخول، Application Performance Monitoring، إدارة نظام التشغيل، إدارة قاعدة البيانات، وخدمة إدارة Java . تتكامل هذه الخدمات المدارة بالكامل مع موارد البنية التحتية المشتركة لـ OCI وتوفر آليات مدعومة لتكامل موارد تطبيقاتك المخصصة.

    • إزالة نقطة فشل واحدة من خلال استنساخ البيانات تلقائيًا واسترداد الفشل

      نظرة عامة
      نقطة فشل واحدة هي مكون واحد من مكونات التطبيق الذي، عند الفشل، يجعل التطبيق بأكمله غير متاح أو غير موثوق به. عند تطوير تطبيق ليكون متوافرًا وموثوقًا به، استخدم النسخ المتماثل التلقائي للبيانات لضمان ألا يؤدي فشل مكون واحد إلى فقد البيانات.

      يؤدي استنساخ البيانات عبر الأجهزة واستخدام الشبكات الزائدة إلى حمايتك من فشل الجهاز الروتيني والشبكة. يؤدي استنساخ بياناتك في مراكز البيانات (أو "نطاقات التوفر") عبر مناطق جغرافية متعددة إلى حمايتك من الكوارث المحلية، مثل الحرائق أو الزلازل أو الفيضانات أو الأعاصير.

      تفاصيل المبدأ
      لكي يتمكن تطبيقك من تحقيق التوافر العالي، يجب التأكد من أن البيانات التي يعتمد عليها تطبيقك تظل متاحة عند حدوث حالات فشل. إن أساس التوافر العالي للبيانات هو التكرار عبر النسخ الآلي للبيانات.

      النسخ المتماثل هو عملية نسخ كائنات قاعدة البيانات وصيانتها، مثل الجداول، في قواعد بيانات متعددة تشكل نظام قاعدة بيانات موزع. يتم تسجيل التغييرات المطبقة في موقع واحد وتخزينها محليًا قبل إعادة توجيهها وتطبيقها في كل من النسخ المتماثلة الموجودة في المواقع البعيدة.

      ويمكن أن تعمل قواعد البيانات المستنسخة بطريقتين مختلفتين هما: التفاعل النشط والنشاط. في الوضع السلبي النشط، توجد نسخة متماثلة أساسية واحدة ونسخة متماثلة ثانوية واحدة أو أكثر؛ وتشارك فقط النسخة المتماثلة الأساسية في معالجة بيانات التطبيق. في وضع النشاط، تشارك جميع النسخ المتماثلة في معالجة البيانات. يوفر الوضع النشط استخدامًا أفضل للموارد والإتاحة الأعلى نظرًا لعدم الحاجة إلى تجاوز الفشل الأساسي الثانوي.

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

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

      استخدم خدمات تخزين OCI، مثل وحدات تخزين الكتل وتخزين الكائنات وتخزين الملفات، لاستنساخ البيانات عبر نطاقات الأخطاء والإتاحة بحيث لا يمكن لأي نقطة فشل واحدة أن تؤثر على توفر بيانات التطبيق. استفد من عزل الأخطاء المرنة المضمنة في OCI باستخدام Container Engine for Kubernetes لنشر التطبيق عبر نطاقات الأخطاء والإتاحة المتعددة. يوفر Oracle Autonomous Database وData Guard وGoldenGate استنساخ الأجهزة والبرامج النشطة للتوافر العالي بالإضافة إلى التصحيح والترقية في وقت التوقف الصفري. استخدم هذه الخدمات المُدارة للحصول على بيانات عالية التوفر دون الحاجة إلى إنشاء بنية تحتية للتخزين الخاصة بك وصيانتها.

    • تنفيذ الدفاع الآلي بعمق لتأمين تطبيقك وبياناته

      نظرة عامة
      يعد الدفاع المتعمق أحد الأساليب التي تعمل فيها عناصر التحكم الأمنية المتعددة المستقلة والمتكررة كطبقات دفاع لأحد التطبيقات. تم تصميم الطبقات لتوفير الأمان حتى إذا فشل أحدها؜ على سبيل المثال، جدار حماية مقترن بميزة الكشف عن التسلل.

      ومع ذلك، فإن الإدارة اليدوية وتكوين عناصر التحكم في الأمان يمكن أن يكون معقدًا وغامضًا وعرضًا للأخطاء بشكل فردي وجماعي. بدلاً من ذلك، قم بتأمين التطبيق وبياناته باستخدام عناصر تحكم الأمان الآلية.

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

      بدلاً من الحاجة إلى تكوين مجموعة معقدة من عناصر التحكم في الأمان يدويًا، استخدم عناصر تحكم آلية بسيطة وصورية لتأمين تطبيقك. تعمل الضوابط الأمنية التلقائية على القضاء على الخطأ البشري (السبب الجذري للعديد من الحوادث الأمنية) وتساعدك على تأمين تطبيقك وبياناته دون الحاجة إلى أن تصبح خبيرًا أمنيًا.

      توصيات Oracle
      قم بتنفيذ عناصر تحكم أمان تلقائية سهلة الاستخدام في جميع مراحل دورة حياة التطبيق، بما في ذلك التطوير والبناء والاختبار والنشر ووقت التشغيل. تحقق من المستخدمين والأذون وأنظمة الوصول في كل خطوة من خطوات دورة الحياة وتأكد من منح حق الوصول فقط عند الاقتضاء. اكتشف مشاكل الأمان التي يتم إدخالها مبكرًا في دورة حياة تطوير البرامج. يضمن الاكتشاف المبكر نشر تطبيقك في الإنتاج باستخدام أفضل الممارسات الخاصة بهيكل الأمان، كما يضمن اكتشاف مشكلات الأمان التشغيلي الناجمة عن سوء التكوينات أو نقاط الضعف المكتشفة والتخفيف من حدتها.

      تقدم OCI خدمات أمان مؤتمتة متعددة لتأمين التطبيق وبياناته. فيما يلي بعض التوصيات لاستخدام خدمات OCI:

      • استخدم جدار حماية تطبيق الويب (WAF) للحد من نسبة استخدام الشبكة من مواقع غير معروفة. بالنسبة إلى تأمين طبقة النقل (TLS)، استخدم شهادات لموازنات التحميل والترتيب التلقائي. تمكين WAF في كل وحدة موازنة تحميل تخدم محتوى HTTPS. تمكين القواعد المدارة بواسطة Oracle والتوفيق للتوضيحات الموجبة الخاطئة. تقييد حركة المرور من الدول التي لا تتعامل معها باستخدام قواعد الوصول عبر بروتوكول الإنترنت. استخدم التحليل الذكي للتهديدات في WAF لمنع نقاط توصيل Tor.
      • استخدم Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) لنهج الهوية أولًا في الأمان التي تتيح سهولة تسجيل المستخدمين وإدارتهم. استخدم OCI IAM في الواجهة الأمامية لتطبيقك للتصديق على المستخدمين باستخدام أساليب تصديق قوية، مع الحفاظ على أفضل تجربة مستخدم من خلال التأمين التكيفي مع برامج السياق أو الدخول الاجتماعي الاختياري أو الموحد أو التصديق بدون كلمة سر (تبعًا للمتطلبات). دعم المتطلبات التنظيمية من خلال تمكين المستخدمين من إدارة موافقتهم على شروط الاستخدام ومن خلال دعم متطلبات موقع البيانات. استخدم OCI IAM على الواجهة الخلفية لتقييد الوصول إلى مكونات التطبيق حسب الحاجة. فرض التصديق على المسئولين من خلال خيارات التصديق متعددة العوامل (MFA). فرض نُهج أمان قوية لا تسمح بالوصول إلا من خلال الأذون الممنوحة صراحة. المسؤوليات المنفصلة بحيث تقتصر إمكانية الوصول على من يحتاجون إليها.
      • تشفير البيانات أثناء التخزين مع المفاتيح المخزنة في OCI Vault، المدعومة بنماذج تأمين الأجهزة. قد تفضل استخدام مفاتيح تشفير منفصلة لكل خدمة، لكن بمحاذاة كيانات OCI Vault مع المقاطع. تدوير مفاتيح التشفير الرئيسية سنوياً على الأقل ومفاتيح البيانات كل ثلاثة أشهر. استخدم خزانة خاصة في الإنتاج، واستنساخ المفاتيح في المناطق الثانوية. Create backups and store them in Oracle Cloud Infrastructure Object Storage in a separate region. قم بتأمين مفاتيح التشفير وقصر الوصول على المفاتيح فقط على المفاتيح المصرح بها بواسطة مالك التطبيق.
      • استخدم مسؤولي التأمين المضمنين لاعتماد طبعات الحوسبة لتنفيذ إجراءات على خدمات OCI الأخرى.
      • فرض مبدأ الحد الأدنى من إمكانية الوصول إلى عزل نقاط النهاية باستخدام ميزة مجموعات تأمين الشبكة في شبكات سحابة OCI الظاهرية (VCNs). تمكين NetFlow التسجيل في كل VCN. مراقبة تسجيل DNS لنشاط التشفير أو نشاط خادم الأوامر والتحكم.
      • قم بتشغيل التطبيق في تكوين آمن افتراضيًا باستخدام Oracle Security Zones. استخدم الحد الأقصى لمناطق الحماية للمقاطع التي لها شبكات فرعية خاصة. تأكد من أن وصول المشغل إلى أية طبعات حوسبة في الشبكات الفرعية الخاصة يمر عبر Oracle Cloud Infrastructure Bastion.
      • تمكين Oracle Cloud Guard وحل كل المشكلات أو قبولها وتعطيلها. تمكين الإخطار بشأن الانحراف ومعالجة المشكلات الجديدة على وجه الاستعجال.
      • تمكين Oracle Data Safe لتأمين قواعد بيانات Oracle عن طريق مراقبة المستخدمين والوصول. كما تقوم Data Safe بمسح قواعد البيانات بحثًا عن أفضل الممارسات الأمنية والتنبيهات المتعلقة بالتباينات.
      • مسح المثيلات والحاويات بشكل دوري بحثًا عن مشكلات أمنية معروفة باستخدام خدمة Oracle Cloud Infrastructure Vulnerability Scanning.
      • استخدم شبكة خدمة OCI لمصادقة الاتصال وتشفيره بين الخدمات في مجموعة Oracle Container Engine for Kubernetes (OKE). تتيح لك شبكة خدمات OCI أيضًا تكوين نُهج الوصول للتحكم في الاتصال بين الخدمات والتحقق من الطلبات الخارجية.