نشر واجهة Node.js الخلفية الخاصة بك مجاناً

Deploy Your Node.js Backend for Free
Deploy Your Node.js Backend for Free

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

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

1. Back4app Containers

Back4app هو عبارة عن منصة سحابية تعمل كمنصة كخدمة (PaaS) تمكّنك من إنشاء واستضافة تطبيقات الويب من مختلف الحِزَم من خلال واجهة مستخدم سهلة الاستخدام، وأداة CLI مخصصة، ووكيل ذكاء اصطناعي.

تقدم المنصة خدمات متنوعة، بما في ذلك منصة الحاويات كخدمة (CaaS) المعروفة باسم حاويات Back4app.

حاويات Back4app هي خدمة CaaS التي تقدمها Back4app والتي تتيح لك إدارة ونشر تطبيق الويب الخاص بك باستخدام حاويات Docker.

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

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

النشر باستخدام حاويات Back4app هي عملية مباشرة تتضمن توصيل مستودع GitHub الخاص بتطبيقك (ملف Dockerfile متضمنًا) بتطبيق Back4app Github، وإضافة المتغيرات البيئية الخاصة بك، والنقر على زر النشر.

كيف تنشر واجهة Node.js الخلفية الخاصة بك على حاويات Back4app؟

لنشر تطبيق Node.js الخاص بك على حاويات Back4app، تحتاج إلى

بمجرد تسجيل الدخول إلى حساب Back4app الخاص بك وتثبيت تطبيق GitHub على حساب GitHub الخاص بك، امنح تطبيق Back4app حق الوصول إلى المستودع الذي تريد نشره.

تأكد من احتواء المستودع الخاص بك على ملف Dockerfile؛ فيما يلي نموذج لملف Dockerfile يمكنك استخدامه لتطبيق Node.js الخاص بك:

# Specify base image
FROM node:18-alpine

# Specify working directory
WORKDIR /app

# Copy package.json and package-lock.json
COPY package*.json ./

# Install dependencies
RUN npm install

# Copy source code
COPY . .

# Expose port 8080
EXPOSE 8080

# Run the app
CMD ["npm", "start"]

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

إنشاء تطبيق جديد على Back4app

اختر التطبيق الذي تريد نشره من قائمة التطبيقات التي منحت تطبيق Back4app GitHub حق الوصول إليها.

حدد مستودع GitHub

املأ المتغيرات البيئية المرتبطة بالتطبيق الخاص بك، وانقر على زر إنشاء تطبيق.

ملء متغيرات البيئة Back4app

سيؤدي النقر فوق الزر إنشاء تطبيق إلى بدء عملية النشر وإظهار سجلات النشر في الوقت الفعلي لمساعدتك في مراقبة عملية النشر.

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

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

نشر حاويات Back4app Back4app

تقدم لك حاوية Back4app المجانية 0.25 وحدة معالجة مركزية و256 ميجابايت من ذاكرة الوصول العشوائي و100 جيجابايت للنقل، وهي مثالية للتطوير والتعلم. بالنسبة لتطبيقات الإنتاج، سيكون من المثالي الترقية إلى إحدى الباقات المدفوعة المتاحة.

2. Render

Render عبارة عن منصة سحابية توفر حلاً كمنصة كخدمة (PaaS) لنشر تطبيقات الويب لمختلف حزم التطوير، بما في ذلك Node.js.

باستخدام ميزة “Render”، يتم رفع مستوى خدماتك أو خفضها بناءً على متوسط استخدام وحدة المعالجة المركزية و/أو الذاكرة، مما يلغي الحاجة إلى التنبؤ بالخدمات أو توفيرها بشكل زائد لخدمة حركة المرور العالية.

يدعم Render أيضاً عمليات النشر بدون توقف، مما يضمن عدم تعطل تطبيقك أبداً، حتى في حالة تعطل الإنشاء.

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

يتضمن برنامج Render أيضًا العديد من الميزات، منها بيئات المعاينة، وواجهة برمجة تطبيقات REST API مخصصة، والأقراص الثابتة، والشبكات الخاصة، وغيرها الكثير.

