شهادة MCSA الفصل 13 : الحاويات (Containers) الجزء 1

sparrow
0

 



الفصل : 13

الجزء : 1

العنوان : الحاويات (Containers)







الكثير من التقنيات الجديدة المضمنة في Windows Server 2022 تم تصميمها لتعكس القدرات التي يوفرها الحوسبة السحابية، مما يجلب الحياة إلى السحابات الخاصة والهجينة لديك ويمنحك القدرة على إنتاج نفس الحلول التي توفرها لك مقدمي الخدمات السحابية العامة ضمن البنية التحتية المادية الخاصة بك. كانت الإصدارات القليلة الأخيرة من نظام التشغيل Server تدور أيضًا حول الافتراضية، وفكرة الحاويات التطبيقات هي شيء يتوافق مع كلا هذين المفهومين. ستجعل حاويات التطبيقات نشر التطبيقات أكثر سلاسة، وأكثر أمانًا، وأكثر كفاءة. الحاويات هي فكرة جديدة نسبيًا في عالم Microsoft، وخارج محادثات DevOps، لم أسمع الكثير من مديري تقنية المعلومات يتحدثون عنها. هذا شيء يعزز الحوسبة في Linux لفترة من الوقت الآن، ويجلب نظام التشغيل الجديد هذا من Windows Server الفكرة قليلاً إلى ديارنا لمتاجر Microsoft-centric.


سيكون مطورو التطبيقات مهتمين جدًا بحاويات التطبيقات التي يوفرها Windows Server 2022، وفي الحقيقة، ربما يفهمون المفاهيم الكامنة وراء الحاويات أفضل بكثير من مدير الخادم التقليدي. بينما لا يركز محتوى هذا الكتاب على فرص التطوير وليس بالتأكيد على Linux، سنتناول الحاويات لأن الفوائد المقدمة ليست فقط للمطورين. نحن كمسؤولين عن النظام سنستفيد أيضًا من استخدام الحاويات، وإن لم يكن هناك شيء آخر، فسيكون من المهم لنا أن نعرف ونفهم كيفية تخيل وإنشاء الحاويات، حتى نتمكن من توفير البنية التحتية التي سيحتاجها مطورونا أثناء بناء التطبيقات الحديثة.


في هذا الفصل، سنغطي بعض المواضيع التي تتعلق بحاويات التطبيقات؛ نأمل أن يساعد ذلك في إعداد مدرائك لدعم هذه التقنية في مراكز البيانات لديك:

- فهم حاويات التطبيقات ( Understanding application containers)

- صور الأساس للحاويات

- حاويات Windows Server مقابل حاويات Hyper-V

-ال Docker و Kubernetes

- العمل مع الحاويات

- أين Azure في كل هذا؟


فهم حاويات التطبيقات


ماذا يعني احتواء تطبيق؟ لدينا فكرة جيدة هذه الأيام عن احتواء الخوادم من خلال الافتراضية. أخذ العتاد المادي وتحويله إلى مضيف افتراضية Hyper-V، ثم تشغيل العديد من الأجهزة الافتراضية (VMs) فوقه هو شكل من أشكال الاحتواء لتلك VMs. نحن نخدعهم أساسًا ليعتقدوا أنهم كيانهم الخاص، غير مدركين تمامًا أنهم يشاركون الموارد والعتاد مع VMs أخرى تعمل على ذلك المضيف. على الرغم من أننا نشارك موارد العتاد، يمكننا توفير طبقات قوية من العزل بين VMs، لأننا بحاجة إلى التأكد من أن الوصول والصلاحيات لا تتسرب عبر VMs - خصوصًا في سيناريو مزود الخدمة السحابية، حيث يمكن أن تكون كارثة.


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


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


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


مشاركة الموارد


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


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


العزل


إحدى الفوائد الكبيرة لحاويات التطبيقات هي أن المطورين يمكنهم بناء تطبيقاتهم داخل حاوية تعمل على جهازهم الخاص! يمكن أن يكون جهاز استضافة الحاويات عبارة عن نسخة Windows Server، أو يمكن أن يكون جهازًا يعمل بنظام Windows 10 أو 11. عند بناء التطبيق داخل هذا الصندوق الرملي، سيعرف المطور أن تطبيقه يحتوي على جميع الأجزاء والمكونات والتبعات التي يحتاجها للعمل بشكل صحيح، وأنه يعمل بطريقة لا تتطلب مكونات إضافية من نظام التشغيل الأساسي. هذا يعني أن المطور يمكنه بناء التطبيق، والتأكد من أنه يعمل في بيئته المحلية، ثم نقل تلك الحاوية بسهولة إلى خوادم الاستضافة، حيث سيتم تشغيلها وجاهزة للاستخدام الإنتاجي. قد يكون هذا الخادم الإنتاجي عبارة عن خادم حاويات في الموقع قام ببنائه مدير تقنية المعلومات، أو يمكن أن يكون حتى موردًا مقدمًا من السحابة - التطبيق لا يهتم. يعزز العزل للحاوية من نظام التشغيل على الحفاظ على معيارية التطبيق بطريقة تجعله متنقلاً وسهلاً للحركة، مما يوفر للمطور الوقت والصداع، لأنهم لا يحتاجون إلى التكيف مع الاختلافات في أنظمة التشغيل الأساسية أثناء عملية التطوير.


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


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


نعلم أن الحاويات تشارك الموارد وتدور من نفس الصورة الأساسية، مع الحفاظ على عملياتها منفصلة بحيث لا يمكن لنظام التشغيل الأساسي أن يؤثر سلبًا على التطبيق، وأيضًا بحيث لا يمكن للتطبيق أن يتسبب في انهيار نظام التشغيل المضيف. ولكن كيف يتم التعامل مع العزل من الجانب الشبكي؟ حسنًا، في عالم Windows Server، تستخدم حاويات التطبيقات تقنية من مفتاح Hyper-V الافتراضي للحفاظ على كل شيء مستقيمًا من الجانب الشبكي. في الواقع، بمجرد أن تبدأ في استخدام الحاويات، ستلاحظ بسرعة أن كل حاوية لديها عنوان IP فريد مخصص لها، مما يساعد على الحفاظ على العزل الشبكي.


القابلية للتوسع


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


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


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


ما الجديد في Server 2022؟


تم تضمين الحاويات في Windows Server لعدة إصدارات، ولكن كل إصدار يتضمن بعض الميزات الإضافية أو المتغيرة. إليك بعض النقاط البارزة للميزات الجديدة في Windows Server 2022.


حجم الصورة الأصغر لـ Server Core


عند بدء حاوية، تحتاج طبقات صورة الحاوية الأساسية إلى التنزيل والاستخراج على المضيف. العديد من الحاويات المستخدمة اليوم تعتمد على صورة Server Core، وقد تم تقليل حجم جزء RTM من هذه الصورة بحوالي 33% في Windows Server 2022.


المناطق الزمنية الافتراضية


الجديد في Windows Server 2022 هو القدرة لكل مثيل من حاويات Windows للحفاظ على منطقته الزمنية الافتراضية الخاصة، المفصولة عن خادم الحاوية المستضيف الذي تعمل عليه.



الدعم الأولي لـ IPv6


بينما لا يزال هناك تطوير مستمر لدعم كامل لـ IPv6 في نظام حاويات Windows، فإن التحسينات في Kubernetes تتيح لنا الآن البدء في استخدام هذه الشبكة الجديدة.


حاويات HostProcess


هناك نوعان رئيسيان من الحاويات في عالم مضيفات حاويات Windows Server، والتي سنتناولها لاحقًا في هذا الفصل. جديد في Server 2022، ولا يزال يتم تحسينه، هو نوع ثالث من الحاويات ليس جديدًا تمامًا بل هو امتداد لحاويات Windows Server. حاويات HostProcess تمكن من تحسين سيناريوهات إدارة الكلاستر عبر Kubernetes. عند إدارة العديد من العقد وتجميعات الحاويات، يمكن أن تصبح المهام الإدارية داخل تلك الحاويات أكثر فعالية من خلال استخدام حاويات HostProcess.


الإدارة المحسنة من خلال Windows Admin Center


كانت هناك بالفعل إدارة محدودة للحاويات متاحة عبر WAC، وهي مفيدة بشكل أساسي لتعبئة التطبيقات الويب. يتضمن أحدث إصدار من WAC الآن تكاملًا مع Azure Container Registry لتحميل صور الحاويات إلى ذلك السجل، بالإضافة إلى القدرة على بدء وإيقاف مثيلات الحاويات.


خيار جديد لصور الأساس


في القسم التالي من هذا الفصل، سنتحدث بشكل أكثر عمقًا عن صور الأساس للحاويات وأهميتها. تاريخيًا مع إصدارات LTSC من Windows Server (2016 و2019)، كانت هناك صورتان أساسيتان فقط يمكن بناء الحاويات عليهما. الجديد مع Windows Server 2022 هو خيار ثالث، يسمى بطريقة مربكة نوعًا ما... "Windows Server". سنتناول هذا الموضوع بمزيد من التفصيل في لحظة.


صور الأساس للحاويات (Container base images)


يعيدنا هذا الموضوع إلى مناقشتنا حول Server Core وNano Server. إذا كنت تعمل مع Windows Server لسنوات عديدة، ربما تساءلت لماذا قدمت Microsoft خيار تثبيت جديد يسمى Nano Server، فقط لإزالته في الإصدار التالي من LTSC. حدث هذا التغيير في نفس الوقت تقريبًا الذي بدأت فيه Microsoft الغوص في استخدام Windows Servers كمضيفات حاويات، وهذه المعلومات تتعلق مباشرة بالسؤال "ماذا حدث لـ Nano Server؟"


ال Nano Server الآن مفيد فقط للحاويات. في الواقع، لا يمكنك تثبيت مثيل Nano Server خارج الحاوية. هذا هو هدفه. ليس عليك استخدام Nano داخل حاوياتك، لكنه أحد الخيارات.


الحاويات تشبه إلى حد ما الأجهزة الافتراضية (VMs) ولكن على مستوى مختلف. مع الأجهزة الافتراضية، تشارك الأجهزة بين العديد من المثيلات الكاملة لنظام تشغيل Windows. يحتفظ كل جهاز افتراضي بنواة مفصولة تمامًا عن بعضها البعض، مما يخلق عزلًا قويًا بين الأجهزة الافتراضية وبين الأجهزة الافتراضية والمضيف.


حاويات Windows Server، من ناحية أخرى، تشبه العديد من المثيلات الفردية لنظام تشغيل Windows الذي يعمل على خادم مضيف، باستثناء أنها تشارك ليس فقط موارد الأجهزة ولكن أيضًا نواة Windows نفسها. بفضل وثائق Microsoft Learn، إليك لقطة شاشة تعرض تكوين حاوية Windows Server؛ يمكنك هنا رؤية كيف تختلف عن جهاز افتراضي حقيقي.


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


في Windows Server 2016 و2019، كانت هناك صورتان أساسيتان فقط متاحتان للاستخدام في الحاويات، Server Core وNano Server. إذا كنت مألوفًا مع إصدارات SAC من Windows Server (والتي تستخدم فقط لأغراض الحاويات)، قد تعلم أن هناك نوعًا ثالثًا من صور الحاويات الخاصة بهذه الإصدارات من نظام التشغيل، يسمى Windows. لن نركز على هذا هنا، لأن إصدارات SAC من Windows Server لم تعد مهمة للمستقبل حيث تتجه Microsoft بعيدًا عن استخدامها. ومع ذلك، كما وصفنا عند حديثنا عن تحسينات الحاويات في Windows Server 2022، لدينا الآن خيار جديد كليًا لصور الأساس للحاويات، يسمى نوعًا ما بطريقة مربكة Windows Server. دعونا نقضي بعض الوقت في مناقشة هذه الأنواع الثلاثة من صور الأساس للحاويات.


الNano Server


بينما يعد Server Core نظام تشغيل رائع لبناء خوادم صغيرة وفعالة، فإنه لا يزال ثقيل الوزن مقارنة بـ Nano Server.


ال Nano مختلف بشكل كبير وصغير جدًا لدرجة أنه ليس هناك مقارنة حقيقية. قد تتذكر عندما قمنا بتثبيت Server Core وحصلنا على حجم قرص صلب حوالي 6 جيجابايت. بينما هذا أصغر بكثير من إصدار Desktop Experience من Windows Server، فكر في هذا - يمكن أن يكون حجم صورة أساس Nano Server أقل من 500 ميجابايت!


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


