توصيات لتحسين تكاليف التدفق

ينطبق على توصية قائمة التحقق من Azure Well-Architected Framework Cost Optimization هذه:

CO:09 تحسين تكاليف التدفق. محاذاة تكلفة كل تدفق مع أولوية التدفق. عند تحديد أولويات التدفقات، ضع في اعتبارك الميزات والوظائف والمتطلبات غير الوظيفية لكل تدفق. غالبا ما يتطلب تحسين إنفاق التدفق حلولا وسطا استراتيجية.

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

التعريفات

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

استراتيجيات التصميم الرئيسية

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

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

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

في حمل العمل، يمكن أن يكون هناك أنواع مختلفة من التدفقات أو المسارات التي تحتاج إلى مراعاتها. يركز هذا الدليل على أنواع التدفق التالية:

  • تدفقات النظام. يتضمن تحسين تدفقات النظام تبسيط الاتصال والتفاعل بين مكونات النظام، وتقليل الاختناقات، وضمان استخدام الموارد بكفاءة.

  • تدفقات المستخدم. يتضمن تحسين تدفقات المستخدم تحسين تجربة المستخدم، وتقليل نقاط الاحتكاك، وضمان التنقل السلس والتفاعل داخل التطبيق أو النظام.

إنشاء مخزون من التدفقات

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

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

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

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

تحديد أولويات التدفقات

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

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

    التدفقات ذات الأولوية المنخفضة لها توقعات أقل للتوفر والاسترداد والأداء. يمكنك تقليل التكاليف باستخدام تكوينات أرخص لتقليل الأداء أو التوفر أو الإنفاق على استمرارية الأعمال.

  • ضع في اعتبارك مقاييس التدفق. إذا كنت تكافح لتحديد أولويات تدفقاتك، ففكر في أهداف التوفر والاسترداد التي قمت بتعيينها لها. غالبا ما يكون للتدفقات الهامة متطلبات توفر عالية واتفاقيات على مستوى الخدمة (SLAs). تعد التدفقات المرتبطة ب RPO أقل وRTO أكثر أهمية من التدفقات التي تحتوي على RPO أعلى وRTO.

تحسين التدفقات المستقلة

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

  • إزالة المكونات غير الضرورية. قم بإزالة أي عناصر غريبة لا تساهم في الوظائف الأساسية للتدفق، وبالتالي تقليل التعقيد والتكلفة.

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

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

  • ضبط إعدادات التحجيم. إذا كان التدفق يواجه طلبا متغيرا، ففكر في تنفيذ التحجيم التلقائي لضبط الموارد ديناميكيا وفقا لاحتياجات الوقت الحقيقي، وبالتالي تحسين التكاليف.

  • ضبط التكوينات. قم بضبط الإعدادات الأخرى، مثل خيارات الشبكات أو تخزين البيانات، لتتماشى بشكل أفضل مع متطلبات أداء التدفق والميزانية.

تدفقات منفصلة غير متباعدة

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

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

دمج تدفقات مماثلة

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

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

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

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

  • خدمات المصادقة. إذا نشرت تطبيقات متعددة آليات المصادقة المميزة الخاصة بها، يتم تقديم التكرار. يؤدي دمج حل تسجيل الدخول الأحادي (SSO) أو خدمة مصادقة مشتركة إلى تقليل هذا التكرار وتحسين استخدام الموارد، ما يقلل من التكاليف.

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

مراقبة التدفقات باستمرار

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

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

  • مراقبة المقاييس ذات الصلة. حدد المقاييس التي يمكن أن تساعدك على تقييم كفاءة كل تدفق وفعاليته من حيث التكلفة. ضع في اعتبارك استخدام وحدة المعالجة المركزية وتكاليف نقل البيانات وتكاليف المعاملات وبصمة التخزين. استخدم أدوات المراقبة لجمع مقاييس مفصلة حول استخدام الموارد وأدائها.

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

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

تسهيل Azure

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

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

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

قائمة اختيار تحسين التكلفة

راجع المجموعة الكاملة من التوصيات.