يتضمن نشر تطبيقك على Render ربط حساب GitHub/GitLab الخاص بك بالمنصة وتهيئة تفاصيل النشر، بما في ذلك المتغيرات البيئية لتطبيقك.

كيفية نشر الواجهة الخلفية لـ Node.js على Render

لنشر تطبيقك على Render، تحتاج إلى حساب نشط؛ يمكنك التسجيل مجاناً إذا لم يكن لديك حساب.

سجّل الدخول إلى حسابك وانتقل إلى لوحة التحكم الخاصة بك. في لوحة التحكم، انقر على “خدمات الويب“.

إنشاء خدمة ويب جديدة

بعد ذلك، سيُطلب منك ربط حساب GitHub/GitLab الخاص بك بـ Render أو توفير مستودع Git عام.

قم بتوصيل GitHub/GitLab على Render

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

تكوين العرض

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

سجلات نشر التقديم

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

تقدم باقة Render المجانية 512 ميغابايت من ذاكرة الوصول العشوائي و0.1 وحدة معالجة مركزية لخدمات الويب الخاصة بك. إذا كان تطبيقك يتطلب المزيد من الموارد، يمكنك التفكير في خططهم المدفوعة.

3. Fly

Fly هي منصة سحابية توفر شبكة توصيل تطبيقات عالمية.

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

تقدم شركة Fly أجهزة لينكس المصغرة الكاملة المعروفة باسم “أجهزة Fly”. تتمتع أجهزة Fly بوقت إقلاع سريع نسبيًا يبلغ حوالي 300 مللي ثانية. يمكنك أيضًا إيقاف أجهزتك مؤقتًا عندما تكون خاملة، مما يضمن لك الدفع مقابل الخدمات التي تستهلكها فقط.

يتضمن نشر التطبيق الخاص بك على Fly تشغيل بعض الأوامر باستخدام أداة CLI المخصصة لها.

كيف يمكن نشر الواجهة الخلفية لـ Node.js Fly؟

لنشر تطبيق Node.js الخاص بك على Fly، ستحتاج إلى:

  • حساب Fly، يمكنك التسجيل مجاناً إذا لم يكن لديك حساب.
  • أداة سطر الأوامر flyctl المثبتة على جهازك المحلي.

إذا لم يكن لديك أداة flyctl CLI مثبتة على نظامك، يمكنك تثبيتها باستخدام الأمر أدناه:

#macOS/Linux
curl -L https://fly.io/install.sh | sh

#windows
pwsh -Command "iwr https://fly.io/install.ps1 -useb | iex"

بعد ذلك، قم بتسجيل الدخول إلى حساب Fly الخاص بك عن طريق تشغيل الأمر أدناه:

fly auth login

سيؤدي تشغيل الأمر أعلاه إلى فتح متصفحك الافتراضي ومطالبتك بتسجيل الدخول إلى حساب Fly الخاص بك.

بعد تسجيل الدخول بنجاح، انتقل إلى دليل التطبيق الذي تريد نشره وقم بتشغيل الأمر أدناه:

fly launch

عندما تقوم بتشغيل الأمر أعلاه، سيكتشف Fly تلقائيًا أنك تحاول نشر تطبيق Node.js وسيقوم بإعداد النشر الخاص بك.

أداة التحليق CLI

ستعرض أداة CLI تكوين التطبيق للحصول على موافقتك قبل نشر التطبيق. إذا كنت راضيًا عن التكوينات، يمكنك المتابعة بالرد بـ “نعم” على المطالبة، أو يمكنك الرد بـ “لا”.

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

تكوين الذبابة

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

4. Amazon Web Services (AWS)

Amazon Web Services (AWS) هي مزود البنية التحتية كخدمة (IaaS) التي توفر مكونات البنية التحتية الأساسية للحوسبة عبر الإنترنت.

تتيح لك AWS إنشاء بيئات افتراضية وإدارتها دون الاستثمار في الأجهزة المادية وصيانتها.

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

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

بالإضافة إلى ذلك، تُعد AWS منصة ناضجة تتمتع بسجل حافل (17 عامًا) من الموثوقية والأمان والأداء.

