مقدمة إلى PHP بدون خادم: الميزات الرئيسية وحالات الاستخدام وكيفية البدء مع Bref على Lambda

A VPN is an essential component of IT security, whether you’re just starting a business or are already up and running. Most business interactions and transactions happen online and VPN

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

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

بمعنى آخر ، PHP بدون خادم هو تنفيذ الحوسبة بدون خادم مع واجهة PHP الخلفية  لإعطائك مثالاً.

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

على وجه التحديد ، سننظر في مفهوم الحوسبة بدون خادم ، وحالات استخدامها ونطاقها ، ومزاياها وعيوبها ، والتطبيق البسيط لـ PHP بدون خادم مع Bref وحالة PHP بدون خادم في الثلاثة الكبار ( Amazon ، و Microsoft ، و Google ).

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

بعد ذلك ، سمح تطور خدمات الاستضافة لأصحاب المواقع بشراء مساحة استضافة – يمكن لكل خادم أن يحتوي على تطبيقات متعددة. هذا خفض التكاليف.

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

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

PHP بدون خادم: الأساسيات

الاتجاهات الخاصة بمصطلح “بدون خادم” على Google

مؤشرات لمصطلح “بدون خادم” على Google

لنشر تطبيق PHP بدون خادم ، يجب عليك أولاً استكشاف مفهوم الحوسبة بدون خادم. بينما ظهر مصطلح serverless لأول مرة في هذه المقالة حول مستقبل تطوير البرامج بدءًا من 2012 على ReadWrite ، فقد اكتسب شهرة مع إطلاق AWS Lambda في عام 2014.

في هذا القسم ، دعونا نركز على بعض المفاهيم الأساسية المتعلقة بالحوسبة بدون خادم ، ونحاول الإجابة على سؤال شائع يحيط بهذه التكنولوجيا: هل هو خادم بالفعل – “أقل”؟

ميزات PHP بدون خادم

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

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

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

قد تكون عملية التفريخ هذه “دافئة” ، حيث تستخدم مثيلًا موجودًا ، أو “باردًا” ، حيث تبدأ مثيلًا جديدًا. هناك تأخير طفيف في هذه العملية ، وخاصة البداية الباردة ، مقارنة بالاستضافة التقليدية ، حيث يكون خادمك دائمًا في وضع الاستعداد للتعامل مع الطلبات.

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

هل PHP بدون خادم حقًا ليس خادمًا؟

لا تدع مصطلح “بدون خادم” يربكك. هذا لا يعني أن “الخادم” غير موجود. عند استخدام تطبيق بدون خادم ، يوجد خادم في الخلفية يعالج مدخلاتك ويحسب المخرجات الضرورية.

يوجد “-less” في المصطلح من وجهة نظر المطور ، الذي لا يتعرض أبدًا لعناصر مختلفة من الخادم. لذلك ، إذا قمت بنشر تطبيق PHP بدون خادم ، فهناك خادم فعلي يعمل على السحابة يلبي الطلبات.

BaaS مقابل بنيات Serverless

بينما لم يتم تعريف “الحوسبة بدون خادم” بشكل دقيق ، فقد تشير أيضًا إلى تطبيقات BaaS (Backend as a Service). يشير BaaS أيضًا إلى نموذج الحوسبة السحابية ، حيث يتم الاستعانة بمصادر خارجية لعمليات الخادم لطرف ثالث ويحتاج المطور فقط إلى التركيز على إنشاء البرنامج وصيانته .

التشابه الأساسي بين BaaS و Serverless هو حقيقة أن المطور لا يركز على إدارة الخادم. تقدم العديد من المنظمات حزم BaaS و FaaS تحت نفس المظلة.

فيما يلي الاختلافات الرئيسية بين BaaS والحوسبة بدون خادم :

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

قابلية التوسع: تعد قابلية التوسع مكونًا مهمًا في تطبيق بدون خادم – يتم تخصيص المزيد من الموارد مع زيادة حركة المرور. إنها ليست وحدة نمطية ضرورية لتطبيقات BaaS ، على الرغم من أن بعض مزودي الخدمة يقدمونها كإضافة.

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

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

PHP بدون خادم: حالات الاستخدام

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

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

سوف نناقش مثالين من تطبيقات كومة serverless في هذا القسم قواعد البيانات و تخزين الملفات .

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

يعد Amazon Aurora و Google Cloud Datastore أمثلة على قواعد البيانات التي لا تحتوي على خوادم والمتاحة في السوق اليوم. يتم تنفيذ نظام تخزين ملفات بدون خادم كمخازن للعناصر . لا يتم التعامل مع الملفات كتسلسل هرمي في نظام الملفات ، ولكن ككائنات تحتوي على بيانات الملف نفسه وبيانات التعريف الخاصة به. يتم التخزين والاسترجاع من خلال واجهة برمجة تطبيقات تشبه REST .

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

PHP بدون خادم: المزايا

في هذا القسم ، نلقي نظرة على المزايا الرئيسية للحوسبة بدون خادم ولماذا اكتسبت قوة دفع في السنوات الأخيرة.

انخفاض تكاليف الخادم

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

انتشار أسهل

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

قابلية التوسع

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

تريد أن تعرف كيف زدنا من حركة المرور لدينا أكثر من 1000 ٪؟

انضم إلى أكثر من 20000 آخرين ممن يتلقون رسائلنا الإخبارية الأسبوعية مع نصائح من الداخل حول وورد بريس!

إشترك الآن

PHP بدون خادم: العيوب

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

