سرد الاختلافات بين الحاويات والأجهزة الظاهرية

مكتمل

يحتاج مسؤول Contoso Windows Server إلى تحديد أحمال العمل والسيناريوهات المناسبة للأجهزة الظاهرية وأيها أكثر ملاءمة للحاويات. سيقيمون خصائص الجهاز الظاهري وأحمال عمل الحاوية، والسيناريوهات التي يمكن استخدامها فيها، وفي الظروف التي يمكن فيها استخدام أحمال عمل الحاوية لزيادة الكفاءة.

الأجهزة الظاهرية مقابل الحاويات

تعد كل من الأجهزة الظاهرية والحاويات تكنولوجيات للظاهرية تستخدم لتوفير بيئات حوسبة معزولة ومحمولة للتطبيقات والخدمات:

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

  • أما الحاويات (كما سبق وصفها) فهي تبني على نواة نظام التشغيل المضيف وتحتوي على عملية وضع مستخدم معزولة للتطبيق المحزّم. ويساعد هذا على جعل الحاويات شديدة الخفة وسريعة التشغيل. تختلف عن الأجهزة الظاهرية، يمكن نقل الحاويات بسهولة من التطوير، إلى الاختبار، إلى بيئات الإنتاج. ومع ذلك، نظرا لأن نظام التشغيل ليس هو نفسه تماما، لا تعمل جميع التطبيقات بنفس (أو على الإطلاق) على بيئة حاوية.

أوجه التشابه والاختلافات

يلخص الجدول التالي أوجه التشابه والاختلاف بين ميزات كل من الأجهزة الظاهرية والحاويات.

الميزة الجهاز الظاهري الحاوية
العزل يوفر عزلاً كاملاً عن نظام التشغيل المضيف والأجهزة الظاهرية الأخرى. توفر عزلاً خفيفًا عن المضيف والحاويات الأخرى.
نظام التشغيل يدير نظام تشغيل كاملاً، بما في ذلك النواة. تشغل جزء وضع المستخدم في نظام التشغيل فقط.
توافق الضيف قادر على تشغيل أي نظام تشغيل مدعوم داخل الجهاز الظاهري تتطلب حاويات Windows مطابقة إصدارات نظام تشغيل المضيف والحاوية. (يرجى الاطلاع على وضع العزل لمزيد من التفاصيل والبدائل)
التوزيع يتم توزيعه باستخدام إدارة Hyper-V أو أدوات إدارة الأجهزة الظاهرية الأخرى. يتم نشرها وإدارتها باستخدام Docker أو وقت تشغيل حاوية آخر. يمكن توزيع حاويات متعددة باستخدام مُنسق مثل Kubernetes.
التخزين الثابت يستخدم ملفات القرص الثابت الظاهري أو مشاركة Server Message Block (SMB). لا تستمر البيانات عندما لا تكون الحاوية موجودة. لاستمرار البيانات في حاوية مع Windows Server، يلزم استخدام التخزين المستمر.
موازنة التحميل وقابلية الوصول العالية يستخدم نظام مجموعة تجاوز فشل Windows أو موازن تحميل Windows لنقل الأجهزة الظاهرية حسب الحاجة ودعم مستوى الصوت الأعلى. يستخدم منسق حاوية لبدء تشغيل الحاويات وإيقافها تلقائيا، والتحجيم التلقائي، ودعم نسبة استخدام الشبكة الإضافية.
الشبكات يستخدم محولات شبكة الاتصال الظاهرية. تتوفر خيارات شبكة مختلفة اعتمادا على السيناريو. الافتراضي هو شبكة ترجمة عناوين الشبكة (NAT) التي تستخدم مفتاحا داخليا وخرائط المنافذ من المضيف إلى الحاوية.

إشعار

ومن الشائع توفير حاويات داخل جهاز ظاهري محسّن للغاية لتوفير عزل وأمان محسنين.

مزايا الحاويات

على مستوى عالٍ، الحاويات:

  • تتطلب موارد قليلة نسبيًا. فهي أقل كثافة في الموارد من الأجهزة الظاهرية.

  • تبدأ بسرعة. أوقات بدء تشغيل الحاوية مساوية تقريبًا للوقت المطلوب لبدء عملية جديدة.

  • تحسّن كثافة الخادم. تمكّن الحاويات من استخدام الذاكرة والقرص وCPU بشكل أكثر كفاءة في الأجهزة المتوفرة من الأجهزة الظاهرية. يؤدي هذا إلى عدد أقل من الخوادم الخاملة، ما ينتج عنه استخدام أفضل لموارد الحساب الموجودة. وهذا مهم بشكل خاص لموفري السحابة والمستخدمين لأنه يمكن أن يقلل من التكاليف.

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

يوفر الرسم التالي مقارنة للعزل والكفاءة بين أجهزة الكمبيوتر والأجهزة الظاهرية والحاويات والعمليات، ويوضح الآتي:

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

  • توفر العمليات أكبر درجة من الكفاءة، وفي المقابل كثافة معقولة. الحاويات، والأجهزة الظاهرية، وأجهزة الكمبيوتر هي على التوالي أقل كفاءة.

  • تتم مشاركة الأجهزة، والنواة، وموارد النظام (مثل نظام الملفات):

    • تشارك الأجهزة الظاهرية الأجهزة فقط.

    • تشارك الحاويات الأجهزة والنواة (باستثناء حاويات Windows Hyper-V، التي لا تشارك النواة).

    • تشارك العمليات الأجهزة، والنواة، وموارد النظام.

    • لا تشارك أجهزة الكمبيوتر أيًا منها.

رسم تخطيطي يوضح مقارنة العزل والكفاءة بين أجهزة الكمبيوتر الشخصية والأجهزة الظاهرية والحاويات والعمليات.

تلميح

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

لدى المنسقين مثل Kubernetes تنفيذها الخاص للتخزين المستمر.

تنبيه

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

متى تختار جهازا ظاهريا

استخدم جهازًا ظاهريًا عندما:

  • تحتاج إلى إدارة أنظمة تشغيل متعددة.

  • تحتاج إلى تشغيل تطبيق يتطلب جميع الموارد والخدمات لنظام تشغيل كامل، مثل واجهة المستخدم الرسومية (GUI).

  • تحتاج إلى بيئة تحافظ على التغييرات وتكون ثابتة. مثال: قواعد البيانات ليست مرشحة جيدة لتشغيلها على حاويات.

  • تتطلب عزلاً وأمانًا كاملين.

متى تختار حاوية

استخدم حاوية عندما:

  • تحتاج إلى حزمة تطبيق خفيفة تبدأ بسرعة.

  • تحتاج إلى نشر مثيلات متعددة من تطبيق واحد - هناك حاجة إلى مقياس تلقائي و/أو مقياس أفقي.

  • تحتاج إلى تشغيل تطبيق أو عملية غير مستمرة على أساس الطلب.

  • تحتاج إلى توزيع تطبيق يمكن تشغيله على أي بنية أساسية.