ومع ذلك، فإن نشر تطبيقك على AWS أكثر تعقيداً من نشر تطبيقك على منصات أخرى مثل Back4app وRender.

يمكنك تحقيق ذلك بطرق مختلفة؛ ومع ذلك، سيغطي هذا البرنامج التعليمي الأكثر شيوعًا، سحابة أمازون المرنة للحوسبة السحابية (Amazon EC2).

كيف تنشر الواجهة الخلفية لـ Node.js على AWS؟

EC2 هي خدمة ويب مقدمة من أمازون تتيح لك استئجار خوادم افتراضية، تُعرف باسم مثيلات، في السحابة.

لإنشاء مثيل EC2، تحتاج إلى حساب AWS؛ يمكنك التسجيل مجاناً إذا لم يكن لديك حساب.

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

يمكنك التحقق من مثيلك الذي تم إنشاؤه حديثًا على لوحة تحكم EC2 ضمن “المثيلات”.

مثيل AWS EC2 AWS EC2

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

وحدة تحكم AWS EC2 Console

بعد ذلك، قم بالتغيير إلى المستخدم الجذر عن طريق تشغيل الأمر أدناه:

sudo su -

سيؤدي تشغيل الأمر أعلاه إلى تبديل سياق المستخدم إلى المستخدم الجذر بامتيازات مرتفعة.

يضمن هذا الأمر، الذي يتألف من “sudo” لإمكانيات المستخدم الخارق و”su” لتبديل المستخدم، والفاصلة (“-“)، تحميل متغيرات بيئة المستخدم الجذر وتكويناته.

بعد ذلك، قم بتثبيت مدير إصدار العقدة (NVM) عن طريق تشغيل الأمر أدناه:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

بعد ذلك، قم بتنشيط NVM في جلسة العمل الطرفية الحالية عن طريق تشغيل الأمر أدناه:

. ~/.nvm/nvm.sh

بعد ذلك، قم بتثبيت Node.js باستخدام NVM عن طريق تشغيل الأمر أدناه:

nvm install node

بعد ذلك، قم بتثبيت Git عن طريق تشغيل الأمر أدناه:

sudo yum update
sudo yum install git

يمكنك التأكد من تثبيت Node.js و Git بنجاح على مثيل EC2 الخاص بك عن طريق تشغيل الأمر أدناه:

node -v && git -v

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

تثبيت Git و Node.js بنجاح

بعد ذلك، قم بتوصيل مفتاح GitHub SSH الخاص بك بمثيل EC2 الخاص بك. بعد تكوين مفتاح SSH الخاص بك وإضافته بنجاح، قم بتشغيل الأمر أدناه لاستنساخ مستودعك في مثيل EC2 الخاص بك:

git clone <YOUR_APPLICATION_URL>

سيؤدي الأمر أعلاه إلى استنساخ تطبيقك في مثيل EC2 الخاص بك.

AWS: إضافة github sshb ssh

ادخل إلى دليل تطبيقك على EC2 وقم بتشغيل الأمر أدناه لتثبيت جميع تبعيات مشروعك.

npm install

بعد ذلك، أضف متغيرات البيئة الخاصة بك عن طريق تشغيل الأمر أدناه:

nano .env

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

أخيرًا، قم بتشغيل البرنامج النصي لبدء التطبيق الخاص بك، والذي يجب أن يكون عادةً الأمر أدناه:

npm start

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

توفر الفئة المجانية لمثيلات EC2 في AWS 750 ساعة شهريًا لمثيلات t2.micro أو t3.micro التي تعمل بنظام Linux أو RHEL أو SLES، حسب المنطقة.

وبالمثل، بالنسبة لمثيلات Windows، فإنه يوفر 750 ساعة شهريًا لمثيلات t2.micro أو t3.micro بناءً على المنطقة.

بالإضافة إلى ذلك، وبغض النظر عن نوع المثيل، فإنه يتضمن 750 ساعة شهرياً لعنوان IPv4 العام.

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

5. DigitalOcean

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

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

توفر DigitalOcean أيضاً أمان الشبكة بجدران الحماية السحابية، وموازنات التحميل، وسحابة افتراضية خاصة، وعناوين IP عائمة، و DNS، و IPv6، وحماية DDoS.

