Microsoft with Container Technology
البعض يلاحظ ويسأل لماذا كل الشروحات او المقالات او حتى العمل داخل الشركات التى تستخدم ال Container Technology نجد انها تستخدم Linux OS وليس Windows OS
انا معهم فى هذا الموضوع لانه حقيقة انه 99 فى المائة من المستخدمين لل Container Technology يستخدموه على ال Linux وليس Windows
والموضوع بالطبع له اسباب لحدوث ذلك وسوف نستعرضها هنا
ملحوظه : الموضوع ليس له علاقه بان ال Linux احسن من الويندوز وهذا الكلام او ان اللينكس هيقضى على الويندوز وهذا الكلام الصبيانى الجميل والتعصب الاعمى الساذج – الموضوع فى الاخر& Value Business ورايك وتعصبك دة اخر شئ يهتموا بيه –
لو استعرضنا اسباب استخدام هذة التكنولوجيا على اللينكس اكتر من الويندوز فيجيب ان نرجع بالزمن 40 سنه تقريبا وتحديدا للعام 1979 عندنا لم يكن للويندوز اصلا وجود وكان ال Unix موجود وظهرت شئ جديد فيه تسمى Chroot وهذة الخاصيه الجديدة هى تعتبر الاب الروحى لل Container Technology
والتى على اساسها طورت شركات كثيرة مشاريع كثيرة لهذة التكنولوجيا منها شركة SUN and BSD and google وغيرها الكثير
والذى تطور بعدة وظهر لنا ال CGroup and NameSpace الذى يعمل بيهم اى Container Technology فى الوقت الحالى فى الخلفيه بغض النظر لما هو ال Container Engine التى تستخدمه
وعلى مدار هذة السنين الكثيره كان التطوير يتم على اللينكس ولم تهتم شركة مايكروسوفت بهذة التكنولوجيا مثل الغالبيه الا بعد ما ظهرت شركة Dokcer واصبحت ل Container Technology قواعد وفوائد وزبائين ومستقبل كبير
من هنا بدوء العمل من العام 2014 تقريبا على تشتغيل ال Container Technology على ويندوز سيرفر او حتى Client وكانت البدايه مع Windows server 2016 and Windows 10
واستطعنا ان نشغل Container Technology عليهم مباشرتا بدون اى Hypervisor
لذلك نجد ان مايكروسوفت بدءات متاخره جدا عن البقيه فى هذا المجال وطبعا مع فارق كبير فى التكنولوجيا – يمكن الذى ساعد مايكروسوفت انها استخدمه ال Docker Enigne ودمجته فى الويندوز لكن كان هناك بعض الاشياء لا تعمل مثل اللينكس
السبب الثانى وهو قله ال Applications الموجودة التى يمكن ان نستخدمها As Container App لو قارنا مثلا عدد ال Applications الموجودة على Docker Hub الخاصه باللينكس هتجد مئات الالاف وعدد ال App المخصصه للعمل على Windows سوف تجدهم بالعشرات فقط
السبب الثالث وهو ضخامه حجم Windows Container App فمثل لو قولنا اننا نحتاج ان نعمل ال IIS or SQL or ASP او غيرها من منتجات شركات مايكروسوفت لكى تعمل Container سوف نجد ان حجم ال Container Image ضخم جدا نتكلم هنا بالجيجا بايت مقارنتا بالميجا فى اللينكس مع اختلاف المنتج طبعا
لذلك كانت هذة مشكله كبيرة لان هذا الحجم الضخم والمدة الطويله فى تحميله وتشغيله دمرت اكبر ميزه فى ال Container Technology وهى Agilite and Speed
لذلك لا نجد له اى Value عندما نستخدمه فى الحياه العمليه
يمكن هذا الموضوع تحسن بعض الشئ فى Windows server 2019 لانهم اضافوا عدة اضافات جديدة وهى
- يمكن الان تشتغيل Linux Container App على الويندوز مباشرتا وهذا كان مستحيل سابقا لان ال Linux Kernel مختلفه عن ال Windows Kernel لكن مايكروسوفت اضافت داخل الويندوز الجديد Linux Mode Kernel
- تقليل حجم ال Container Image مقارنتا بالاحجام السابقه مايكروسوفت اعلنت انها قللت حجم ال Imgae الى اكتى من 90 فى المائة من الحجم السابق
- دعمهم لل Kubernetes واصبح يمكن ان تعمل Cluster بواسطته
طبعا هذة التحسينات فى صالح مايكروسوفت وليس شئ جديد للمستخدمين لل Container Technology ولا اظن ان بهذة التحسينات سوف يتغير شئ على المدى القصير على الاقل ومازال امام مايكروسوفت الكثير لكى تعمله ليكون لها مكانه فى هذا المجال
برائيى الشخصى شركه مايكروسوفت تحتاج ان تستحوذ على شركه جديدة من الشركات العامله فى هذا المجال مثل Racher على سبيل المثال لكى تختصر سنوات طويله والبطئ فى التطوير الموجود لديهم
من المعروف انه من سنتين شركة مايكروسوفت عرضت ان تشترى شركة Docker ب 4 مليار دولار لكن العرض روفض وقتها
من ناحيه اخرى من غير المعروف بشكل كامل او واضح ما هو الادوات المستخدمه لتشتغيل ال Docker Engine داخل الويندوز لاننا كما نعرف ان Container Technology تستخدم ال NameSpace and cgroup لتشتغيل ال Docker
والويندوز لا يوجد فيه هذة الادوات وايضا هو ليس Opensource لكى نعرف
ومايكروسوفت لم توضع بشكل كامل ما هى الادوات التى تقوم بنفس دور ال Namespace and cgroup داخل الويندوز ( اطلقوا بعض المسميات لكن غير واضح كيف تعمل بشكل كامل)
فى النهايه ومخلص للموضوع
مايكروسوفت امامها محتاجه تركيز اكبر ومجهود كبير لو لديها النيه انها تريد ان تشارك فى السوق الخاص بهذة التكنولوجيا
ومن ناحيتك الشخصيه لا تشغل بالك كثيرا بهم لان كل الشركات الكبيرة التى عندنا منتجات وتطبيقات للعملاء تستخدم لينكس ال Container Technology
وايضا اغلب المنتجات التى تدعم ال Microservice تعمل فى الاساس على Linux
فعلى المدى القريب لكن يتغير شئ وسيبقى ان 99 فى المائه من ال Container Technology تستخدم Linux OS
للمزيد من المعلومات:
https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/index
وبالتوفيق للجميع