لم تعد العملية التي تستغرق وقتًا طويلاً لتكوين الموارد المطلوبة واحدة تلو الأخرى ضرورية لنشر تطبيقات الويب والخوادم.
تم إنشاء منتجات النظام الأساسي كخدمة (PaaS) مثل AWS Elastic Beanstalk و Heroku للسماح يتم نشر التطبيقات وإتاحتها للمستخدمين مع القليل من التعليمات البرمجية أو بدونها وعدد قليل من الأزرار نقرات.
إذن ، ما هو AWS Elastic Beanstalk ، وكيف يمكنك نشر تطبيقات Go web في السحابة باستخدام Elastic Beanstalk؟
ما هو AWS Elastic Beanstalk؟
AWS Elastic Beanstalk (AWS EB) عبارة عن منتج أساسي كخدمة تقدمه Amazon Web Services والذي يسمح بنشر وإدارة التطبيقات والموارد المطلوبة بسرعة وسهولة.
باستخدام Elastic Beanstalk ، من السهل نشر تطبيق دون الحاجة إلى إعداد جميع الموارد المطلوبة مثل ملف خادم لينكس على EC2، أو خدمة مراقبة في Cloudwatch. يتعامل Elastic Beanstalk مع جميع عمليات إعداد الموارد ، ويسمح لك بنشر أنواع مختلفة من التطبيقات ، بما في ذلك Node.js و Golang و PHP و Docker وما إلى ذلك.
إنشاء خادم ويب Golang بسيط
لغرض هذا البرنامج التعليمي ، يجب أن يكون لديك تطبيق Golang عامل للنشر على AWS Elastic Beanstalk ، لذلك في هذا القسم ، يتم إنشاء خادم ويب Go بسيط.
أنت بحاجة إلى إعداد بيئة تطوير Golang على جهازك للمتابعة في هذا القسم.
تتمثل الخطوة الأولى في تهيئة مشروع Golang الجديد والذي يمكن تنفيذه من الجهاز عن طريق تشغيل الأوامر التالية:
بمجرد الانتهاء من ذلك ، يمكنك فتح دليل المشروع في IDE المفضل لديك. في دليل المشروع الجذر الخاص بك ، قم بإنشاء مجلد باسم ثابتة وإنشاء ملف index.html ملف فيه. انسخ الكود التالي والصقه في ملف HTML واحفظه.
لغة البرمجة>
<لغة البرمجةلانج="ar">
<رأس>
<ميتامحارف="UTF-8">
<عنوان>مرحبا بالعالم!عنوان>
رأس>
<جسم>
<h1>مرحبًا بالعالم من Elastic Beanstalkh1>
جسم>
لغة البرمجة>
ارجع إلى الدليل الجذر لمشروعك وأنشئ ملف application.go ملف. انسخ والصق الرمز أدناه في ملف application.go ملف وحفظه. يجب عليك تسمية الملف الرئيسي application.go لأن هذا هو الملف الذي سيبحث عنه Elastic Beanstalk لبناء تطبيقك أثناء عملية النشر.
طَرد رئيسي
يستورد (
"سجل"
"net / http"
)funcرئيسي() {
ثابت: = http. FileServer (http. دير ("./ثابتة"))
http. مقبض("/"، ثابتة)
سجل. فادح (http. استمع و سيرف (":5000", لا شيء))
}
يستخدم Elastic Beanstalk افتراضيًا تكوين NGINX الذي يعيد توجيه الطلبات إلى التطبيق الخاص بك على المنفذ 5000 فقط. باستثناء أنك ستتجاوز تكوينات NGINX الافتراضية ، يجب أن يستمع تطبيق Golang دائمًا للطلبات على المنفذ 5000.
إذا قمت بحفظ الملف وتشغيل البرنامج في المحطة باستخدام اذهب قم بتشغيل application.go، ستكون قادرًا على معاينة صفحة الويب الثابتة عن طريق فتح العنوان المضيف المحلي: 5000 في متصفحك.
لديك الآن نموذج التطبيق الخاص بك الذي تم إنشاؤه وجاهزًا للنشر. في القسم التالي ، ستقوم بنشر التطبيق على AWS Elastic Beanstalk.
نشر تطبيق Go على AWS Elastic Beanstalk
لنشر تطبيق على أي خدمة AWS ، مثل Elastic Beanstalk ، فإنك تحتاج إلى حساب AWS على السحابة. إذا لم يكن لديك حساب AWS حاليًا ، فانتقل إلى صفحة التسجيل في AWS لإنشاء واحدة جديدة مجانًا.
هناك عدة طرق لنشر التطبيقات على Elastic Beanstalk ، بما في ذلك AWS CLI وواجهة سطر أوامر Elastic Beanstalk (EB CLI) ، ومن وحدة تحكم الويب ، ولكن في هذا البرنامج التعليمي ، ستتعلم كيفية النشر إلى Elastic Beanstalk من الجهاز باستخدام EB CLI أداة.
يمكنك التحقق من دليل تثبيت AWS EB CLI للحصول على دليل مفصل حول كيفية تثبيت وتهيئة EB CLI للمتابعة في هذا القسم. بمجرد الانتهاء من تثبيت وتكوين EB CLI ، يمكنك الآن المضي قدمًا واتباع الخطوات أدناه لنشر تطبيق Golang الخاص بك.
- افتح نافذة طرفية جديدة وانتقل إلى مجلد المشروع لتطبيق Go ليتم نشره باستخدام ملف قرص مضغوط يأمر.
- يجري الحرف الأول لتهيئة مستودع Elastic Beanstalk CLI جديد. نظرًا لكونك تقوم بتشغيل هذا الأمر لأول مرة بعد التثبيت ، سيطالبك EB CLI بخيارات الإعداد الأولية كما هو موضح في الخطوات التالية.
- بعد اختيار منطقة مفضلة ، يتعين عليك إعداد بيانات اعتماد هوية الأمان (معرف مفتاح الوصول والمفتاح السري). يوجد دليل شامل مقدم من AWS بشأن إنشاء بيانات اعتماد الأمان في وحدة تحكم AWS.
- بعد ذلك ، عليك تحديد اسم التطبيق الذي تنشره. بشكل افتراضي ، يستخدم هذا اسم مجلد المشروع الحالي الخاص بك.
- تتمثل الخطوة التالية في تحديد النظام الأساسي للتطبيق الذي أنت على وشك نشره ، وفي هذه الحالة ، يجب عليك تحديد الخيار الرابع نظرًا لأنك تقوم بنشر تطبيق Golang.
- يسألك الموجه التالي عما إذا كنت ترغب في تمكين اتصال SSH لتطبيقك المنشور. يوصى بهذا لأنه يتيح سهولة الوصول عن بُعد وتصحيح الأخطاء لتطبيقك ، ولكن في هذا البرنامج التعليمي ، لا تم تحديده ، لأنه مجرد تطبيق بسيط.
السطر الذي يشير إلى أنه لا يمكن إعداد CodeCommit لا يدعو للقلق ، لأنه يرجع إلى حقيقة أن Git أو أي عنصر تحكم آخر بالمصادر لا يتم استخدامه في المشروع في هذا المثال.
- بعد إكمال الخطوات المذكورة أعلاه ، سيتم إنشاء مستودع Elastic Beanstalk CLI جديد ويمكنك الآن إنشاء بيئة Elastic Beanstalk لنشر تطبيقك في الخطوات التالية.
- يجري إنشاء "اسم بيئة" لإنشاء بيئة جديدة تسمى المحدد اسم البيئة. يتم إنشاء البيئة باستخدام جميع الموارد المطلوبة بما في ذلك مثيل EC2 ومجموعة القياس التلقائي وحاوية S3 وموازن التحميل وما إلى ذلك. تستغرق هذه العملية حوالي 5-10 دقائق حسب سرعة الشبكة.
تمامًا مثلما تفعل نشر موقع ويب ثابت على AWS، يتم أيضًا تعيين عنوان URL لتطبيق EB الخاص بك (محدد في المربع الأحمر في لقطة الشاشة أعلاه) والذي يمكنك استخدامه للوصول إلى تطبيق الويب الخاص بك.
- بمجرد الانتهاء بنجاح ، يكون التطبيق جاهزًا للمعاينة ، ويمكنك تشغيله مفتوحة eb لفتح التطبيق المنشور في متصفحك. يجب أن ترى الآن مرحبا بالعالم معروض في متصفح الويب الخاص بك باستخدام عنوان URL المخصص له بواسطة Elastic Beanstalk.
كلما قمت بإجراء تغيير على التطبيق الخاص بك ، يمكنك تشغيل نشر eb لدفع آخر التحديثات إلى Elastic Beanstalk. ولإغلاق التطبيق الخاص بك وجميع موارده ، يمكنك تشغيل إنهاء eb.
لقد نجحت الآن في نشر تطبيق ويب Golang على AWS Elastic Beanstalk باستخدام أداة Elastic Beanstalk CLI. العملية سهلة للغاية ويمكن اتباعها لنشر أي شكل من أشكال تطبيقات الويب Golang في Elastic Beanstalk.
يمكنك التحقق من لوحة معلومات Elastic Beanstalk في وحدة تحكم AWS لعرض الحالة أو أي معلومات أخرى حول بيئتك وتطبيقك.
نشر تطبيقات الويب على Elastic Beanstalk
Elastic Beanstalk هي طريقة موثوقة لنقل تطبيقاتك من المحلية إلى العيش في خطوات سهلة للغاية. يمكنك بسهولة نشر وإدارة تطبيقاتك الصغيرة والكبيرة باستخدام أي من الوسائل التي توفرها AWS بما في ذلك وحدة تحكم الويب أو AWS CLI أو EB CLI أو AWS APIs أو AWS SDK.
لمزيد من الممارسة مع المعرفة المكتسبة من هذه المقالة ، يمكنك التفكير في إنشاء واجهة برمجة تطبيقات CRUD باستخدام Go ونشرها في Elastic Beanstalk.