الحوسبة من دون خادم هي نموذج تطوير وتنفيذ للتطبيقات يمكّن المطورين من إنشاء الرموز وتشغيلها للتطبيقات من دون توفير خوادم أو بنية تحتية خلفية أو إدارتها.
لا يعني مصطلح من دون خادم أنه "لا توجد خوادم". على الرغم من الاسم، فإن الخوادم تُدار في الحوسبة من دون خادم من قِبل مزود خدمة سحابية (CSP). يصف مصطلح من دون خادم تجربة المطور مع هذه الخوادم—فهي غير مرئية للمطور، الذي لا يراها أو يديرها أو يتفاعل معها بأي شكل من الأشكال.
يمكن للمطورين التركيز على كتابة أفضل رمز للتطبيق الأمامي ومنطق الأعمال مع الحوسبة من دون خادم. كل ما يحتاجون إليه هو كتابة رمز التطبيق الخاص بهم ونشره في حاويات يديرها مزود خدمة سحابية.
يتولى مزود السحابة بقية المهام—توفير البنية التحتية السحابية المطلوبة لتشغيل الرمز وتوسيع نطاق البنية التحتية وتقليصه حسب الحاجة—ويكون مسؤولاً أيضًا عن كل عمليات إدارة البنية التحتية الروتينية وصيانتها، مثل تحديثات نظام التشغيل والتصحيحات وإدارة الأمن وتخطيط السعة ومراقبة النظام وغير ذلك.
علاوة على ذلك، لا يدفع المطورون أبدًا مقابل السعة غير المستغلة مع الخدمات من دون خادم. يشغل مزود السحابة موارد الحوسبة المطلوبة ويوفرها عند الطلب عند تنفيذ الرموز ويُلغي تشغيلها مرة أخرى—ما يسمى "التوسع إلى الصفر"—عند توقف التنفيذ. وتبدأ الفوترة عند بدء التنفيذ وتنتهي عند توقف التنفيذ؛ وعادةً ما يعتمد التسعير على وقت التنفيذ والموارد المطلوبة.
إلى جانب البنية التحتية كخدمة (IaaS) والمنصة كخدمة (PaaS) والوظيفة كخدمة (FaaS) والبرمجيات كخدمة (SaaS)، أصبحت الخدمات من دون خادم من الخدمات السحابية الرائدة. وفقًا لتقرير صادر عن SkyQuest Technology، بلغت قيمة السوق العالمية للبنية من دون خادم 8.01 مليارات دولار أمريكي في عام 2022، ومن المتوقع أن تنمو من 9.84 مليارات دولار أمريكي في عام 2023 إلى 50.86 مليار دولار أمريكي بحلول عام 20311. واليوم، يقدم كل مزود خدمة سحابية رائد منصة من دون خادم، بما في ذلك Amazon Web Services (AWS Lambda)، وMicrosoft Azure (Azure Functions)، وGoogle Cloud (Google Cloud Functions)، وIBM Cloud® (IBM Cloud Code Engine).
تشكل الحوسبة من دون خادم والخدمات المصغرة والحاويات معًا ثلاثية من التقنيات التي تشكل أساس تطوير تطبيقات السحابة الأصلية.
شاهد هذا الفيديو للاطلاع على شرح مفصل عن الخدمات دون خادم والمجموعة من دون خادم (6:37).
نشأت فكرة الخدمات من دون خادم في عام 2008 عندما أصدرت Google منصة Google App Engine (GAE)، وهي منصة لتطوير تطبيقات الويب واستضافتها في مراكز البيانات التي تديرها Google. باستخدام GAE، يمكن لمطور البرامج إنشاء البرامج وتشغيلها على سحابة Google من دون القلق بشأن مهام إدارة الخوادم مثل التصحيح أو موازنة الحمل، التي تتولى Google التعامل معها.
ظهر مصطلح "بدون خادم" لأول مرة في مقال تقني كتبه أخصائي الحوسبة السحابية Ken Fromm في عام 20122. في عام 2014، قدمت أمازون AWS Lambda، أول منصة بدون خادم. سُمي على اسم دوال من حساب التفاضل والتكامل والبرمجة Lambda، وقد ساعد AWS Lambda، وهو نموذج FaaS، إطار عمل الحوسبة بدون خادم على اكتساب جاذبية في السوق واعتماده السريع بين مطوري البرامج من خلال تمكينهم من تنفيذ التعليمات البرمجية استجابةً للأحداث دون الحاجة إلى إدارة الخادم. في عام 2016، أطلقت Microsoft Azure Functions و Google Cloud Functions منصتيهما بدون خوادم.
من بين اللاعبين الرئيسيين الآخرين في سوق المنصات من دون خادم اليوم: IBM Cloud® Code Engine ووظائف البنية التحتية لسحابة (Oracle (OCI وCloudflare Workers وحوسبة الوظائف من Alibaba.
الخدمات من دون خادم هي أكثر من مجرد وظيفة كخدمة (FaaS)—هي خدمة الحوسبة السحابية التي تمكّن المطورين من تشغيل الرموز أو الحاويات استجابةً لأحداث أو طلبات محددة من دون تحديد البنية التحتية المطلوبة لتشغيل الرموز أو إدارتها.
الوظيفة كخدمة هو نموذج الحوسبة المركزي للخدمات من دون خادم، وغالبًا ما يستخدم المصطلحان بالتبادل. بالمقارنة مع الوظيفة كخدمة، فإن الخدمات من دون خادم هي مجموعة كاملة من الخدمات التي يمكن أن تستجيب لأحداث أو طلبات محددة وتتوسع إلى الصفر عندما لا تكون قيد الاستخدام—التي يجري التعامل مع توفيرها وإدارتها وفوترتها من قِبل مزود السحابة وهي غير مرئية للمطورين.
بالإضافة إلى الوظيفة كخدمة، تشمل هذه الخدمات قواعد البيانات والتخزين وبوابات واجهة برمجة التطبيقات (API) والبنية القائمة على الأحداث.
قواعد البيانات (SQL و NoSQL) والتخزين (خاصة تخزين الكائنات) هما أساس طبقة البيانات. يتضمن نهج من دون خادم لهذه التقنيات الانتقال من توفير "مثيلات" ذات سعة محددة وحدود اتصال واستعلامات محددة والانتقال إلى نماذج تتناسب خطيًا مع الطلب في كل من البنية التحتية والتسعير.
تعمل بوابات واجهة برمجة التطبيقات كوكلاء لإجراءات تطبيق الويب وتوفر توجيه طريقة HTTP ومعرف العميل وأسراره وحدود الأسعار ومشاركة الموارد عبر المصادر (CORS) وعرض سجلات الاستجابة وسياسات مشاركة واجهة برمجة التطبيقات.
تعمل البنى من دون خادم بشكل جيد مع أحمال التشغيل القائمة على الأحداث وأحمال تشغيل معالجة تدفق البيانات، وأبرزها منصة بث الأحداث مفتوحة المصدر Apache Kafka.
تكون الوظائف المؤتمتة من دون خادم عديمة الحالة ومصممة للتعامل مع الأحداث الفردية. وقد أصبحت هذه الوظائف جزءًا أساسيًا من البنية القائمة على الأحداث (EDA)—وهو نموذج تصميم برامج مبني على نشر الأحداث وتسجيلها ومعالجتها وتخزينها. في إطار عمل البنية القائمة على الأحداث، يرسل منتجو الأحداث (على سبيل المثال، الخدمات المصغرة وواجهات برمجة التطبيقات وأجهزة إنترنت الأشياء) إشعارات الأحداث في الوقت الفعلي إلى مستهلكي الأحداث، ما يؤدي إلى تنشيط إجراءات معالجة محددة. على سبيل المثال، عندما تصدر Netflix مسلسلاً أصليًا جديدًا، تنتظر العديد من خدمات البنية القائمة على الأحداث في وضع الاستعداد لإشعار الإصدار، ما يؤدي إلى تشغيل سلسلة من التحديثات لإعلام المستخدمين. وتعتمد العديد من الشركات الأخرى القائمة على تطبيقات الويب وتطبيقات الأجهزة المحمولة الموجهة للمستخدم (على سبيل المثال، Uber وDoorDash وInstacart) على البنية القائمة على الأحداث.
نظرًا لأن كل من الخدمات من دون خادم والمنصة كخدمة (PaaS) والحاويات والأجهزة الافتراضية (VMs) تؤدي كلها دورًا مهمًا في تطوير التطبيقات السحابية والنظام البنائي للحوسبة، فمن المفيد قياس كيفية مقارنة الخدمات من دون خادم بالآخرين عبر بعض السمات الرئيسية.
Kubernetes هي منصة تنسيق حاويات مفتوحة المصدر تعمل على أتمتة نشر الحاويات وإدارتها وتوسيع نطاقها. وتعمل هذه الأتمتة على تبسيط عملية تطوير التطبيقات في حاويات بشكل كبير.
غالبًا ما تُنشر التطبيقات من دون خادم في حاويات. ومع ذلك، لا يمكن لمنصة Kubernetes تشغيل التطبيقات من دون خادم بشكل مستقل إلا باستخدام برنامج متخصص يدمج Kubernetes مع منصة من دون خادم لمزود سحابة معين.
Knative هي إضافة مفتوحة المصدر لمنصة Kubernetes توفر إطار عمل من دون خادم. وتُمكن أي حاوية من العمل كأحمال تشغيل من دون خادم على أي منصة سحابية تشغل Kubernetes، سواء كانت الحاوية مبنية حول وظيفة من دون خادم أو بعض الرموز الأخرى للتطبيق (على سبيل المثال، الخدمات المصغرة). وتعمل من خلال تجريد الرموز والتعامل مع توجيه الشبكة ومحفزات الأحداث والتوسع التلقائي للتنفيذ من دون خادم.
Knative سهلة الاستخدام بالنسبة إلى المطورين. حيث يبنون حاوية باستخدام Kubernetes، وتؤدي Knative الباقي وتشغيل الحاوية كأحمال تشغيل من دون خادم.
توفر الحوسبة من دون خادم للمطورين الأفراد وفرق تطوير المؤسسات العديد من الفوائد التقنية والتجارية:
بينما تتمتع الخدمات من دون خادم بالعديد من المزايا، فإنه من الضروري مراعاة بعض العيوب:
بينما يوفر مقدمو الخدمات السحابية تدابير أمنية لإدارة التطبيقات من دون خادم، فإن العميل مسؤول أيضًا عن تأمين رموز التطبيق والبيانات وفقًا لنموذج المسؤولية المشتركة. وتتضمن تدابير الأمان المستندة إلى السحابة للخدمات من دون خادم سياسات وحلول أمان تلقائية مثل إدارة معلومات الأمان والأحداث (SIEM) وإدارة الهوية والوصول (IAM) واكتشاف التهديدات والاستجابة لها.
يساعد اتباع ممارسات التطوير والأمن والعمليات فرق التطوير على تأمين التقنيات من دون خادم. التطوير والأمن و العمليات، واختصارًا "DevSecOps"، هي ممارسة لتطوير التطبيقات تعمل على أتمتة دمج ممارسات الأمن والأمان في كل مرحلة من مراحل دورة حياة تطوير البرامج، بدءًا من التصميم الأولي وحتى التكامل والاختبار والتسليم والنشر.
على عكس بيئات مراكز البيانات المحلية التقليدية، يمكن أن يساعد نموذج الحوسبة من دون خادم المؤسسات على تقليل استهلاك الطاقة وخفض البصمة الكربونية لعمليات تقنية المعلومات.
علاوة على ذلك، يسمح نموذج الخدمات من دون خادم للشركات بتحسين انبعاثاتها من خلال كفاءة الموارد بالدفع مقابل الموارد المطلوبة فقط واستخدامها. تؤدي هذه الميزة إلى تقليل الطاقة المهدرة في العمليات غير النشطة أو الزائدة.
نظرًا لخصائصها وفوائدها الفريدة، تعمل بنية بدون خادم بشكل أفضل لحالات الاستخدام التي تتضمن الخدمات المصغرة والنهايات الخلفية المحمولة ومعالجة البيانات وتدفق Event Streams.
إن حالة الاستخدام الأكثر شيوعًا للخدمات من دون خادم اليوم هي دعم بنى الخدمات المصغرة. يركز نموذج الخدمات المصغرة على إنشاء خدمات صغيرة تؤدي مهمة واحدة وتتواصل مع بعضها باستخدام واجهات برمجة التطبيقات. بينما يمكن أيضًا إنشاء الخدمات المصغرة وتشغيلها من خلال المنصة كخدمة أو الحاويات، اكتسبت الخدمات من دون خادم زخمًا كبيرًا نظرًا لقدرتها على تشغيل أجزاء صغيرة من الرموز والتوسع المتأصل والتلقائي والتزويد السريع ونموذج التسعير الذي لا يفرض رسومًا على السعة غير المستغلة.
يمكن تحويل أي إجراء (أو وظيفة) في منصة من دون خادم إلى نقطة نهاية HTTP جاهزة للاستهلاك من قِبل عملاء الويب. وعند تمكينها للويب، تسمى هذه الإجراءات إجراءات الويب. بمجرد أن يكون لديك إجراءات الويب، يمكنك تجميعها في واجهة برمجة تطبيقات كاملة الميزات مع بوابة واجهة برمجة التطبيقات التي توفر المزيد من الأمان ودعم التفويض المفتوح (OAuth)3 وتحديد المعدل ودعم المجال المخصص.
يتبع Open Liberty InstantOn4 نهجًا جديدًا لدعم بدء التشغيل السريع للتطبيقات من دون خادم. فباستخدام InstantOn، يمكنك إنشاء نقطة تحقق لعملية تطبيق Java قيد التشغيل في أثناء إنشاء التطبيق ثم استعادة نقطة التحقق هذه في الإنتاج. وتكون عملية الاستعادة سريعة (في أقل من 100 جزء من الثانية)، ما يجعلها مثالية للخدمات من دون خادم. ونظرًا لأن InstantOn هي نقطة تحقق لتطبيقك الحالي، فإن سلوكها بعد الاستعادة يكون متطابقًا، بما في ذلك الأداء الإنتاجي الممتاز نفسه. تُمكن هذه العملية المؤسسات من تبني خدمات جديدة من دون خادم لتطبيقات السحابة الأصلية وتوفر الفرصة لجلب خدمات من دون خادم إلى المؤسسات الحالية.
تُعد الخدمات من دون خادم مناسبة تمامًا للعمل مع البيانات النصية والصوتية والصور والفيديو المهيكلة حول مهام مثل إثراء البيانات وتحويلها والتحقق من صحتها وتنقيتها. ويمكن للمطورين أيضًا استخدامها لمعالجة ملفات PDF، وتطبيع الصوت، ومعالجة الصور (التدوير، والشحذ، والحد من الضوضاء، وتوليد الصور المصغرة)، والتعرف الضوئي على الحروف (OCR) وتحويل ترميز الفيديو.
أي مهمة متوازية سهلة تمثل حالة استخدام مثالية لوقت التشغيل من دون خادم، مع كل مهمة قابلة للتوازي تؤدي إلى استدعاء إجراء واحد. وتشمل المهام النموذجية البحث عن البيانات ومعالجتها (خاصةً تخزين الكائنات السحابية)، وعمليات MapReduce واستخراج البيانات من الويب، وأتمتة العمليات التجارية، وضبط المعلمات الفائقة، ومحاكاة Monte Carlo، ومعالجة الجينوم.
يوفر الجمع بين Apache Kafka المُدار والوظيفة كخدمة وقاعدة البيانات أو التخزين أساسًا قويًا لبناء مسارات البيانات وتطبيقات البث في الوقت الفعلي. وتعد هذه البنى مناسبة بشكل مثالي للعمل مع كل أنواع عمليات استيعاب تدفق البيانات (للتحقق من الصحة والتنقية والإثراء والتحويل)، بما في ذلك بيانات مستشعر إنترنت الأشياء وبيانات سجلات التطبيقات وبيانات السوق المالية وتدفقات بيانات الأعمال (من مصادر البيانات الأخرى).
توفر الخدمات من دون خادم قابلية التوسع التلقائي اللازمة لتشغيل أحمال تشغيل الذكاء الاصطناعي (AI) والتعلم الآلي (ML)، ما يضمن الأداء الأمثل وتسريع الابتكار.
تدعم الحوسبة من دون خادم إستراتيجية السحابة الهجينة من خلال توفير السرعة والمرونة وقابلية التوسع اللازمة لاستيعاب أحمال التشغيل المتقلبة عبر البيئات المحلية وبيئات السحابة العامة والسحابة الخاصة وبيئات الحافة.
تدعم الخدمات من دون خادم العديد من التطبيقات الأكثر شيوعًا اليوم، بما في ذلك إدارة علاقات العملاء (CRM) والحوسبة عالية الأداء (HPC) وتحليلات البيانات الكبيرة وأتمتة عمليات الأعمال وبث مقاطع الفيديو والألعاب والخدمات الطبية عن بُعد والتجارة الرقمية وإنشاء روبوتات المحادثة وغيرها.
يمكنك توسيع مهاراتك في الحوسبة من دون خادم باستخدام هذه الدروس التعليمية:
IBM Cloud Virtual Server for VPC هي مجموعة من الخوادم الافتراضية Intel x86 وIBM Z وIBM LinuxONE القائمة على السحابة الخاصة الافتراضية IBM Cloud Virtual Private Cloud.
توفر خوادم IBM السحابية المخصصة حلاً لاستضافة الويب قابل للتوسع مع حركة مرور للبيانات غير محدودة بدون تكلفة وخيارات تخصيص واسعة النطاق.
أطلق العنان للقدرات الجديدة وحفِّز مرونة الأعمال من خلال خدمات الاستشارات السحابية من IBM. اكتشف كيفية المشاركة في إنشاء الحلول وتسريع التحول الرقمي وتحسين الأداء من خلال إستراتيجيات السحابة الهجينة والشراكات مع الخبراء.
(محتوى الرابط موجود خارج موقع ibm.com)
1 تقرير سوق البنى من دون خادم العالمية، SkyQuest، مارس 2024
2 لمَ ستعمل البرامج والتطبيقات في المستقبل من دون خادم، ReadWrite، أكتوبر 2012
3 نبذة عن OAuth 2.0, OAuth
4 بدء تشغيل أسرع للتطبيقات في حاويات باستخدام Open Liberty InstantOn، Open Liberty