تعرف على ما هو ال Vagrant كما عودناكم ان نتحدث عن التكنولوجيات الجديدة والمهمة والتى لم يتعرض لها احد او تكلم عنها فى عالمنا العربى – فسوف نعرض لكم تطبيق وتكنولوجيا جديدة لها اسلوبها الخاص فى العمل ولها اهميتها ونحتاجها فى مهام معينة منذ عدة اسابيع وانا احضر لهذا المقال لان التكنولوجيا مازالت جديدة […]
كما عودناكم ان نتحدث عن التكنولوجيات الجديدة والمهمة والتى لم يتعرض لها احد او تكلم عنها فى عالمنا العربى – فسوف نعرض لكم تطبيق وتكنولوجيا جديدة لها اسلوبها الخاص فى العمل ولها اهميتها ونحتاجها فى مهام معينة
منذ عدة اسابيع وانا احضر لهذا المقال لان التكنولوجيا مازالت جديدة ولها علاقات متفرعة بعدة تكنولوجيات اخرى فحاولت ان اجمع الصور الكاملة لكى اعرضها لكم بشكل كامل
موضوعنا هو عن تطبيق يسمى Vagrant انا بعتبرة انة اكبر من تطبيق واقل من انه يكون تكنولوجيا جديدة وانما هو خليط بين عدة تكنولوجيات وهو يقوم بالربط بينها وسوف نفهم معنى هذا الكلام فى السطور القادمة
منذة فترة طويلة كان يقابلنى اسم Vagrant موجود مع عدة تكنولوجيا من اشهرها Continuer and DevOps لكنى لم اهتم بة
لكن بعد ما ركزت فية وفهمت اسلوبة فى العمل وفائدتة وجدت انه مهم لوظائف مهمة لبعض التخصصات وليس كلها
فى مقالنا هنحاول نبسط فكرت عملة وكيفية الاستفادة منة على حسب دورنا وتخصصنا لانة ينفع تخصصات معينة وليس مناسب للكل
هنقسم مقالنا الى نقاط نتعرف من خلالها على Vagrant
نشاءتة :
ظهر هذا التطبيق عام 2010 كمشروع صغير كان يطورة شخص لحسابة بعد اوقات عملة الرسمية ولكن بعد ذلك تفرغ له واسس شركة باسمة وقام باطلاقة بشكل رسمى واطلق عدة تطبيقات اخرى والشركة تسمى HashiCorp وعندهم العديد من التطبيقات الجديدة ممكن تقروا عنها لان اغلبها صدر منذ مدة قصيرة لكن بعضها مهم
هذا التطبيق مجانى تحت تصنيف ال Open Source واى شخص يمكن الحصول علية واستخدامه
فكرتة :
يقوم هذا التطبيق بالربط والعمل على عدة تكنولوجيات مختلفة ودمجها مع بعضها للحصول على بيئة عمل مثالية للمبرمجين ومطورى الويب فهو يقوم بعمل Virtual Machine تحتوى على OS وتطبيقات المبرمجين وتشغيلها على Host معين والدخول على هذة ال VM مباشرتا بدون ما تحتاج الى معرفة ال IP الخاص بها او شئ والتعامل مع التطبيقات التى بداخلها بدون الدخول اليها وحتى عمل تغيير فى هذة ال VM واضافة تطبيقات جديدة وعمل script وعمل Provision عن طريق تطبيقات ال DevOps وعمل نشر لمحتوى هذا ال VM ومشاركتها مع اخرين سواء internal or Cloud كل هذا بدون الدخول او التعامل مباشرتا مع ال VM او ال OS وانما من الخارج
فنجد انه دمج بين تكنولوجيا ال VT and DevOps and Script and Provisioning
كل دة لتوفير بيئة عمل مثالية للناس المبرمجين والمطورين سواء تطبيقات او ويب – واصبح الان يمكن الحصول على بيئة جاهزة بكل ما يحتاجة فى دقائق والعمل عليها على اى نظام تشتغيل وفى اى وقت ومن اى مكان
كيفية عملة :
لفهم طريفة عملة يجب ان نتعرف على مكوناتة الاساسية وهى
Boxوهو عبارة عن ال VM تحتوى على ال OS وبداخلة التطبيقات الخاصة بالمبرمجين وهى تاتى جاهزة بهذة الشكل ويمكن ان يكون ال OS ويندوز او لينكس وهناك العشرات من هذة ال Box جاهزة للعمل مباشرتا وبداخلها تطبيقات كثيرة
Providerوهو عبارة عن ال Virtual application التى سوف تعمل داخلة ال VM وهنا نتكلم على مستوى ال virtual desktop application مثل ال VMware workstation , fusion , virtual box وغيرها والتطبيق مصمم للعمل على ال virtual box كوضع افتراضى لانة مجانى
Vagrant file وهو عبارة عن ملف بداخلة نجد كل اعدادات ال VM والبيانات الخاصة بها ويمكن من خلاله اضافة اوامر جديدة او اضافة script تعمل داخل ال VM اول ما تعمل وهو مهم جدا كرابط بين ال VM وبين العالم الخارجى
provisioners. وهو عبارة عن التطبيقات التى تقوم بعمل Script او بمعنى اكثر احترافى وهو ال DevOps وهنا اريع شركات تقوم بهذا الموضوع وهم Puppet-salt-insable-chef ونقوم بعمل script باحدى هذة التطبيقات ونقوم بدمجها داخل ال VM من خلال ملف ال Vagrant file ولا نحتاج الدخول الى ال VM
بوجود هذة الادوات يمكن الان الحصول على Box جاهز وتشتغيلة داخل احدى تطبيقات ال virtual وتعديل ملف vagrant file واضافة اى script داخل يكون مكتوب باحدى تطبيقات ال DevOps
بعد بدء العمل يمكن التعامل بتطبيقات المبرمجين الموجودة داخل الBox مثل ال Apache and DB وعمل على سبيل المثال مواقع جديدة ونشرها مباشرتا من داخل ال Box ويمكن نقل هذة ال Box على جهاز اخر يعمل بنظام تشتغيل مختلف او نشرة على الانترنت من خلال خدمة ال vagrant cloud او amazon aws
فوائدة:
عمل بيئة عمل جاهزة خلال دقائق للعمل على اى جهاز وفى اى وقت واى مكان
الحصول على نسخ موحدة من بيئة العمل الجاهزة بمعنى انه يمكن ان يقوم عدة اشخاص فى الفريق معك بالعمل على نفس ال Box عن طريق اخذ نسخة منة فبذلك نكون متاكدين ان لديهم نفس ال OS والتطبيقات وكل شئ
لن تحتاج الى خبرة للعمل مع ال Virtual او OS وسوف تعمل مباشرتا على التطبيقات الموجودة داخل ال Box من خلال جهازك حتى بدون فتح ال OS الموجود داخل ال Box
يمكن عمل خفظ لكل شئ او عمل منة versions من خلال خطوات ومراحل العمل وعمل Export لها ونقلها لاشخاص اخرين او نشرها على الانترنت
التطبيق بالكامل مجانى
ملخص :
يعتبر تطبيق Vagrant فكرتة تعتبر بسيطة لكن جمعت عدة تكنولوجيات مع بعض وسهلت العمل عليها بدون الدخول فيها بعمق – يمكن البعض وانا منهم كنت بعتقد انة مثل ال Virtual appliance لكن عندما تعاملت معة تبين انه اكبر من هذا بكثير
حتى الان هذا التطبيق مصمم خصيصا للمبرمجين وحتى للعمل فى بيئة Dev and test ولا يستخدم فى مرحلة ال Production
متوقع ان يكون فية تطوير الفترة القادمة ويخدم تخصصات اخرى