Nano Server الآن يستخدم فقط كنظام تشغيل أساسي للحاويات. هذا تغيير كبير منذ إصدار Server 2016، عندما كان النطاق المتوقع من Nano أكبر بكثير. إذا كنت تستخدم Nano Server لأعباء العمل خارج صور الحاويات، تحتاج إلى البدء في نقل تلك الأعباء إلى خوادم أكثر تقليدية، مثل Server Core.


الServer Core


قد تتساءل، "لماذا يستخدم أي شخص Server Core كقاعدة لصورة حاوية إذا كان Nano Server متاحًا؟" أسهل إجابة على هذا السؤال هي توافق التطبيقات. Nano Server صغير جدًا، وبالتالي فإنه يفتقد الكثير من الكود الموجود داخل Server Core.


عند البدء في استخدام الحاويات لاستضافة التطبيقات الخاصة بك، من الجيد استخدام Nano Server الأصغر كقاعدة إذا أمكن، لكن غالبًا لا يمكن تشغيل تطبيقاتك على تلك المنصة، وفي هذه الحالات، قد تحتاج إلى استخدام Server Core كنظام تشغيل أساسي لجعل تطبيقاتك تعمل.


يمكن أن تساعد تطبيقات .NET في توضيح السيناريوهات التي يمكن أن يتم فيها استخدام نوع واحد من الحاويات على الآخر. إذا كان التطبيق الذي تبنيه يعتمد على .NET Core، فمن المحتمل أن تتضمن صورة حاوية Nano Server جميع التبعيّات اللازمة لتشغيل هذا التطبيق. سيوفر لك هذا أصغر حجم ممكن للحاوية وسيعمل بأعلى كفاءة. ومع ذلك، إذا وجدت نفسك تبني تطبيقًا يتطلب إطار عمل .NET الكامل، فلن يكون Nano Server كافيًا. ستحتاج إلى تغيير التوجه واستخدام حاوية Server Core لجلب تطبيقك إلى الحياة.


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


إذا وجدت نفسك بدلاً من ذلك تواجه مهمة نقل رمز التطبيق الموجود إلى الحاويات، فمن المرجح أنك ستحتاج إلى التحول إلى حاويات مبنية على Server Core لمنح نفسك المرونة الإضافية لجعل تلك التطبيقات تعمل.


الWindows Server


هناك بعض المهام التي يطلبها مهندسو DevOps من الحاويات أن تؤديها والتي لا يمكن حتى لـ Server Core التعامل معها. أو في بعض الحالات، هناك قيود وقيود حتى في Server Core التي قد يحتاج تطبيق إلى تجاوزها للعمل بنجاح. حتى Server 2022، كانت الإجابة على هذا هي نوع ثالث من صور الحاويات يسمى Windows، الذي استخدم قاعدة كود أكثر اكتمالًا لنظام التشغيل Windows. كان هذا بالطبع أكبر حجمًا من Nano Server أو Server Core، لكنه أتاح المزيد من الإمكانيات. كان نوع صورة الحاويات Windows حصرًا على إصدارات SAC من Windows Server، التي تعرف أنها تتلاشى. إذًا، ما الذي يملأ هذا الفجوة؟ يأتي Windows Server 2022 بنوع جديد من صور الأساس للحاويات يسمى Windows Server. تستند صورة الحاوية هذه أساسًا إلى إصدار Windows Server الكامل؛ في الواقع، يستند الكود إلى Windows Server 2022 Desktop Experience. الآن لا تأخذ هذا بالطريقة الخاطئة؛ لا تتضمن أي حاوية واجهة مستخدم رسومية. هذه هي جوهر الحاويات. لكن مع الكود القادم من إصدار Desktop Experience، تفتح الأبواب في هذا النوع من الحاويات التي ستكون مغلقة عادة في حاوية Nano أو Server Core.


صور الأساس للحاويات من نوع Windows Server لديها قيود أقل داخل IIS مقارنة بمثيلات Server Core، ولديها نطاق دعم أوسع لـ API. نظرًا لأنها تستند إلى كود LTSC، فإن الحاويات المبنية على صورة الحاوية Windows Server مدعومة بشكل قياسي لمدة 5 سنوات، وهو ما يختلف ويطول بشكل كبير عن إصدارات SAC الحالية.


حاويات Windows Server مقابل حاويات Hyper-V


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



حاويات Windows Server


