8 مارس 2025 • بقلم د.ك.
الخدمة المصغرة هي خدمة صغيرة ومتخصصة تقدمها شركة. وهي نابعة من بنية الحوسبة الموزعة، والتي تربط بين العديد من الخدمات الصغيرة بدلاً من الاعتماد على خدمة كبيرة واحدة.
بناءً على ذلك، يمكن نشر الخدمة المصغرة باستخدام واجهة برمجة التطبيقات (API).
واجهة برمجة التطبيقات (API) هي بروتوكول يسهل التواصل بين الطالب والمضيف، وغالباً ما يتم الوصول إليه عبر عنوان IP. يمكن لواجهة برمجة التطبيقات التواصل مع المستخدمين بطرق متنوعة، بما في ذلك:
- رغبتك في مشاركة بيانات معينة.
- خدمة ترغب في تقديمها
باختصار، يشير مصطلح "الخدمة المصغرة" إلى بنية البرنامج، بينما تشير "واجهة برمجة التطبيقات" إلى الآلية التي يتم من خلالها كشف الخدمة المصغرة للعميل.
الخدمات المصغرة في العمل
الخدمات المصغرة هي امتداد لمفهوم قيام الشركة بتقديم خدمة كبيرة واحدة. الخدمات المصغرة هي وظائف منفصلة.
إذا تم تقسيم برنامج Microsoft Word إلى خدمات مصغرة، فربما تعمل واحدة منها كورقة بيضاء، وأخرى كمدقق إملائي، وأخرى كأداة تنسيق.
يُمكّن Kubernetes البرنامج من التكيف. بينما يوفر Kubernetes عدداً من المزايا، فقد قام أيضاً بتحويل تركيب بنية البرامج بعيداً عن مجموعة واحدة متجانسة من الخدمات ونحو مجموعة من العديد من الخدمات الصغيرة التي تعمل بشكل متناغم. ويرجع ذلك إلى تصميم Kubernetes، الذي يتيح:
- تنظيم استخدام الحاويات الفردية على الخوادم بكفاءة
- زيادة الموثوقية وقابلية التوسع للنظام
- تقليل نفقات الإدارة والموارد

المصدر: https://bit.ly/3hBxa89
أمثلة على الخدمات المصغرة
الخدمات المصغرة بسيطة للغاية. البساطة هي الهدف الأساسي. يمكن النظر إليها على أنها أدوار داخل الشركة؛ كل خدمة مصغرة تقوم بمهمة واحدة.
أنشأت DZone رسماً بيانياً ممتازاً للخدمات المصغرة المختلفة التي تقدمها Uber والتي تتواصل مع بعضها البعض عبر واجهات برمجة التطبيقات وتنفذ أنشطة متنوعة. تقدم Uber خدمات مميزة لمهام مختلفة:
- إدارة الركاب
- واجهة مستخدم قائمة على الويب للركاب
- الفوترة
- إدارة السائقين
- واجهة مستخدم قائمة على الويب للسائقين
- الدفع
- إدارة الرحلات
- الإشعارات

المصدر: https://dzone.com/articles/microservice-architecture-learn-build-and-deploy-a
واجهات برمجة التطبيقات مطلوبة للخدمات المصغرة.
واجهة برمجة التطبيقات هي وسيلة للتواصل — فهي تمكن خدمة واحدة من التواصل مع خدمة أخرى. لا يمكن لواجهة برمجة التطبيقات إنجاز أي شيء حتى يتم توصيلها بشيء ما، مثل هاتف خلوي غير نشط. عند توصيل واجهة برمجة التطبيقات بالخدمات والخدمات المصغرة، مثل:
- الوظيفة كخدمة (FaaS)
- التعلم الآلي (ML) كخدمة (MLaaS)
- البرمجيات كخدمة (SaaS)
واجهة برمجة التطبيقات هي الآلية التي يتم من خلالها توزيع الخدمة المصغرة على المستخدمين. بدلاً من تنزيل البرنامج أو إدخال قرص، تجعل واجهة برمجة التطبيقات خدمتك متاحة.
واجهة برمجة التطبيقات مطلوبة لكي تعمل بنية الخدمات المصغرة بشكل صحيح، حيث أنها تعمل كوسيلة للتواصل بين الخدمات. بدون واجهة برمجة التطبيقات، سيوجد عدد كبير من الخدمات المصغرة المعزولة. من الناحية التقنية، ستعيد الخدمة المصغرة ببساطة بناء نفسها لتصبح كتلة متجانسة.
كيف تعمل واجهات برمجة التطبيقات
واجهات برمجة التطبيقات قابلة للتكيف بشكل لا يصدق. يمكنك:
- إنشاء واجهات برمجة التطبيقات لأي خدمة معبأة في حاوية.
- استخدام مجموعة متنوعة من اللغات — Java، و Python، و Go، على سبيل المثال لا الحصر.
- نشر واجهات برمجة التطبيقات على أي من مزودي السحابة الرئيسيين.
يمكن لواجهات برمجة التطبيقات تعزيز قابلية استخدام خدمتك ووصولها. مع تبسيط التوزيع، يمكنك تقديم خدمات أكثر إحكاماً. (بعد كل شيء، لا تحتاج إلى إنشاء مجموعة Adobe كاملة لإثبات الجدوى.)
العديد من واجهات برمجة التطبيقات هي REST ويمكن الوصول إليها عبر نقطة نهاية مشابهة لنقطة نهاية HTTP. هذا يعني أن استرداد البيانات من واجهة برمجة التطبيقات بسيط مثل تنفيذ "ping" لعنوان URL. تعمل أوامر GET و POST و PUT و DELETE كما هو متوقع عند استخدامها مع عنوان URL، حيث تستقبل أو تقدم بيانات إلى واجهة برمجة التطبيقات. بينما تعد واجهات برمجة التطبيقات REST هي الأكثر استخداماً في تطبيقات الويب الحالية، تشمل الاحتمالات الإضافية ما يلي:
- صابون
- استدعاء الإجراء عن بُعد
- جي كيو إل
كنتيجة، يتم توفير نقطة نهاية واجهة برمجة التطبيقات عادةً مع بوابة للمطورين تشرح كيفية استخدامها وتزود المطورين بمفتاح واجهة برمجة التطبيقات. إذا كان الغرض من الخدمة المصغرة هو تقديم معلومات حول المركبات المسجلة في مقاطعة معينة، فستشرح بوابة المطورين:
- ما تنجزه الخدمة
- هيكل البيانات (أي؛ مخطط بيانات)
- ما هو مطلوب من المطور من أجل الاستفادة من واجهة برمجة التطبيقات؟
إذا كان لديك خدمات متجانسة، يمكننا مساعدتك في الخدمات المصغرة وواجهات برمجة التطبيقات للوصول إلى جمهور أوسع وتحقيق أداء أفضل.