دليل المبتدئين

شرح للمكدس الفني وكيفية اختيار الصحيح

يظهر المكدس الفني في جميع الأنظمة الأساسية ويذكره جميع المطورين.

تصوير فاديم شيرباكوف على Unsplash

دعنا نقوم بالبحث أو الانضمام إلى مؤتمر حول تطوير البرمجيات أو DevOps ، نحصل على العديد من النتائج بعبارات: مكدس LAMP ، مكدس MEAN ، مكدس MERN ، ... خلال المرحلة المبكرة من بناء المنتجات ، يشير الناس أيضًا إلى أهمية اختيار المكدس التقني الصحيح . فماذا يعني ، ولماذا هو مهم؟

ما هو المكدس؟

تذكرت الأيام الأولى للعمل في شركة ، كان الأمر مثيرًا للغاية عند إعداد المشروع الأول ، في المرة الأولى التي سمعت فيها عن الكثير من المصطلحات الجديدة: Vagrant ، Symfony ، Nginx ، Load Balancing ، CI Runners ، ... "مثيرة ، الكثير أشياء في مشروع واحد !! "، شعرت بسعادة غامرة. لم يسبق لي أن سمعت عنهم من قبل منذ أن كنت متعلمًا ذاتيًا ، ولم أأت إلى المدارس ولم يكن لدي أصدقاء في شبكتي. بعد العمل لبعض الوقت ، أدركت مجموعة ما أدرجته ، ويسمى المكدس الفني. لا يحتوي النظام القابل للتشغيل بالكامل على الرموز فحسب ، بل يحتوي أيضًا على نظام التشغيل والبرامج المطلوبة مثل خادم الويب ، وقاعدة البيانات ، ... نقوم بتجميع تلك الأجزاء ، مثل لعب Lego ، في مكدس.

Technical Stack أو Solution Stack ، عبارة عن مجموعة من الأجهزة والبرامج المختلفة التي تتفاعل مع بعضها البعض ، مما يجعل منصة كاملة.
تشريح المكدس الفني.

كيف تبدو المكدس؟

هناك مكونات شائعة في المكدس ويلعب كل مكون دورًا محددًا:

  • نظام التشغيل
  • خادم HTTP
  • خادم قاعدة البيانات
  • لغة الخادم

على سبيل المثال ، تتضمن حزمة LAMP:

  • لينكس
  • اباتشي
  • MySQL أو MariaDB
  • PHP أو Python

توضح الصورة أعلاه عملية تطبيق ويب بسيطة. لنفترض أن مكدس LAMP ، يعمل الخادم بنظام التشغيل Linux ، ويلعب Apache كخادم HTTP. عندما يرسل المستخدم طلبًا ، يتحقق خادم HTTP من الطلب ويسلمه إلى خادم التطبيقات ، في هذه الحالة ، يكون PHP. قد يجلب التطبيق البيانات من قاعدة البيانات ، MySQL ، ويعيد الاستجابة بتنسيق JSON / XML / HTML.

يوفر معظم موفري الاستضافة (AWS و GCP و Digital Ocean و ...) في الوقت الحاضر روابط سريعة تساعدنا في إعداد مجموعات مشتركة في ثوانٍ. إذا كنت ترغب في فهم كيفية عملها عمليًا ، يمكنك شراء مثيل Linux نظيف ومحاولة تثبيت المكونات بنفسك ، فهذا يستحق الوقت.

كيف تختار المكدس الصحيح؟

عادة ما يعتمد على مستوى ، ومعرفة الفريق. إذا اعتاد زملائك في الفريق على تطوير PHP ، فإن LAMP stack هو الخيار الأفضل. إذا كانوا بارعين في ASP.NET ، فربما تريد نظام Microsoft البيئي.

يستخدم Slack أيضًا LAMP. (مصدر)

في بعض الأحيان ، يتم اختيار المكدس بناءً على نمو الشركات. يعد تويتر مثالًا جيدًا ، فقد استخدمت الشركة Ruby on Rails في البداية ولكنها أعلنت إعادة الكتابة في Java / Scala في عام 2010 للتعامل مع حركة المرور الأكبر.

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

الأكوام الشعبية

مكدس LAMP

المكدس الأكثر استخدامًا الذي تستخدمه معظم مواقع الويب. وهي تحتوي على: Linux و Apache و MySQL و PHP / Python / Perl. يتم تشغيل أنظمة إدارة المحتوى المعروفة مثل Wordpress ، Drupal على أساس هذا المكدس.

صورة من DigitalOcean.

الشيء العظيم عند استخدام LAMP هو أن جميع مكوناته هي مصادر مفتوحة ، ويمكن الحصول بسهولة على مساعدة من مجتمع كبير ، وخادم Linux بأسعار معقولة.

هناك بعض متغيرات هذا المكدس:

  • MAMP - MacOS
  • WAMP - Windows
  • XAMPP - عبر منصة
  • LEMP - استبدل أباتشي بـ Nginx

مكدس يعني

واحدة من المداخن الأكثر شهرة في السنوات الأخيرة ، تشمل: MongoDB و Express و Angular و NodeJS. متغير آخر هو MERN ، عن طريق استبدال Angular بـ React.

في رأيي ، هذا ليس كومة لأنه لا يوجد نظام تشغيل. لا يستخدم NodeJS للتعليمات البرمجية من جانب الخادم فحسب ، بل يعمل أيضًا كخادم ويب. في الممارسة العملية ، يجب أن نستخدم Nginx كخادم وكيل ونضع عملية NodeJS في الخلف للتعامل مع حركة المرور بشكل أفضل.

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

مكدس WISA

يحتوي هذا المكدس على: Windows و IIS و SQL Server و ASP.NET. نشيد جميع مايكروسوفت!

تستخدم WISA في الغالب من قبل الشركات الكبيرة ، نظرًا لرسوم الترخيص الباهظة الثمن (Visual Studio ، Windows ، SQL Server ، ...). الإيجابيات هي النمو السريع والقابلية للصيانة. لغة C # هي لغة راسخة تمامًا ، ASP.NET شريك جيد مع SQL Server و Microsoft يمنحنا الكثير من الأدوات المفيدة. يبدو الأمر وكأنك لاعب ألعاب مميز.

ومع ذلك ، أصبحت C # الآن لغة مفتوحة المصدر. هناك Visual Studio لنظام التشغيل Mac ، ولد .NET Core ، وتم إصدار SQL Server لنظام التشغيل Linux وفي المستقبل ، قد نتمكن من تشغيل مكدس Microsoft على Linux؟

كلماتي الأخيرة

يمتلك كل مطور حزمة فنية خاصة به. لا يوجد صواب أو خطأ ، يعتمد ذلك على العديد من العوامل: الميزانية ، الألفة ، السوق ، السياق ، الموعد النهائي ، ... لا يوجد أيضًا قيود على المكونات الموجودة في المكدس ، كما يمكنك استبدال MySQL في LAMP بـ PostgreSQL. وبالتالي ، نصيحتي هي اختيار الشخص الذي تشعر أنت وفريقك بالراحة معه وتقديم طلب رائع.

المراجع

  • اختيار مجموعة البرامج المناسبة لموقعك على الويب
  • كومة الحل - ويكيبيديا