أداء

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

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

(يُقترح قراءة: مقدمة عن إنشاء مواقع الويب باستخدام Gatsby و وورد بريس )

قبضة الباعة في

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

التصحيح

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

PHP بدون خادم: الشروع في استخدام Bref على Lambda

أثناء استكشافنا للبنية بدون خادم ، سنرى الآن ما تحتاجه لنشر تطبيق PHP من خلال خدمة بدون خادم.

كما قد تكون خمنت بالفعل ، فإن نشر تطبيق بدون خادم خاص جدًا بالمورد . لذلك ، يحاول هذا المنشور معالجة تطبيقات تطبيق PHP بدون خادم على Amazon AWS. Bref ، أو المختصر باللغة الفرنسية ، عبارة عن حزمة Composer تسمح لك بنشر تطبيقات PHP على AWS من خلال Lambda.

تتطور Bref باستمرار ، لذا يجب عليك على الأرجح التحقق من مصفوفة نضج Bref لتقييم ما إذا كان من الجيد نقل تطبيقك إلى بنية بدون خادم.

المتطلبات المسبقة لـ PHP بدون خادم مع Bref

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

هل سئمت من مضيف بطيء لموقع وورد بريس الخاص بك؟ نحن نقدم خوادم فائقة السرعة ودعمًا عالميًا على مدار الساعة طوال أيام الأسبوع من خبراء وورد بريس. تحقق من خططنا

npm install -g serverless

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

serverless config credentials --provider aws --key <key> --secret <secret>

بعد ذلك ، قم بتثبيت Bref من خلال Composer:

composer require bref/bref

قبل النشر ، تحتاج إلى تثبيت تبعيات Composer.

composer install --prefer-dist --optimize-autoloader --no-dev
قم بإنشاء تطبيق Hello World على PHP بدون خادم باستخدام Bref

لإنشاء تطبيق hello world بسيط باستخدام Bref ، سنكتب وظيفة يتم تشغيلها بواسطة حدث ما وإرجاع السلسلة “Hello World”.

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

require __DIR__.'/vendor/autoload.php';
lambda(function ($event) {
 return 'Hello world');
});

عندما تكون الوظيفة جاهزة ، تحتاج إلى إنشاء ملف تكوين serverless.yml. هنا ملف تكوين أساسي من دليل Bref.

service: app
provider:
 name: aws
 runtime: provided
plugins:
 - ./vendor/bref/bref
functions:
 hello:
 handler: index.php
 layers:
 - ${bref:layer.php-73}

يقوم Bref بإنشاء ملف التكوين هذا تلقائيًا عند تشغيل الأمر التالي.

vendor/bin/bref init

الآن بعد أن أصبحت جاهزًا مع وظيفتك والتكوين ، يمكنك استدعاء الوظيفة للتحقق من أنها تعمل على النحو المنشود باستخدام invokeأمر الحزمة بدون خادم:

serverless invoke -f hello

فيما يلي دليل حول النشر المحلي للتطبيقات بدون خادم باستخدام أداة سطر الأوامر sam من AWS. بمجرد أن يصبح مشروعك جاهزًا ، يمكنك نشره باستخدام أمر النشر بدون خادم. استخدم –verboseالخيار للحصول على تفاصيل عملية النشر:

serverless deploy

خيارات النشر الأخرى لـ PHP بدون خادم

يعد Bref PHP على AWS Lambda خيارًا شائعًا. ومع ذلك ، هناك بعض الخيارات الأخرى لتطبيقات PHP التي لا تحتاج إلى خادم.

تم إطلاق Vapor بواسطة Laravel في يوليو 2019 ، وهو عبارة عن منصة نشر بدون خادم لـ Laravel على AWS Lambda. يحول Vapor تطبيق Laravel الخاص بك إلى دالة lambda واحدة. بينما لا يدعم Azure serverless PHP رسميًا ، لا يزال بإمكانك تجربته باستخدام مثال النشر هذا .

تكتسب PHP التي لا تحتاج إلى خادم مزيدًا من الاهتمام مع مرور الأسابيع. ولكن ما هو بالضبط؟ هل هو حقًا “بدون خادم”؟ كيف يعمل؟ احصل على جميع الإجابات على هذه الأسئلة – وأكثر – في هذا الدليل التفصيلي! ☁️🔌

انقر للتغريد

ملخص

فيما يلي الجوانب الأساسية التي يجب أن تأخذها بعيدًا عن هذا الدليل على PHP بدون خادم:

قبل أن تفكر في استخدام PHP بدون خادم لتطبيقك ، تأكد من أنك تدرك تمامًا ماهية الحوسبة بدون خادم ومزاياها وعيوبها.

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

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

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

بالنسبة لجميع الحالات الأخرى ، يمكن أن يؤدي استخدام مضيف وورد بريس مُدار مثل Kinsta إلى تبسيط سير عملك بشكل كبير.

وفر الوقت والتكاليف وحقق أقصى قدر من أداء الموقع من خلال:

مساعدة فورية من خبراء استضافة وورد بريس ، 24/7.

تكامل Cloudflare Enterprise.

يصل الجمهور العالمي إلى 28 مركز بيانات حول العالم.

التحسين من خلال مراقبة أداء التطبيقات المضمنة لدينا.

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

توضيح

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

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

شاركنا رايك وتقييمك للموضوع

{{ reviewsTotal }}{{ options.labels.singularReviewCountLabel }}
{{ reviewsTotal }}{{ options.labels.pluralReviewCountLabel }}
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}