تأثير حديقة الجوراسيك
“إن شئتَ… حسناً، سأخبرك بالمشكلة في القوة العلمية التي تستخدمها هنا؛ لم تتطلب منك أي انضباط لتحقيقها. لقد قرأتَ ما فعله الآخرون وخطوتَ الخطوة التالية. لم تكسب المعرفة بنفسك، لذا لا تتحمل أي مسؤولية عنها. وقفتَ على أكتاف العباقرة لتُنجز شيئاً في أسرع وقت ممكن، وقبل أن تعرف حتى ما لديك، سجّلتَ براءة اختراعه، وعبّأتَه، ووضعتَه على صندوق غداء بلاستيكي، والآن …” – الدكتور إيان مالكولم، حديقة الجوراسيك
عند التفكير في بناء خادم تخزين أو NAS، يشيع الشعور بأن ما هو مطلوب هو "نظام تشغيل NAS". وأجد هذا رد فعل غريباً، إذ لا يعني مصطلح NAS أكثر من "خادم ملفات بواجهة تخزين مخصصة". أو بعبارة أخرى، مجرد خادم ملفات بوظائف مكشوفة محدودة. والسبب في اختيارنا للأجهزة المادية NAS هو الدعم المتكامل وأحياناً للوظائف الخاصة المملوكة (كما هو الحال مع NetApp الذي يُعدّ مثالاً رئيسياً على تكامل SMB وNFS واسع وخيارات RAID وأنظمة ملفات فريدة، أو Exablox الذي يوفر تخزين ملفات موسّعاً مُدارا بالكامل وحماية بأسلوب RAIN). إن استخدام NAS بديلاً عن خادم الملفات التقليدي هو ظاهرة حديثة نسبياً، ووجدتُ أنها كثيراً ما تُحرّكها المفاهيم الخاطئة أو الانطباع بأن إدارة خادم الملفات، وهو أحد أبسط الأحمال في تكنولوجيا المعلومات، أمرٌ خاص أو صعب. وتُعتبر خوادم الملفات عموماً الشكل الأكثر أساسية للخوادم وما كان يقصده الناس تقليدياً بكلمة "خادم" ما لم تُضَف أوصاف إضافية، وهي الشكل الوحيد المتكامل عادةً في أجهزة سطح المكتب (إذ يستطيع كل حاسوب Mac وWindows وLinux سطح المكتب العمل كخادم ملفات وهذا شائع جداً).
لا حرج بالطبع في اللجوء إلى NAS بدلاً من خادم الملفات التقليدي لتلبية احتياجات التخزين، لا سيما أن بعض خيارات NAS الحديثة كـ Exablox توفر خيارات توسعة وتخزين غير متوفرة في معظم أنظمة التشغيل. غير أن الاتجاه نحو استخدام NAS بدلاً من خادم الملفات يبدو أنه أفضى إلى بعض السلوكيات الغريبة حين يعود متخصصو تكنولوجيا المعلومات للنظر في خيارات خادم الملفات مجدداً. يبدو الأمر تأثيراً متتالياً، حيث تضيع الأسباب التي تجعل NAS أحياناً مفضلاً والتفكير على مستوى الأهداف، ويبقى الانطباع بـ"ينبغي أن يكون لدي NAS"، مما يدفع عند العودة للنظر في خيارات خادم الملفات إلى الرغبة في "امتلاك NAS" بصرف النظر عن وجود سبب منطقي لذلك أم لا.
علينا أولاً أن نضع في الاعتبار أن المفهوم العام لـ NAS بسيط: خذ خادم ملفات تقليدياً، وبسّطه بحذف الخيارات، وعبّئه مع كل الأجهزة اللازمة لصنع جهاز مُدمج مُبسَّط مع كل الدعم اللازم من الواجهة وصولاً إلى محركات الأقراص الدوارة وكل شيء بينهما. قد يصعب التخزين حين يحتاج المستخدمون إلى تحديد مستويات RAID وأنواع الأقراص والمراقبة الفعّالة وغير ذلك. يعالج NAS هذا بدمج الأجهزة في المنصة. هذا يبسّط الأمور لكن قد يُضيف مخاطرة إذ تصبح خياراتك في الدعم أقل وقدرتك على الإصلاح أو الاستبدال بنفسك أقل. إن الانتقال من خادم الملفات إلى جهاز NAS يتعلق بالدعم بشكل شبه حصري ويمثل التزاماً قوياً بمورد واحد. تختار منهج NAS لأنك تريد الاعتماد على مورد واحد لكل شيء.
حين ننتقل إلى خادم الملفات نسير في الاتجاه المعاكس. خادم الملفات هو خادم مؤسسي تقليدي كأي خادم آخر. تشتري أجهزة خادمك من مورد واحد (HP أو Dell أو IBM وغيرها) ونظام تشغيلك من مورد آخر (Microsoft أو Red Hat أو Suse وغيرها). تحدد الأجزاء والتكوين الذي تحتاجه ويكون لديك النموذج الحوسبي الأكثر شيوعاً في مجال تكنولوجيا المعلومات. مع هذا النموذج تستخدم عموماً قطعاً قياسية وشائعة مما يتيح لك الانتقال بسهولة بين موردي الأجهزة وبين موردي البرمجيات. لديك خيارات "تكرار الموردين" وكل شيء يُنجز وفق بروتوكولات مفتوحة وقياسية. تحصل على مرونة كبيرة ويمكنك إدارة خادم الملفات ومراقبته تماماً مثل أي عضو آخر في أسطول خوادمك، بما في ذلك إبقائه افتراضياً بالكامل. تتخلى عن التكامل الرأسي لـ NAS في مقابل المرونة الأفقية والتوحيد القياسي.
الغريب في الأمر إذن هو العودة إلى النموذج الشائع لكن مع السعي إلى ما يُعرف بـ "نظام تشغيل NAS". تتضمن الأمثلة الشائعة على ذلك NAS4Free وFreeNAS وOpenFiler. هذه الفئة من المنتجات لا تعدو في الغالب كونها نظام تشغيل قياسي (FreeBSD في الغالب لأنه يمتلك ترخيصاً مثالياً، أو Linux لشهرته الواسعة) مع إضافة "واجهة تخزين" فوقه دون أي وظيفة خاصة أو إضافية لا تتوفر في نظام التشغيل الاعتيادي. من الناحية النظرية هي نظام تشغيل "أحادي الوظيفة" يؤدي مهمة واحدة فقط. لكن هذا ليس الواقع. فهي أنظمة تشغيل للأغراض العامة مع إضافة طبقة إدارة بواجهة رسومية فوقها. يمكن قول الشيء ذاته عن معظم منتجات NAS المادية، لكنها تتضمن عادةً هندسة مخصصة حتى على مستوى التخزين وميزات خاصة وما هو أهم من ذلك حزمة دعم متكاملة وعزل حقيقي لـ"عمومية" نظام التشغيل الأساسي. "نظام تشغيل NAS" ليس نسخة أبسط من نظام التشغيل للأغراض العامة، بل هو نسخة أكثر تعقيداً وأقل وظائف منه.
الغريب أيضاً أن أنظمة التشغيل العامة، باستثناءات نادرة، تأتي أصلاً بواجهات تخزين بسيطة للغاية ومعروفة تماماً ومدعومة بشكل كامل. كل خوادم Windows وLinux تقريباً، على سبيل المثال، تضم منذ وقت طويل واجهات رسومية بسيطة لهذه الوظائف. وكثيراً ما يُعرض مدراء النظام عن هذه الواجهات الرسومية المضمّنة بحجة أنها "ثقيلة وغير ضرورية" لخادم ملفات بسيط. لذا فمن الأكثر غرابة أن يُرغب في إضافة واجهة رسومية من طرف ثالث، غير مُرقّعة ومختبرة من قِبَل فريق نظام التشغيل وغير معروفة ومدعومة بشكل قياسي، وهو ما يتعارض مع المبادئ والممارسات الشائعة في استخدام الخوادم.
وهنا يظهر تأثير حديقة الجوراسيك: موردو أنظمة التشغيل (Red Hat وMicrosoft وOracle وFreeBSD وSuse وCanonical وغيرهم) عمالقة يمتلكون فرق هندسية رائعة ومراجعة للكود واختباراً ورقابةً وأنظمة دعم مؤسسية. في حين أن موردي "نظام تشغيل NAS" عموماً شركات صغيرة جداً، بعضها يُدار بشخص واحد بدوام جزئي، يقفون على أكتاف هؤلاء العمالقة ويبنون شيئاً عرفوا أنهم يستطيعون بناءه لكنهم لم يتوقفوا ليتساءلوا عما إذا كان ينبغي لهم ذلك. المنتجات الناتجة سلبية تماماً مقارنةً بنظيراتها من أنظمة التشغيل الخالصة، فهي لا تُيسّر إدارة الأنظمة ولا تسدّ فجوة في عروض خدمات السوق. التخزين الموثوق والموثوق وسهل الاستخدام متوفر بالفعل، ولا حاجة إلى مزيد من الموردين لملء هذا المكان في السوق.
المنطق المُعتمد عادةً للنظر في نظام تشغيل NAS هو أنها "سهلة الإعداد". وقد يكون هذا صحيحاً أو لا، إذ يجب أن تكون "السهولة" هنا مصطلحاً نسبياً. لكي تكون هناك أي قيمة يجب أن يكون نظام تشغيل NAS أسهل مقارنةً بالنسخة القياسية من نظام التشغيل ذاته. فبالنسبة لـ FreeNAS يعني هذا FreeBSD. يجب أن يكون FreeNAS أسهل بشكل ملحوظ في الإعداد من FreeBSD للوظائف المخصصة ذاتها. وهذا صحيح بسهولة، إذ يكون إعداد نظام تشغيل NAS سهلاً عموماً. لكن هذه السهولة ليست سوى وهم يحتاج متخصصو تكنولوجيا المعلومات إلى الإدراك التام به. إن جعل الإعداد سهلاً ليس الأولوية في مجال تكنولوجيا المعلومات؛ ما يهم هو جعل الشيء سهل التشغيل والإصلاح حين تطرأ مشكلات. السهولة في الإعداد شيء جيد، لكن إن جاءت على حساب عدم فهم طريقة ضبط النظام وتجعل الإصلاحات التشغيلية أكثر صعوبة فهي أمر بالغ السوء. تجعل منتجات نظام تشغيل NAS بشكل روتيني من السهل بصورة خطيرة إدخال منتج إلى الإنتاج لدور تخزين، وهو تقريباً دائماً الدور الأكثر أهمية أو من أكثر الأدوار أهمية في أي بيئة، دون أن يمتلك موظفو تكنولوجيا المعلومات خبرة أو مهارة محتملة في صيانته أو تشغيله أو الأهم من ذلك إصلاحه حين يسوء الحال. نحتاج تماماً إلى العكس: نظام يسهل تشغيله وإصلاحه. هذا ما يهم. إذن لدينا حالة ثانية من "الوقوف على أكتاف العمالقة" وبناء نظام عرفنا أننا نستطيع بناءه، لكننا لم نعرف إن كان ينبغي لنا ذلك.
ما يُفاقم هذه المشكلة هو أن الأشخاص الذين يشعرون بالحاجة إلى اللجوء إلى نظام تشغيل NAS "لتسهيل التخزين" هم، بحكم طبيعة نظام تشغيل NAS ذاته، بالضبط الأشخاص الذين يصعب عليهم أكثر من غيرهم تقديم الدعم التشغيلي وإصلاح النظام. إن مدراء النظام المتمكنين من نظام التشغيل الأساسي لن يروا في نظام تشغيل NAS فائدة وسيتجنبونه في معظم الأحيان. إنهم بالتحديد الأشخاص الذين يشكّل عليهم تشغيل منصة تخزين غير مفهومة بالكامل أكبر خطر وهم من المرجح أن يجربوه. وبالطبع، كما يمكن التوقع، يكسب معظم موردي نظام تشغيل NAS أموالهم من مكالمات الدعم بعد التثبيت للعملاء الذين نشروا المنتج وعلقوا حين دخلوا مرحلة الإنتاج، فيجدون أنفسهم رهينة الموردين بأسعار دعم باهظة. إن مصلحة الموردين تكمن في جعل التثبيت سهلاً والإصلاح صعباً. كل شيء يعمل ضد متخصص تكنولوجيا المعلومات هنا.
إن أخذنا مثالاً شائعاً ونظرنا إلى FreeNAS نستطيع أن نرى كيف أن هذا توافق سيء لـ"الصعوبات". FreeNAS هو FreeBSD مع واجهة إضافية فوقه. كل ما يستطيع FreeNAS فعله يستطيع FreeBSD فعله. لا توجد خسارة في الوظائف بالانتقال إلى FreeBSD. حين يفشل شيء ما، في كلتا الحالتين، يجب أن يمتلك مدير النظام معرفة عملية جيدة بـ FreeBSD لإجراء الإصلاحات. لا مهرب من ذلك. معرفة FreeBSD شائعة في الصناعة والحصول على مساعدة خارجية سهل نسبياً. إن استخدام FreeNAS يُضيف عدة تعقيدات، أكبرها أن أي وكل التخصيصات التي يجريها FreeNAS عبر واجهته تمثّل معرفة خاصة ضرورية لاستكشاف الأخطاء فوق المعرفة المطلوبة أصلاً لتشغيل FreeBSD. لذا فهذه مجموعة معرفة كبيرة إضافة إلى المزيد من الأشياء القابلة للفشل. وهي أيضاً مجموعة معرفة غير شائعة نسبياً، إذ إن FreeNAS منتج تخزين متخصص من مورد صغير بينما FreeBSD منصة تكنولوجيا معلومات مؤسسية رئيسية (علاوة على أن كل استخدام لـ FreeNAS هو استخدام لـ FreeBSD لكن نسبة ضئيلة جداً فقط من استخدام FreeBSD هي FreeNAS). يمكننا أن نرى بذلك أن استخدام نظام تشغيل NAS يُضيف مخاطر مرة بعد مرة.
تنتقل هذه المشكلة ذاتها إلى المجتمعات التي تنشأ حول هذه المنتجات. إن نظرت إلى مجتمعات FreeBSD أو Linux أو Windows للحصول على إرشادات ومساعدة ستتعامل مع أعداد كبيرة من متخصصي تكنولوجيا المعلومات ومدراء النظام المهرة وأصحاب الخبرة التجارية والمؤسسية. بالطبع يشارك أيضاً الهواة وغير المتخصصين وغيرهم، لكن هذه هي منصات تكنولوجيا المعلومات المؤسسية وكل معرفة الصناعة متاحة لك عند تطبيق هذه المنتجات. قارن ذلك بمجتمع نظام تشغيل NAS. بطبيعته، الأشخاص المتعثرون في إدارة نظام تشغيل قياسي و/أو أساسيات التخزين فقط هم من سينظر في حزمة نظام تشغيل NAS، مما يُصفّي عضوية مجتمعاتها طبيعياً ليشمل فقط الأشخاص الذين نُفضّل تجنب أخذ النصيحة منهم. يخلق هذا ثقافة معزولة من المعلومات المغلوطة وسوء الفهم حول التخزين ومنتجاته. تنتشر الأساطير، وكثيراً ما تصبح الإرشادات متهورة وخطيرة وتُتجاهل أفضل الممارسات الصناعية كما لو أن عقوداً من الخبرة المتراكمة لم تحدث قط.
يُدخل نظام تشغيل NAS أيضاً، بشكل شائع، تأخيرات في الترقيع والتحديثات. فنظام تشغيل NAS سيتأخر دائماً تقريباً وبالضرورة عن نظام التشغيل الأصلي في تحديثات الأمان والاستقرار وكثيراً ما يتأخر أشهراً أو سنوات في الميزات الرئيسية. في سيناريو معروف جداً، OpenFiler، بُني المنتج على قاعدة غير مؤسسية من المنبع (RPath Linux) التي افتقرت إلى دعم المجتمع والمورد، وفشلت وتخلى عنها أصحابها تاركين مستخدمي OpenFiler في نهاية المطاف دون النظام البيئي اللازم لدعمهم. إن استخدام نظام تشغيل NAS يعني الثقة ليس فقط بمورد نظام التشغيل الأساسي الكبير والمؤسسي والمعروف الذي يصنع نظام التشغيل القاعدي، بل والثقة بمورد نظام تشغيل NAS أيضاً. ومورد نظام تشغيل NAS أكثر احتمالاً للفشل بمراتب إذا كانوا يبنون منتجاتهم على قواعد من أنظمة التشغيل المؤسسية.
التخزين وظيفة حيوية لا ينبغي التهاون بها وينبغي ألا تُتجاهل كما لو لم تكن حيويتها موجودة. تُغرينا أنظمة تشغيل NAS بالتثبيت السريع ثم النسيان، مع الأمل في ألا يسوء شيء أو في الانتقال إلى أدوار أو شركات أخرى قبل وقوع الكارثة. وهذا يُهيئنا للفشل حيث يكون الفشل الأكثر تأثيراً. حين يفشل خادم تطبيق عادي يمكننا دائماً نسخ الملفات من تخزينه والبدء من جديد. لكن حين يفشل التخزين، تُفقد البيانات وتتوقف الأنظمة.
جون هاموند: كل حدائق الترفيه الكبرى تعاني من تأخيرات. حين افتُتحت ديزني لاند عام 1956 لم يعمل أي شيء!
الدكتور إيان مالكولم: نعم، لكن يا جون، إن تعطّل قراصنة البحر الكاريبي فإن القراصنة لن يأكلوا السياح."
حين يفشل التخزين تفشل الأعمال. إن أخذنا الطريق السهل لإعداد التخزين وتجاهلنا احتياجات الدعم طويلة الأمد وطلبنا النصيحة من مجتمعات تُصفّي بطبيعتها المهندسين المتمرسين في التخزين والأنظمة فإننا نُضاعف المخاطر بشكل كبير. وللأسف، طبيعة نظام تشغيل NAS هي أن السبب ذاته الذي يدفع الناس إليه (غياب المعرفة التقنية العميقة لبناء الأنظمة) هو بالذات السبب الذي يجب أن يدفعهم لتجنبه (الحاجة الأشد إلى الدعم). فالأشخاص الذين يمكنهم استخدام أنظمة تشغيل NAS بأمان فعلي، أي أصحاب المعرفة العميقة والواسعة في التخزين والأنظمة، نادراً ما يأخذون هذه المنتجات بعين الاعتبار لأنها لا تُقدم لهم أي فائدة.
في نهاية المطاف، رغم أن فكرة نظام تشغيل NAS تبدو رائعة، إلا أنها ليست حلاً سحرياً وقيمة NAS لا تنتقل من عالم الأجهزة المادية إلى عالم نظام التشغيل المثبّت، فيما تكون قيمة أنظمة التشغيل القياسية أكبر بكثير من أن تُضيف أنظمة تشغيل NAS قيمة حقيقية فعلاً.
الدكتور ألان غرانت: هاموند، بعد التفكير، قررتُ عدم التوصية بحديقتك.
جون هاموند: وأنا كذلك.”

