ما هي CaaS – الحاويات كخدمة؟
في هذه المقالة، سنتحدث عن الحاويات كخدمة (CaaS). أحد أحدث النماذج السحابية الحديثة ولكن القوية. ستتعرف على وظائفها الأساسية، وإيجابياتها وسلبياتها، وكيفية مقارنتها بالنماذج السحابية الأخرى، وكيفية نشر تطبيق بسيط باستخدام الحاويات.
Contents
- 1 الوجبات الرئيسية
- 2 ما هي الحاويات كخدمة؟
- 3 ما هي الوظائف الأساسية للحاويات كخدمة؟
- 4 ما هي مزايا الحاويات كخدمة؟
- 5 ما هي قيود الحاويات كخدمة؟
- 6 ما الدور الذي يلعبه كل من Docker وKubernetes في منصة CaaS؟
- 7 كيف يمكن مقارنة الحاويات كخدمة بالنماذج الأخرى؟
- 8 ما أفضل مزودي خدمة الحاويات كخدمة؟
- 9 كيفية استضافة تطبيق بسيط باستخدام الحاويات؟
- 10 الخاتمة
- 11 الأسئلة الشائعة
- 12 ما هو الحاويات كخدمة؟
- 13 ما هي مزايا الحاويات كخدمة؟
- 14 ما هي عيوب الحاويات كخدمة؟
- 15 ما هي أفضل مزودي الحاويات كخدمة؟
- 16 كيف تنشر تطبيقًا باستخدام الحاويات؟
الوجبات الرئيسية
- تسهّل CaaS التطوير والنشر السلس مع وظائف مدمجة.
- توفر CaaS قابلية عالية للتوسع وقابلية النقل، مما يقلل من انغلاق البائعين.
- تتضمن قيود CaaS المخاطر الأمنية المحتملة ومنحنى التعلم الحاد.
ما هي الحاويات كخدمة؟
تعريف CaaS هو أن الحاويات كخدمة هو نموذج حوسبة سحابية يسمح للمطورين بتحميل الحاويات وإنشائها وتوسيع نطاقها وإدارتها.
حاويات DevOps عبارة عن حزم خفيفة الوزن وقابلة للتنفيذ مستقلة تتضمن كل ما هو مطلوب لتشغيل تطبيق ما. يتكون ذلك من وقت التشغيل والتعليمات البرمجية والمكتبات وملفات التهيئة وغيرها. الحاويات محمولة للغاية وصغيرة الحجم وفعالة.
من خلال استخدام CaaS، لا يتعين على المطورين وفرق عمليات تكنولوجيا المعلومات القلق بشأن البنية التحتية الأساسية. وبدلاً من ذلك، يمكنهم التفكير على مستوى أعلى بكثير.
كل ما يحتاجون إليه هو ترميز التطبيق، وإرساءه في قفص الاتهام، ودفعه إلى السحابة. سيهتم مزود الخدمة السحابية بعد ذلك بكل شيء آخر – مثل التوسع، وموازنة التحميل، والمراقبة!
علاوة على ذلك، تعد CaaS ممتازة لأنها تعزز التطوير السريع، وتدعم بنية الخدمات المصغرة، وهي مفيدة للغاية لبناء تطبيقات قابلة للتطوير بسرعة كبيرة.
ما هي الوظائف الأساسية للحاويات كخدمة؟
لا توجد مواصفات رسمية من شأنها تحديد الميزات التي يجب أن تتضمنها خدمة CaaS. فهي تختلف من بائع لآخر. ومع ذلك، فإن أهم الوظائف الأساسية للحاويات كخدمة هي:
- وقت تشغيل الحاويات (المسؤول عن تشغيل تطبيقاتك المعبأة في حاويات)
- سجل الحاويات (يسمح لك بتخزين وتوزيع صور Docker المبنية بالفعل)
- التحجيم التلقائي (زيادة عدد الحاويات أو تقليلها بناءً على حركة المرور)
- نظام CI/CD مدمج (يسحب الكود الخاص بك من نظام VCS مثل GitHub أو GitLab)
- موازنة التحميل (تقسيم حركة المرور بين حاويات متعددة لتحسين الأداء)
- المراقبة والتسجيل (يوفر إمكانات متقدمة لمراقبة الحاويات)
ما هي مزايا الحاويات كخدمة؟
تطوير ونشر أسرع
باستخدام CaaS، يمكنك تسريع عملية تطوير البرامج ونشرها بشكل كبير. تجعل الحاويات من السهل على المطورين المبتدئين إعداد بيئات التطوير المحلية الخاصة بهم. كل ما عليهم فعله هو تشغيل أمر أو اثنين بدلاً من تثبيت مجموعة من التبعيات أو العبث بإعدادات نظام التشغيل.
بالإضافة إلى ذلك، بمجرد وضع مشروعك في حاويات، يمكن نشره بسهولة إلى أي مورد خدمات كCaaS.
كفاءة الموارد
تتميز الحاويات بطبيعة ملائمة للموارد. فهي مصممة لاستخدام موارد النظام بكفاءة مثل وحدة المعالجة المركزية والذاكرة والتخزين. باستخدام الحاويات، يمكنك بشكل عام تشغيل المزيد من التطبيقات بموارد نظام أقل. بالمقارنة مع الآلات الافتراضية، فإن الحاويات أكثر ملاءمة للموارد.
قابلية النقل
التطبيقات الموضوعة في حاويات قابلة للنقل بدرجة كبيرة لأنها لا تعتمد على نظام التشغيل أو الأجهزة الأساسية. وباستخدام CaaS، لن تواجه مشكلة “تشغيلها على جهازي” مرة أخرى.
وعلاوة على ذلك، تقضي الحاويات على خطر التقيد بالبائعين. إذا كنت غير راضٍ عن البائع الحالي، يمكنك بسهولة التبديل من بائع إلى آخر دون تعديل الكود الخاص بك كثيرًا.
قابلية التوسع
تتسم الحاويات مع برامج التنسيق مثل Kubernetes بقابلية عالية للتطوير. يمتلك معظم بائعي CaaS قدرات مدمجة للتوسع التلقائي وموازنة التحميل وغير ذلك. وهذا يمكّنها من استيعاب أي حركة مرور وتوسيع نطاقها بسرعة بمجرد انتهاء ارتفاع حركة المرور.
عملية مبسطة
تعمل CaaS على سد الفجوة بين بيئة التطوير وبيئة الإنتاج. علاوة على ذلك، فهي تبسّط عملية DevOps من خلال توفير نظام CI/CD مدمج يتكامل مع نظام VCS الخاص بك.
والأفضل من ذلك كله، ستمكّنك CaaS من خفض التكاليف بشكل كبير لأنك لن تحتاج إلى أي مديري أنظمة أو مهندسي تطوير وعمليات.
ما هي قيود الحاويات كخدمة؟
المشاكل الأمنية
توفر الحاويات عزلًا وأمانًا أقل من الأجهزة الافتراضية نظرًا لأنها تشترك في نفس نواة النظام. قد يكون ذلك خطرًا أمنيًا محتملاً. إذا كنت تقوم بتشغيل عمليات حاوية Docker كجذر، فقد يتمكن المخترق من اختراق الحاوية والسيطرة على النظام المضيف.
انعدام السيطرة
تقدم منصات CaaS عادةً مستوى أقل من التحكم مقارنةً بالنماذج السحابية الأخرى. لا يمكن للعملاء ضبط الأجهزة التي تعمل عليها حاوياتهم أو تهيئة كيفية توسيع نطاق تطبيقاتهم.
منحنى التعلم
يعتبر نموذج الحاويات كخدمة أكثر صعوبة من نموذج PaaS أو BaaS. فهو يتطلب الكثير من المعرفة التقنية حول البرمجة، وتكنولوجيا الحاويات، وDocker، وما إلى ذلك. كما أن لها منحنى تعليمي أكثر حدة، ولكن إتقانها يمكن أن يساعدك على توفير الكثير من الوقت والمال.
ثبات البيانات
تم تصميم الحاويات لتكون عديمة الحالة. لا ينبغي استخدامها لتخزين الملفات أو قواعد البيانات أو أي شيء آخر يتطلب ثبات البيانات. باستخدام CaaS، سيتعين عليك استخدام خدمة طرف ثالث لاستضافة الملفات، مثل AWS S3 أو Google Cloud Storage، وما إلى ذلك. فيما يتعلق بقاعدة البيانات، يمكنك استخدام حل قاعدة بيانات مُدار.
ما الدور الذي يلعبه كل من Docker وKubernetes في منصة CaaS؟
يلعب Docker وKubernetes دوراً حاسماً في معظم منصات CaaS.
Docker هي منصة مجانية ومفتوحة المصدر لبناء الحاويات ونشرها وتشغيلها وإدارتها. تم إصدارها في عام 2013 وأصبحت المعيار الفعلي لتعبئة البرمجيات المعبأة في حاويات.
Kubernetes (يُشار إليه أحيانًا باسم K8s) هو برنامج تنسيق. وهو يعمل على مستوى أعلى من Docker. الغرض من Kubernetes هو التأكد من أن مجموعات الحاويات تعمل بشكل جيد معًا. فهو يعتني بالتوسع، وموازنة التحميل، واستبدال الحاويات المعطلة، وما إلى ذلك.
كيف يمكن مقارنة الحاويات كخدمة بالنماذج الأخرى؟
في هذا القسم، سنقارن بين CaaS وخدمات الحوسبة السحابية الأخرى، بما في ذلك IaaS و PaaS و BaaS. جميعها لها إيجابياتها وسلبياتها التي يجب أخذها في الاعتبار عند نشر مشروعك.
استنادًا إلى طبقات التجريد، تقع CaaS في مكان ما بين IaaS وPaaS (كما هو موضح في الصورة أدناه).
CaaS مقابل IaaS
البنية التحتية كخدمة (IaaS) هو نموذج حوسبة سحابية مرن يقدم فيه موفر الخدمة السحابية البنية التحتية الأساسية في بيئة افتراضية. ويشمل ذلك الخوادم والتخزين وأنظمة التشغيل والشبكات. IaaS هو الخيار الأقل تجريدًا ويمنح العملاء تحكمًا كاملاً في بنيتهم التحتية.
تعد CaaS أقل مرونة وتوفر مستوى تحكم أقل من IaaS. ولكن من ناحية أخرى، فهي أسهل بكثير في الإدارة وتتيح قابلية أكبر للتوسع وقابلية النقل. كقاعدة عامة، استخدم IaaS إذا كنت تحتاج إلى تحكم عالي المستوى، واستخدم CaaS إذا كنت بحاجة إلى طريقة سريعة لنشر تطبيقات حاويات قابلة للتطوير.
CaaS مقابل PaaS
المنصة كخدمة (PaaS) هي خدمة حوسبة سحابية توفر للمطورين الأدوات اللازمة لإنشاء تطبيقاتهم ونشرها. تتيح المنصة كخدمة للمستخدمين التركيز على تطبيقاتهم بدلاً من القلق بشأن البنية التحتية الأساسية. يمكّنك معظم مزودي خدمة PaaS من تشغيل تطبيقك بنقرة واحدة أو نقرتين!
تعد CaaS أكثر مرونة وقابلية للتطوير مقارنةً بالـ PaaS. تتيح لك CaaS نشر أي شيء عملياً، في حين أن موفري PaaS يقتصرون عادةً على عدد قليل من لغات البرمجة. فيما يتعلق بأدوات وميزات تطوير البرمجيات، تعد PaaS أكثر تقدمًا. تعد PaaS أكثر ملاءمة للتطبيقات المتجانسة، بينما CaaS تتفوق في بنية الخدمات المصغرة.
لمعرفة المزيد عن المنصة كخدمة، راجع ما هي باس؟
CaaS مقابل BaaS
الواجهة الخلفية كخدمة (BaaS) هي نموذج حوسبة سحابية يُلخّص الجانب الخلفي للمشروع بشكل كامل. وهي تأتي مع قاعدة بيانات، وتخزين الملفات، وإدارة المستخدمين، وواجهات برمجة التطبيقات، وحزم تطوير البرمجيات، والإشعارات الفورية، والمصادقة، على سبيل المثال لا الحصر. تتيح لك BaaS التركيز على الواجهة الأمامية ومنطق الأعمال بدلاً من إضاعة الوقت والمال في مهام البرمجة المتكررة.
يمكن استخدام CaaS لنشر الواجهات الخلفية والواجهات الأمامية، في حين أن BaaS هي في الغالب لنشر الواجهات الخلفية. BaaS سهلة الاستخدام للغاية وأحيانًا لا تتطلب أي كود برمجي. أما CaaS، من ناحية أخرى، تتطلب قدراً لا بأس به من المعرفة التقنية في البرمجة والتركيبات البرمجية وعمليات التطوير.
لمعرفة المزيد عن الواجهة الخلفية كخدمة، راجع ما هي BaaS؟
ما أفضل مزودي خدمة الحاويات كخدمة؟
Back4app Containers
Back4app Containers هي خدمة سحابية قوية توفر منصة CaaS لنشر التطبيقات وتوسيع نطاقها على حاويات موزعة عالمياً.
وهي تتيح للمطورين التركيز على برامجهم وعملية الإرساء دون القلق بشأن DevOps. تحتوي المنصة على نظام CI/CD مدمج، وتكامل GitHub، وتدعم عمليات النشر دون توقف.
وأفضل ما في الأمر أنه يقدم خطة مجانية ويتيح لك تشغيل تطبيقك في غضون دقائق!
Amazon Elastic Container Service
خدمة Amazon Elastic Container Service (ECS) هي خدمة تنسيق حاويات مُدارة بالكامل تعمل على تبسيط إدارة ونشر البرامج المعبأة في حاويات. كل ما عليك فعله هو وصف التطبيق الخاص بك والموارد المطلوبة، ثم تتولى AWS كل ما تبقى.
لا توجد رسوم حصرية لـ ECS نظرًا لأن ECS تستخدم خدمات AWS الأخرى في الخلفية. لاستخدام ECS بفعالية، يجب أن تكون على دراية بنظام AWS البيئي. تقدم AWS أيضًا فئة مجانية للعملاء الجدد.
Google Cloud Kubernetes
إن Google Cloud Kubernetes (GKE) هي منصة التنسيق المستندة إلى Kubernetes من Google. تتيح لك وضع حاوياتك على الطيار الآلي، مما يلغي الحاجة إلى إدارة العُقد. وهي تأتي مع تطبيقات وقوالب Kubernetes مسبقة الإنشاء، وإمكانيات التوسيع التلقائي، وإدارة المجموعات المتعددة، والمزيد!
يتميز GKE بأداء ومرونة استثنائية ولكنه يتطلب الكثير من التهيئة الأولية. وهذا يجعله غير مناسب للمبتدئين. مثل الخيارين الآخرين، تقدم Google أيضًا أرصدة مجانية للمستخدمين الجدد.
كيفية استضافة تطبيق بسيط باستخدام الحاويات؟
في هذا القسم، سنلقي نظرة على كيفية إنشاء تطبيق ويب بسيط من Python وإرساءه ونشره. تم تصميم هذا الدليل خصيصًا ل Back4app Containers، ولكن يمكن تطبيق خطوات مماثلة على أي مزود آخر لخدمات CaaS.
الأهداف
- قم بترميز التطبيق.
- Dockerize التطبيق واختباره.
- ادفع الكود المصدري إلى GitHub.
- نشر التطبيق على CaaS.
تطبيق الكود
لتوضيح عملية النشر، سنقوم ببناء واجهة برمجة تطبيقات RESTful API بسيطة باستخدام FastAPI، وهو إطار عمل حديث وعالي الأداء من Python لبناء واجهات برمجة تطبيقات جاهزة للإنتاج.
إعداد المشروع
ابدأ بإنشاء مجلد مخصص للمشروع وبيئة افتراضية:
$ mkdir fastapi-example && cd fastapi-example
$ python3.9 -m venv env && source env/bin/activate
بعد ذلك، قم بتثبيت FastAPI مع جميع توابعه:
$ pip install "fastapi[all]"
يؤدي استخدام المحدد الإضافي إلى تثبيت بعض التبعيات الاختيارية، مثل خادم Uvicorn، ومحرك النمذجة Jinja2، وما إلى ذلك. إذا كنت تريد الحد الأدنى، لا تُضمِّن الإضافات.
أنشئ ملف main.py بالمحتويات التالية:
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Back4app Containers rocks!"}
هذا هو أبسط تطبيق FastAPI يمكنك كتابته. كان علينا استيراد FastAPI
وتهيئته وتسجيل نقطة النهاية الجذرية. زيارة /
يجب أن تُعيد رسالة حاويات Back4app Containers rocks!
التشغيل والاختبار
لتشغيل تطبيق الويب، يمكنك استخدام خادم Uvicorn ASGI المدمج:
$ uvicorn main:app --reload
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [9528] using WatchFiles
INFO: Started server process [26308]
INFO: Waiting for application startup.
INFO: Application startup complete.
أضفنا علامة --إعادة التحميل
لأننا نريد إعادة تحميل الخادم إذا أجرينا أي تغييرات على الشيفرة المصدرية.
استخدم cURL لإرسال طلب GET
إلى جذر واجهة برمجة التطبيقات:
$ curl http://localhost:8000/
{
"message": "Back4app Containers rocks!"
}
المتطلبات.txt
شيء آخر نحتاج إلى القيام به هو تجميد جميع المتطلبات في ملف requirements.txt. القيام بذلك يمكّن الآخرين من تثبيت جميع التبعيات اللازمة لمشروعنا بسرعة.
$ pip freeze > requirements.txt
fastapi==0.97.0
pydantic==1.10.9
python-dotenv==1.0.0
...
سنستخدم هذا الملف لتثبيت تبعيات Python في عملية بناء صورة Docker.
تطبيق Dockerize
قبل المتابعة، تأكد من وجود Docker على جهازك المحلي. أفضل طريقة للتحقق من ذلك هي تشغيل
docker - الإصدار
في جهازك الطرفي.
ملف إرساء
لإرساء مشروعنا، سنستخدم ملف Dockerfile. ملف Dockerfile هو ملف نصي يحتوي على جميع الأوامر التي يمكن للمستخدم تنفيذها لتجميع صورة.
أنشئ ملف Dockerfile في جذر المشروع هكذا:
# Dockerfile
# Use Alpine Linux as the base image
# we're using it since it's tiny in size (~5 MB)
FROM python:3.9.6-alpine
# Set the working directory
WORKDIR /app
# Set environmental variables
ENV PYTHONDONTWRITEBYTECODE 1 # Prevents Python from writing out .pyc files
ENV PYTHONUNBUFFERED 1 # Keeps Python from buffering stdin/stdout
# Copy over the requirements file and install the dependencies
COPY ./requirements.txt .
RUN pip install --no-cache-dir --upgrade -r ./requirements.txt
# Copy over the source code
COPY . .
# Expose the port
EXPOSE 80
# Run the server
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]
راجع التعليقات لمعرفة كيفية عمل التعليمات المختلفة.
لا تقلق؛ ليس عليك حفظ جميع التعليمات. إذا واجهتك مشكلة في أي وقت، يمكنك دائمًا مراجعة وثائق Docker. بالإضافة إلى ذلك، يمكن العثور على ملفات Dockerfiles لمعظم اللغات والأطر على الإنترنت. ما عليك سوى نسخها وتكييفها حسب احتياجاتك.
.dockerignore
يحتوي مشروعنا على ملفات وأدلة لا نريد تضمينها في صورة Docker. لتجاهلها، يمكننا استخدام ملف .dockerignore.
أنشئ ملف .dockerignore في جذر المشروع :
# .dockerignore
.git/
.idea/
venv/
لا تتردد في إضافة ملفات وأدلة إضافية.
الإنشاء والتشغيل والاختبار
قبل نشر التعليمات البرمجية الخاصة بك على CaaS، تأكد من إنشاء مشروعك وتشغيله بنجاح على جهازك.
ابدأ ببناء صورة Docker:
$ docker build -t fastapi-example:1.0 .
ملخص الحجج
-t fastapi-example:1.0
علامات/اسم الصورة.- يحدد سياق الإنشاء
.
بعد ذلك، تحقق مما إذا كان قد تم إنشاء الصورة بنجاح:
$ docker images
REPOSITORY TAG ID CREATED AT SIZE
fastapi-example 1.0 33feac11707d 4 seconds ago 72.8MB
بعد ذلك استخدم الصورة التي تم إنشاؤها حديثًا لتدوير حاوية جديدة:
$ docker run -p 80:80 --name fastapi-example -d fastapi-example:1.0
ملخص الحجج
-p 80:80
يعرض المنفذ80
.--الاسم-
الحاوية.fastapi
-مثال سريع-اسم-يدير
الحاوية في الوضع المنفصل (دون شغل المحطة الطرفية).Fastapi-example:1.0
يحدد الصورة المراد استخدامها.
تحقق من الحاويات الجارية:
$ docker ps
ID IMAGE COMMAND CREATED PORTS
e67fdeg fastapi-example:1.0 "uvicorn main:app.." 9s ago 0.0.0.0:80->80/tcp
أخيرًا، أرسل طلب GET
إلى فهرس واجهة برمجة التطبيقات لمعرفة ما إذا كانت الرسالة ستصلك:
$ curl http://localhost/
{
"message": "Back4app Containers rocks!"
}
لإيقاف الحاوية، يمكنك استخدام الأمر التالي:
$ docker kill fastapi-example
الدفع إلى GitHub
ستتطلب الخطوات التالية أن يكون لديك حساب GitHub. إذا لم يكن لديك حساب، فقم بالتسجيل. بالإضافة إلى ذلك، تأكد من تثبيت Git وتهيئته على جهازك.
إنشاء مستودع
ستتم إعادة توجيهك إلى لوحة التحكم الخاصة بك عند تسجيل الدخول إلى حساب GitHub الخاص بك. استخدم زر الإضافة في أعلى يمين الشاشة لرؤية نموذج إنشاء المستودع.
بعد ذلك، قم بتسمية مستودعك باسم وصفي وانقر على زر “إنشاء مستودع”.
سيستغرق GitHub بضع لحظات لإنشاء المستودع. بمجرد إنشاء المستودع، ستتم إعادة توجيهك إليه. لاحظ “عنوان URL للمستودع البعيد”.
دفع كود المصدر
للمضي قدماً، انتقل مرة أخرى إلى مشروعك المحلي.
قبل أن تتحكم في شفرتك البرمجية، من الحكمة إنشاء ملف .gitignore. يتيح لك ملف .gitignore تحديد الملفات والدلائل التي لا يجب إضافتها إلى نظام التحكم في الإصدار. يعمل هذا الملف بنفس طريقة عمل ملف .dockerignore.
أنشئ ملف .gitignore في جذر المشروع بالمحتويات التالية :
# .gitignore
.idea/
venv/
.env
build/
لا تتردد في تعديل الملف وفقاً لاحتياجاتك.
بعد ذلك، افتح الطرفية وقم بتشغيل الأمر التالي لتهيئة مستودع Git المحلي:
$ git init
ثم أضف جميع الملفات إلى VCS وأنشئ الالتزام الأولي:
$ git add .
$ git commit -m "my initial commit"
وأخيرًا، أضف أصل GitHub البعيد وادفع الشيفرة المصدرية إليه:
$ git remote add origin <remote_url>
$ git push origin master
تأكد من استبدال بعنوان URL البعيد من الخطوة السابقة.
يجب أن يكون هذا كل شيء. إذا قمت بالتحقق من صفحة مستودع GitHub الآن، يجب أن ترى أنه تمت إضافة جميع الملفات بنجاح.
نشر التطبيق
لنشر تطبيق على Back4app Containers، ستحتاج إلى حساب Back4app. إذا لم يكن لديك حساب حتى الآن، فقم بالتسجيل.
عند تسجيل الدخول، سترى قائمة تطبيقاتك. انقر على زر “إنشاء تطبيق جديد” لبدء عملية إنشاء التطبيق.
يتيح لك تطبيق Back4app نشر نوعين من التطبيقات – إما الواجهة الخلفية كخدمة (BaaS) أو الحاويات كخدمة (CaaS). بما أننا ننشر تطبيقًا في حاويات، اختر خيار “الحاويات كخدمة”.
إذا كنت لا تزال بحاجة إلى ربط ملفك الشخصي في GitHub واستيراد المستودع الذي أنشأناه في الخطوة السابقة. بعد ذلك، حدده.
يسمح لك Back4app Containers بتخصيص النشر بشكل كبير. يمكنك تعيين فرع النشر، والدليل الجذر، وتبديل النشر التلقائي، وتعيين المتغيرات البيئية.
نظرًا لأننا ننشر تطبيقًا بسيطًا، فإننا لا نحتاج إلى أي من هذه الخيارات. ما عليك سوى تعيين “اسم التطبيق” ثم النقر على زر “إنشاء تطبيق”.
ستستغرق حاويات Back4app Containers بضع لحظات لسحب التعليمات البرمجية المصدرية من GitHub، وبناء الصورة، وتدوير حاوية جديدة. بمجرد أن يصبح تطبيقك جاهزًا، ستتغير الحالة إلى “جاهز”.
عندما يحدث ذلك، يمكنك النقر على الرابط الأخضر في الجانب الأيسر من الشاشة لفتح تطبيقك في المتصفح. قد تلاحظ أيضًا أن Back4app Containers أصدر شهادة SSL مجانية لتطبيقك.
عمل جيد، هذا كل شيء!
الخاتمة
في الختام، تكون قد تعرفت على CaaS – أحد أفضل النماذج السحابية الأصلية لبنية الخدمات المصغرة. أنت تعرف الآن ميزاتها الأساسية وفوائدها وقيودها وأفضل بائعي CaaS. علاوة على ذلك، فقد تعلمت كيفية نشر تطبيق بسيط على Back4app Containers على شكل أرصفة.
الكود المصدري للمشروع متاح على مستودع Back4app-containers-fastapi.
خطوات أخرى
- ابحث في الإنشاءات متعددة المراحل لتحسين ملفات Dockerfiles وتسهيل صيانتها.
- من الممارسات الأمنية الجيدة أن تقوم بتشغيل عمليات حاوية Docker Container الخاصة بك مع مستخدم غير الجذر.
- اطلع على مستندات حاويات Back4app Containers لمعرفة كيفية نشر لغات البرمجة وأطر العمل الأخرى.
الأسئلة الشائعة
ما هو الحاويات كخدمة؟
الحاويات كخدمة (CaaS) هو نموذج حوسبة سحابية يتيح للمطورين تحميل وبناء وتوسيع وإدارة الحاويات. الحاويات هي حزم تطبيقات قابلة للتنفيذ صغيرة الحجم يمكن نشرها بسهولة في أي مكان. باستخدام CaaS، لا يحتاج المطورون وفرق العمليات التقنية للقلق بشأن البنية التحتية الأساسية، بل يمكنهم التفكير على مستوى أعلى بكثير.
ما هي مزايا الحاويات كخدمة؟
– تطوير ونشر أسرع
– كفاءة في استخدام الموارد
– قابلية النقل
– قابلية التوسع
– تشغيل مبسط
ما هي عيوب الحاويات كخدمة؟
– مشاكل أمنية
– نقص في السيطرة
– منحنى تعليمي
– استمرارية البيانات
ما هي أفضل مزودي الحاويات كخدمة؟
– Back4app Containers
– Amazon Elastic Container Service (ECS)
– Google Cloud Kubernetes (GKE)
كيف تنشر تطبيقًا باستخدام الحاويات؟
1. برمج التطبيق.
2. ضع التطبيق في Docker واختبره على جهازك المحلي.
3. ادفع الشيفرة المصدرية إلى GitHub.
4. انشر التطبيق على Back4app Containers.