مثل الحاويات في نظام Linux، تشترك حاويات Windows Server في ملفات نواة نظام التشغيل المضيف لجعل الحاويات فعالة. ومع ذلك، ما يعنيه هذا هو أنه على الرغم من وجود عزلة في namespace ونظام الملفات والشبكة للحفاظ على الحاويات مفصولة عن بعضها البعض، إلا أن هناك احتمالًا لوجود ثغرات بين حاويات Windows Server المختلفة التي تعمل على خادم المضيف. على سبيل المثال، إذا قمت بتسجيل الدخول إلى نظام التشغيل المضيف على خادم الحاويات، ستتمكن من رؤية والتحكم في العمليات الجارية لكل حاوية.


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


حاويات HostProcess


كما ذكرنا سابقًا، هناك نوع جديد من الحاويات يظهر في الأفق، يسمى حاويات HostProcess. أدرجت هذا كعنوان فرعي تحت حاويات Windows Server، لأن حاويات HostProcess هي بشكل أساسي حاويات Windows Server يمكن إدارتها وتنسيقها بشكل أفضل. مع تزايد انخراط الشركات في العمل مع الحاويات، تتوقع Microsoft أن الحاويات المستخدمة لتشغيل التطبيقات الحديثة ستتم استضافتها في Azure أو Azure Stack HCI، وسيتم تنسيقها بواسطة شيء مثل Kubernetes. تأتي حاويات HostProcess بمزايا على حاويات Windows Server الكلاسيكية عند استخدامها بهذه الطريقة.


حاويات Hyper-V


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


توفر حاويات Hyper-V يعني أنه حتى إذا كان لديك تطبيق يجب أن يكون معزولًا بقوة، لم يعد من الضروري تخصيص جهاز افتراضي Hyper-V كامل لهذا التطبيق. يمكنك الآن تشغيل حاوية Hyper-V، وتشغيل التطبيق في تلك الحاوية، والحصول على عزل كامل للتطبيق، مع الاستمرار في مشاركة الموارد وتوفير تجربة أفضل وأكثر قابلية للتوسع لهذا التطبيق. ملاحظة خاصة حول حاويات Hyper-V - نظرًا لأن حاوية Hyper-V هي في الأساس جهاز افتراضي كامل يعمل على خادم المضيف الخاص بك، فإن كل واحدة منها تُحسب كجهاز افتراضي من منظور الترخيص. إذا كان خادم المضيف الخاص بك هو Windows Server 2022 Standard، فأنت مقيد بتشغيل حاويتين Hyper-V، مما قد لا يكون مفيدًا للغاية. إصدار Windows Server 2022 Datacenter يسمح بعدد غير محدود من الأجهزة الافتراضية للعمل، بما في ذلك حاويات Hyper-V.





النهاية


نكون هنا انتهينا من الجزء 1 من الفصل 13 تماما من شهادة MCSA المقدمة من Microsoft الأن نغوص في الأعماق


و لا بد وانت تقرا ان تكون مركز جيدا لكل معلومة ومعك ورقة وقلم , لانك بالتاكيد ستحتاجها 


واذا واجهتك اي مشكلة في الفهم او ما شابه , يمكنك على الفور الذهاب الى المجتمع الخاص بنا في Telegram للمناقشة والتواصل معنا من هنا  


او اذا واجهتك مشكلة في الموقع او تريد اجابة سريعة يمكنك الذهاب الى اخر صفحة في الموقع ستجد صفحة اتصل بنا موجودة يمكنك ارسالة لنا مشكلتك , وسيتم الرد عليها بسرعة جدا ان شاء الله 


ويمكنك الأنضمام الى المجتمع Hidden Lock بالكامل مع جميع قنواته للأستفادة في اخر الأخبار في عالم التقنية وايضا الكتب بالمجان والكورسات والمقالات من خلال الرابط التالي لمجموعة القنوات من     هنا 


يمكنك ايضا متابعتنا في منصات X او Twitter سابقا , لمشاهدة الاخبار والمقالات السريعة والمهمة من  

هنا


وفقط كان معكم Sparrow اتمنى ان تدعوا لي وتتذكروني في الخير دوما



Tags

إرسال تعليق

0تعليقات

إرسال تعليق (0)

#buttons=(موافق!) #days=(20)

يستخدم موقعنا ملفات تعريف الارتباط لتحسين تجربتك. تاكد الان
Ok, Go it!