أفضل 8 مديري شبكات خدمة لبناء تطبيقات حديثة
نشرت: 2022-05-31عند العمل مع الخدمات المصغرة ، تتكون تطبيقاتك من العديد من الخدمات الصغيرة المختلفة التي يجب أن تتواصل لتعمل معًا كنظام.
تتواصل الخدمات المصغرة مع بعضها البعض في كثير من الحالات بشكل مباشر بين الخدمات الفردية ، مما يجعلها غير فعالة وعرضة للفشل ، ولكن هذا هو بالضبط المكان الذي يمكن أن تساعد فيه شبكة الخدمة.

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

مشيري هو مدير خدمة الشبكة الذي يسمح لك بتشغيل حلول شبكات خدمة مختلفة. يمكن نشره على Kubernetes و Docker. يوفر Mastery واجهة مستخدم و CLI لتعيين معيار لجميع حلول خدمات الشبكة الرئيسية ، بما في ذلك Linkerd و Istio. يمكن نشر مشيري مباشرة على الكتلة أو محليًا.
شبكة تطبيقات أمازون
AWS App Mesh هي خدمة شبكة شبكية لمنصة Kubernetes (EKS) من Amazon. يوفر إدارة على مستوى التطبيق من خلال وكيل البريد الجانبي المبعوث لحركة الدخول والخروج ويستخدم كسر الدائرة لتوفير مقاييس الملاحظة باستخدام AWS X-Ray. يمكن أيضًا استخدام شبكة تطبيقات AWS جنبًا إلى جنب مع خدمات أخرى مثل Amazon EC2 و AWS Fargate.

لينكيرد
Linkerd هو مدير شبكة مفتوح المصدر يستخدم وكيلًا مخصصًا يعتمد على Rust لإدارة الخدمات المصغرة. يأتي مع Grafana مثبت مسبقًا لتوفير مقاييس الملاحظة. على عكس مديري الشبكات مفتوحة المصدر الأخرى ، يقدم Linkerd واجهة المستخدم الرسومية ولا يدعم فقط Prometheus ولكنه يدعم أيضًا وحدات التحكم في الدخول مثل Traefik و Kong و Gloo. يدعم Linkerd أيضًا ترقيات النشر التلقائي عبر المجموعات.
إستيو

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

Kuma عبارة عن شبكة خدمة تم إنشاؤها بواسطة Kong ، والتي تُستخدم لتوسيع عمل الخدمات الحالية من خلال وكيل Envoy. يدعم Kuma خدمات مصغرة مختلفة ويوفر أمانًا ومراقبة محسّنًا للشبكات. يأتي مع عدد من السياسات المجمعة مسبقًا للتوجيه و mTLS والتحكم في حركة المرور وميزات الأمان المختلفة. باستخدام Kuma ، يمكنك التحكم بسهولة في الشبكات المعزولة المختلفة من خلال عنصر تحكم واحد ومستوى بيانات.
Nginx مش

Nginx عبارة عن شبكة خدمة لـ Kubernetes تقوم بتشفير حركة المرور بين الحاويات باستخدام مستوى البيانات المدعوم من Nginx Plus. يستخدم Nginx تحديد المعدل وقواطع الدائرة لإدارة حركة المرور بين الخدمات ويأتي مزودًا بلوحة معلومات Grafana لمراقبة مقاييس شبكة الخدمة.
قنصل

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

Gloo Mesh هي شبكة خدمة مبنية على أعلى شبكة Istio وتستخدم وكيل Envoy الذي يتيح لك تنفيذ نموذج أمان Zero Trust. يدعم Gloo خدمات Kubernetes و VM متعددة الإيجارات والخدمات المصغرة الأخرى. إنه سهل الاستخدام CI / CD و GitOps مما يجعل النشر أسهل.
الكلمات الأخيرة
شبكة الخدمة تحل مشكلة الاتصال بين الخدمات المصغرة المختلفة وتوفر مزايا أمنية متنوعة ؛ ومع ذلك ، نظرًا لوجود المئات من حلول الشبكات المختلفة المتوفرة في السوق ، يصبح من الضروري اختيار خدمة الشبكة التي تناسب متطلباتك على أفضل وجه ويسهل إدارتها.