نشر تطبيق Node.js على DigitalOcean عملية بسيطة نسبياً مقارنة بخيارات IaaS الأخرى.

وهو يتضمن إنشاء Droplet، وتهيئته، وإعداد جهاز لينكس الافتراضي الخاص بك، والوكيل العكسي الذي يناسب احتياجاتك.

نشر واجهة Node.js الخلفية الخاصة بك على DigitalOcean Droplet؟

تحتاج إلى حساب DigitalOcean لنشر تطبيق Node.js على المنصة؛ يمكنك التسجيل مجاناً إذا لم يكن لديك حساب.

بعد ذلك، سجّل الدخول وأنشئ مشروعًا جديدًا (أو استخدم مشروعًا موجودًا).

إنشاء مشروع جديد DigitalOcean

في لوحة تحكم مشروعك، انقر على القائمة المنسدلة “إنشاء” في الزاوية العلوية اليمنى من شاشتك وحدد “قطرات” لإنشاء قطرة جديدة.

إنشاء قطرة جديدة

بعد ذلك، اختر منطقة النشر الأقرب إليك لقطرتك.

بعد ذلك، اختر نظام التشغيل “Ubuntu” كصورتك و”أساسي” كنوع القطرة.

بعد ذلك، حدد خيارات وحدة المعالجة المركزية المفضلة لديك.

ثم اختر “كلمة المرور” كطريقة مصادقة. بدلاً من ذلك، يمكنك اختيار SSH كطريقة مصادقة.

أخيراً، اختر “1” كرقم قطرتك الصغيرة وأعطها اسم مضيف.

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

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

تشغيل وحدة التحكم في القطرة

سيؤدي تشغيل وحدة التحكم بالقطرة إلى فتح طرفية ويب Ubuntu على متصفحك، كما هو موضح في الصورة أدناه.

وحدة تحكم ديجيتال أوشن الرقمية

بعد ذلك، قم بتثبيت البرنامج النصي لإعداد Node.js عن طريق تشغيل الأمر أدناه:

curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -

ثم، قم بتثبيت Node.js عن طريق تشغيل الأمر أدناه:

apt-get install nodejs -y

بعد ذلك، استنسخ مستودع GitHub الخاص بك باستخدام الأمر أدناه:

git clone <YOUR_GITHUB_REPOSITORY_LINK>

قم بتثبيت تبعيات مشروعك عن طريق تشغيل الأمر أدناه:

npm install

بعد ذلك، أضف متغيرات البيئة الخاصة بك عن طريق تشغيل الأمر أدناه:

nano .env

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

بعد ذلك، قم بتثبيت PM2 للحفاظ على تشغيل الخادم الخاص بك في الخلفية:

sudo npm i pm2 -g

بعد ذلك، ابدأ تشغيل الخادم الخاص بك باستخدام PM2 عن طريق تشغيل الأمر أدناه:

pm2 start main.js

بعد ذلك، قم بتشغيل الأمر أدناه للتأكد من إعادة تشغيل الخادم في كل مرة يُعاد فيها تشغيل التطبيق:

pm2 startup ubuntu

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

قم بتشغيل الأمر أدناه لتثبيت Nginx:

sudo apt install nginx

قبل استخدام Nginx، يجب عليك ضبط جدار حماية Ubuntu ufw (جدار حماية غير معقد) لتأمين تطبيقك والتأكد من أن حركة المرور المصرح بها فقط يمكنها الوصول إلى خادم الويب الخاص بك.

قم بتشغيل الأمر أدناه لتمكين ufw:

ufw enable

ثم قم بتشغيل الأمر أدناه للسماح ب SSH و HTTP و HTTPS:

ufw allow ssh && ufw allow http && ufw allow https

يعمل الأمر أعلاه على تمكين جدار الحماية (UFW) على خادم Ubuntu الخاص بك للسماح بالاتصالات الواردة على المنافذ 22 (ل SSH) و 80 (ل HTTP) و 443 (ل HTTPS).

بعد ذلك، قم بتشغيل الأمر أدناه لفتح ملف تهيئة Nginx الافتراضي:

sudo nano /etc/nginx/sites-available/default

داخل ملف التكوين، ابحث عن كائن الموقع واستبدله بالكتلة البرمجية أدناه:

location / {
    try_files $uri $uri/ =404;
    proxy_pass http://localhost:5050;#Replace with the port your app is running on
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

ملاحظة: بالنسبة إلى proxy_pass، يمكنك استبدال القيمة بأي منفذ يعمل عليه تطبيقك.

أغلق الملف واحفظه(التحكم + ENTER). يؤدي تحرير ملف التهيئة باستخدام كتلة التعليمات البرمجية أعلاه إلى إعداد الوكيل العكسي الخاص بك بحيث عندما تقوم بإجراء طلبات إلى المنفذ 80 (ل HTTP)، فإن تطبيقك الذي يعمل على المنفذ 5050 (أو المنفذ الافتراضي الخاص بك) سيتعامل مع الطلبات.

بعد ذلك، قم بتشغيل الأمر أدناه لاختبار ما إذا كان ملف تهيئة Nginx قد تم إعداده بشكل صحيح.

sudo nginx -t

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

اختبار Nginx

أخيرًا، أعد تشغيل Nginx عن طريق تشغيل الأمر أدناه للتأكد من أن التغييرات التي أجريتها على ملف التهيئة سارية المفعول:

sudo service nginx restart

يمكنك الآن تقديم طلبات إلى تطبيقك باستخدام عنوان IPv4 العام الخاص بالقطرة.

تتميز فئة DigitalOcean المجانية بـ 200 دولار من الأرصدة للمستخدمين الجدد للوصول إلى جميع الخدمات المتاحة.

مقارنة خيارات النشر

غطت هذه المقالة خمسة خيارات نشر لتطبيق Node.js الخاص بك. فيما يلي مقارنة جدولية لجميع المنصات التي تمت تغطيتها.

المنصةالفئةأدوات التطويرموارد الفئة المجانيةمعلومات الدفع
Back4app ContainersPaaSتطبيق Docker، تطبيق GitHub، وكيل الذكاء الاصطناعي Back4app.– 0.25 وحدة معالجة مركزية
– 256 ميغابايت من ذاكرة الوصول العشوائي
– نقل 100 جيجابايت
غير مطلوب
RenderPaaSتطبيق GitHub/GitLab، رابط المستودع العام– 512 ميجابايت من ذاكرة الوصول العشوائي (RAM)
– 0.1 وحدة معالجة مركزية
غير مطلوب
FlyPaaSFly CLI5$ من الموارد/الاستخدام بقيمة 5 دولاراتمطلوب
Amazon Web Services (AWS)IaaSAWS EC2 Instance– 750 ساعة شهريًا لمثيلات Linux أو RHEL أو SLES t2.micro أو t3.micro.
– 750 ساعة شهريًا لمثيلات Windows t2.micro أو t3.micro، حسب المنطقة.
– 750 ساعة شهريًا لعنوان IPv4 العام.
مطلوب
DigitalOceanIaaS DigitalOcean Droplet200 دولار أمريكي أرصدة مجانية للمستخدمين الجدد.مطلوب

بشكل عام، تُعد منصات PaaS مثل Back4app وRender وFly الأنسب للتطبيقات التي تتطلب قابلية التوسع والمرونة ودورات التطوير والنشر السريع.

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

الخاتمة

في هذه المقالة، استكشفتَ وتعلمتَ كيفية نشر تطبيق Node.js باستخدام حاويات Back4app وRender وFly وAWS وDigitalOcean.

لكل خيار من الخيارات التي تمت مناقشتها مزاياه ومقايضاته. بالنسبة لمنصات PaaS، فإن عملية النشر أسهل بالنسبة لمنصات PaaS.

ومع ذلك، تفقد معظم التحكم في البنية التحتية الأساسية. أما في منصات IaaS، فإن عملية النشر معقدة؛ ومع ذلك، يمكنك التحكم الكامل في البنية التحتية الأساسية دون الحاجة إلى خوادم فعلية.

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

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


Leave a reply

Your email address will not be published.