دليل نشر حاويات Docker على السحابة باستخدام AWS Lightsail

دقائق القراءة: 6

مقدمة: لماذا أصبح نشر الحاويات على السحابة خياراً عملياً؟

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

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

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

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

نشر الحاويات السحابية باستخدام Docker وAWS Lightsail

ما هي AWS؟

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

الاعتماد على السحابة بدلاً من الخوادم المحلية التقليدية يمنح الشركات والمطورين مزايا واضحة، من أبرزها:

  • خفض التكاليف التشغيلية والبنية التحتية.
  • تسريع إطلاق المنتجات والخدمات.
  • زيادة المرونة في التوسع أو تقليل الموارد حسب الحاجة.
  • الاستفادة من بنية موثوقة وآمنة دون إدارة كل التفاصيل يدوياً.

ما هو Amazon Lightsail؟

Amazon Lightsail هو أحد خدمات AWS المصممة لتبسيط تجربة النشر السحابي. يتيح لك تشغيل التطبيقات والمواقع وقواعد البيانات ومكونات البنية الأساسية من خلال واجهة أسهل وتسعير أكثر وضوحاً من كثير من الخدمات السحابية الأخرى.

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

وعلى الرغم من سهولة استخدامه، فإن Lightsail يعتمد في الخلفية على خدمات قوية من AWS مثل Amazon EC2 وAmazon RDS، ما يعني أنك تستفيد من مستوى جيد من الاعتمادية والأمان وقابلية التوسع.

وفي نهاية عام 2020 أضافت الخدمة دعماً لنشر الحاويات مباشرة إلى السحابة. كل ما تحتاج إليه هو توفير صورة Docker، وسيتولى Lightsail نشرها وتجهيز نقطة وصول عبر HTTPS، بالإضافة إلى إدارة موازنة الأحمال وتشغيل التطبيق.

كيف يعمل نشر الحاويات عبر Lightsail؟

سنفترض في هذا الدليل أنك تملك تطبيقاً بسيطاً مبنياً باستخدام Node.js وتم تغليفه مسبقاً داخل صورة حاوية. كما سننطلق من مرحلة رفع الصورة إلى Docker Hub، وهي النقطة التي تتوقف عندها كثير من الشروحات التعليمية.

صورة تطبيق Docker مرفوعة إلى Docker Hub استعداداً للنشر

الخطوة الأولى: إعداد حساب AWS

قبل البدء، تحتاج إلى إنشاء حساب على AWS. سيتم استخدام هذا الحساب لنشر الحاويات وإدارة الخدمة.

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

من المهم معرفة أن إنشاء حساب AWS بحد ذاته لا يفرض رسوماً. أنت تدفع فقط عند استخدام الخدمات المدفوعة فعلياً.

الخطوة الثانية: إنشاء خدمة الحاويات في Lightsail

بعد تجهيز حسابك ورفع صورة التطبيق إلى Docker Hub، سجّل الدخول إلى حسابك ثم انتقل إلى Amazon Lightsail.

الواجهة الرئيسية لخدمة Amazon Lightsail داخل AWS

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

تبويب الحاويات في Amazon Lightsail لإنشاء خدمة جديدة

اختيار المنطقة المناسبة

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

اختيار المنطقة الجغرافية عند إنشاء خدمة حاويات في AWS Lightsail

تحديد حجم الموارد والتكلفة

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

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

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

اختيار الخطة والموارد والتكلفة لخدمة الحاويات في Amazon Lightsail

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

إعداد الحاوية وآلية التشغيل

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

لكل حاوية ستقوم بإدخال المعلومات التالية:

  1. اسم الحاوية.
  2. رابط صورة الحاوية من Docker Hub.
  3. إعدادات التشغيل والوصول.

في المثال المذكور، يتم فتح المنفذ 3000 باستخدام بروتوكول HTTP حتى يصبح التطبيق متاحاً عبر هذا المنفذ.

إعداد صورة الحاوية والمنفذ العام داخل خدمة Lightsail

تحديد نقطة وصول عامة للتطبيق

الخطوة الأخيرة في الإعداد هي إنشاء Public Endpoint. من خلال هذا الخيار تحدد أي حاوية تريد كشفها على الإنترنت حتى يتمكن المستخدمون من الوصول إليها مباشرة.

إعداد نقطة وصول عامة للحاوية في Amazon Lightsail

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

بدء نشر التطبيق الحاوياتي على AWS Lightsail

الوصول إلى التطبيق بعد النشر

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

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

النطاق العام والخاص لخدمة الحاويات بعد النشر في Lightsail

مزايا استخدام Amazon Lightsail لنشر حاويات Docker

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

متى يكون Lightsail خياراً مناسباً؟

تُعد هذه الخدمة مناسبة بشكل خاص في الحالات التالية:

  • عند نشر تطبيق ويب بسيط أو متوسط الحجم.
  • عند بناء نموذج أولي MVP بسرعة.
  • عندما ترغب في دخول عالم AWS دون تعقيد كبير.
  • إذا كنت تحتاج إلى نشر حاوية واحدة أو عدد محدود من الحاويات.

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

مراقبة الأداء وتعديل الموارد

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

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

ربط نطاق مخصص بالتطبيق

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

أفضل الممارسات قبل نشر الحاويات على Lightsail

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

الخلاصة التقنية

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *