ما تنسيق الخدمات المصغرة؟

شخصان ينظران إلى الكمبيوتر

المؤلفون

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

ما تنسيق الخدمات المصغرة؟

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

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

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

وفقًا لتقرير صادر عن شركة Research Nester، بلغت قيمة سوق تنسيق الخدمات المصغرة 4.7 مليار دولار أمريكي في عام 2024، ومن المتوقع أن تصل إلى 72.3 مليار دولار أمريكي في عام 2032. ويُظهر هذا البحث معدل نمو سنوي مركب (CAGR) يبلغ 23.4% خلال فترة التوقعات1  

إن ما يدفع التوسع المطرد للسوق هو نمو التطبيقات في شركات التقنيات العالمية مثل Google وAmazon، إلى جانب الطلب المتزايد من التجارة الإلكترونية والتكنولوجيا المالية وخدمات البث.

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

أحدث الأخبار التقنية، مدعومة برؤى خبراء

ابقَ على اطلاع دومًا بأهم—اتجاهات المجال وأكثرها إثارة للفضول—بشأن الذكاء الاصطناعي والأتمتة والبيانات وغيرها الكثير مع نشرة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.

شكرًا لك! أنت مشترك.

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

ما المقصود بالخدمات المصغرة؟

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

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

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

يُمكِّن هذا النهج المجموعات من إنشاء أنظمة أكثر مرونة وقابلية للتوسع، تتكيف بسرعة مع متطلبات العمل المتغيرة. وكانت شركات التقنيات مثل Netflix وAmazon وUber رائدة في مجال الخدمات المصغرة للتعامل مع تطوير البرامج على نطاق واسع وسريع. وفقًا لاستطلاع أجرته شركة IBM في عام 2021، فإن 85% من المجموعات المشمولة بالاستطلاع تبنت الخدمات المصغرة أو تخطط لتبينها، ما يسلط الضوء على أهميتها المتزايدة.

الخدمات المصغرة

ما المقصود بالخدمات المصغرة؟

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

كيف تعمل عملية تنسيق الخدمات المصغرة؟

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

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

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

فوائد تنسيق الخدمات المصغرة

يتضمن تنسيق الخدمات المصغرة الفوائد الرئيسية الآتية: 

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

أنماط تصميم الخدمات المصغرة الرئيسية وتنسيقها

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

نمط الملحمة

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

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

نمط قاطع الدائرة

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

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

نمط إعادة المحاولة وانتهاء المهلة

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

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

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

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

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

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

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

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

أفضل أدوات تنسيق الخدمات المصغرة

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

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

منصات تنسيق الحاويات

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

يقدم مزودو السحابة الرئيسيون خدمات التنسيق المُدارة، بما في ذلك Amazon ECS وEKS من AWS، وGoogle GKE، وMicrosoft AKS، وخدمة IBM Cloud Kubernetes Service.

شبكات الخدمة

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

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

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

المنصات بدون خادم

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

يعملKnative أعلى Kubernetes لتوفير قدرات بدون خادم لأحمال التشغيل المحفوظة في حاويات، ما يتيح التوسع التلقائي والنشر المبسط.

بوابات واجهة برمجة التطبيقات

توفر API Gateway نقطة دخول موحدة للخدمات المصغرة، ومعالجة المصادقة، وتحديد المعدلات، وتحويل الطلبات، والتسجيل الشامل. فهي ضرورية لتنسيق التفاعلات بين العملاء الخارجيين والخدمات الداخلية.

هناك العديد من حلول API gateway المتاحة، بدءًا من الخيارات ذات المصدر المفتوح مثل Kong إلى الخدمات المدارة في السحابة من كبار مزودي الخدمات.

أدوات اكتشاف الخدمة

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

تشمل الحلول الشائعة etcd لبيئات Kubernetes والخيارات السحابية الأصلية مثل AWS Cloud Map.

محركات سير العمل والتنسيق

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

يتولى Netflix Conductor مسؤولية تنسيق سير العمل المصمم خصوصًا لبيئات الخدمات المصغرة. ويوفر Camunda Zeebe تنسيق العمليات على مستوى فئة المؤسسات باستخدام نموذج عمليات الأعمال والترميز (BPMN) لتعريف سير العمل و إدارة العمليات الشاملة. 

حلول ذات صلة
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud هي منصة حاويات OpenShift (OCP) المُدارة بالكامل.

استكشف Red Hat OpenShift
حلول عمليات التطوير

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

استكشف حلول عمليات التطوير
خدمات الاستشارات السحابية 

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

الخدمات السحابية
اتخِذ الخطوة التالية

فتح آفاق القدرات الجديدة وتعزيز رشاقة الأعمال من خلال الخدمات الاستشارية ذات الصلة بحل IBM Cloud.

استكشف الخدمات الاستشارية ذات الصلة بحل IBM Cloud إنشاء حسابك المجاني على IBM Cloud
الحواشي