دور Microservices في تطوير البرمجيات الحديثة

مؤلف: Roger Morrison
تاريخ الخلق: 23 شهر تسعة 2021
تاريخ التحديث: 10 قد 2024
Anonim
Software Modernization for Digital Transformation
فيديو: Software Modernization for Digital Transformation

المحتوى



المصدر: Andreus / Dreamstime.com

يبعد:

تتيح Microservices تطوير البرامج في قطع أصغر لا تعتمد على بعضها البعض ، مما يوفر مزيدًا من المرونة.

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


ما هي خدمات Microservices؟

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

لفهم ميزات بنية الخدمة المجهرية ، قد يكون من المناسب مقارنتها بأنظمة البرمجيات المتجانسة. يوفر الجدول التالي الاختلافات الرئيسية بين أنظمة برامج متجانسة و microservices.

آلية

المتجانسة

Microservices

معالجة

يضع جميع الوظائف في عملية واحدة.

على عكس النظم المعقدة مثل ناقل خدمة المؤسسة (ESB) الذي يستخدم أنظمة متقدمة لأداء مهام مثل التوجيه ، والكوريغرافيا ، وتطبيق قواعد العمل ، فإن بنية الخدمة المجهرية تعالج طلبًا بطريقة بسيطة: وهي تقبل الطلبات ، وتديرها وتولد استجابة .

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


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

بعض الأمثلة على Microservices

تركت العديد من المؤسسات البارزة النظام المترابط لهندسة الخدمات الميكروية ، بما في ذلك Netflix و eBay و Amazon و UK Government Digital Service و PayPal و Soundcloud و The Guardian وغيرها الكثير.

تستخدم Netflix خدمات microservices في بنية SOA بنجاح كبير. يستقبل أكثر من مليار مكالمة يوميًا من خلال واجهات برمجة التطبيقات من أكثر من 800 نوع مختلف من الأجهزة ، ثم يقوم بإجراء خمس مكالمات إضافية إلى خدمة الواجهة الخلفية.

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

خاتمة

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