Container Technology – Docker منذ فترة طويلة اريد ان اكتب مقال عن ال Container Technology لكن دائما اتراجع واقول انتظر لكى تتضح اكتر هذة التكنولوجيا وايضا بسبب ضيق الوقت فى هذا العام يمكن بعضنا سمع عن هذة التكنولوجيا فى مقالة او خبر او غيرها لكن قليل منا يعرفها بشكل كامل او فاهم فكرتها وكيفية […]
منذ فترة طويلة اريد ان اكتب مقال عن ال Container Technology لكن دائما اتراجع واقول انتظر لكى تتضح اكتر هذة التكنولوجيا وايضا بسبب ضيق الوقت فى هذا العام
يمكن بعضنا سمع عن هذة التكنولوجيا فى مقالة او خبر او غيرها لكن قليل منا يعرفها بشكل كامل او فاهم فكرتها وكيفية عملها وما فائدتها لنا
تعتبر هذة التكنولوجيا حديثه جدا مقارتنا بكل التكنولوجيا التى نتعامل معها مع ذلك تنمو بسرعة صاروخية ونموها ليس بالسنين وانما بالشهور تتضاعف – يمكن احنا مش حاسين بقوتها ولا بانتشارها وحتى غير مستخدمة حتى الان فى منطقتنا ولا يوجد شركات تقدمها او تبيعها حتى – لكن هذا ليس مقياس للتكنولوجيا فى العالم لانك جزء من التكنولوجيا والتكنولوجيا ليس لها وطن ولا لغة او حد اقليمى معين – فاترك فكرة ان هى لسة مش مستخدمة فى منطقتنا ولما تنشر هنا هبقى اتعلمها او اعرفها – وقتها هتكون تاخرت كثيرا
ندخل فى موضوعنا ونتعرف على هذة التكنولوجيا اكتر وسوف نقسم مقالنا هذا الى عدة اجزاء تبدء بالتعريف بهذة التكنولوجيا وتاريخها وكيفية عملها وغيرها :
ما هى ال Container Technology ?
هذة التكنولوجيا هى عبارة عن فكرة جريئة لتشتغيل عدة Applications مختلفين على نفس نظام التشغيل ويكون كل application منفصل تماما عن ال application الاخر وكل Application يكون معه كل ما يحتاجة لكى يعمل بدون ما ياثر على اى application اخر ويمكن نقل هذا الا application من server الى اخر بدون تغيير اى شئ وحتى يمكن نقلة على OS اخر تماما ويعمل كما هو . كل دة بيحصل عن طريق ان كل application بيكون isolated inside Container عن ال application الاخر وبذلك يمكن تشتغيل كل application بكل حرية وبدون ما يوثر على ال application الاخرين او يتاثر بهم
انا سامع الان ناس بتقول نحن نقوم بعمل ذلك من خلال الويندوز او اللينكس ويمكن تشتغل اكتر من Application على نفس ال OS – كلامك صح بس لو راجعت السطور اللى فوق هتفهم الفرق وهقولك الفرق تانى فى حالتك كل التطبيقات بيكونوا ملفاتهم ومكوناتهم متداخلة مع ال OS ومشتركة فى Windows , program file , Registry , Server name and IP ولا يمكن فصل هذة التطبيقات عن بعضها ولا نقلها لانها اصبحت جزء متداخل مع ال OS وتطبيقات اخرى اما فى حالة ال Container كل application منفصل تماما فى ملفاتة واسمة وحتى ال IP الخاص بة – تصور كل application لة IP address خاص بة على نفس ال server
فى حد تانى فى الاخر بيسال اية الفرق بينها وبين ال virtualization واحنا كنا ممكن نعمل كل application لوحدة داخل VM – دة سؤال مهم ودائما كل الشركات العاملة فى تكنولوجيا ال Container بتجد انها عاملة مقارنة بين ال container and virtualization technology لان فية خلط بينهم ولكى توضح الصورة شوف الشكل التالى :
فى هذة الصورة سوف يتضح لك الفرق بين الاتنين تكنولوجى وكيفية عملها هتجد ان ال virtualization بتعمل OS كامل لكل application وبذلك يكون كل application منفصل عن الاخر لانة يعمل فى OS منفصل وكلهم يعملون فى النهاية هلى Hypervisor واحد
اما فى حالة ال Container نحتاج الى OS واحد يتعامل مباشرتا مع ال Physical H/W وتطبيق ال Container ثم نقوم ببناء applications الخاصة بنا داخل Container على نفس ال OS – اظن ان الفرق وضح الان ويمكن معرفة المزيد عن الفرق بينهم من خلال جوجل هتلاقى العشرات بيتكلموا عن الفروق بينهم
شايف ناس الان هى التكنولوجيا دية احسن ولا ال virtual وواحد جانبة بيقولة دية هتقضى على ال virtualization technology – من الخارج البعض يعتقد انهم منافسين لبعض لكن لما تتعمق اكتر داخلهم هتجد ان كل تكنولوجيا ليه مكانها وتنفع فى اجزاء ولا تنفع فى الاخرى لذلك هما بيتكاملوا مع بعض – وهذا سوف نوضحة فى نهاية المقالة
كيفية عمل ال Container Technology ?
تعمل هذة التكنولوجيا عن طريق انها تقوم بعمل isolate لكل application داخل Container عن طريق اننا نستخدم اننا نستخدم OS ونشغل علية Container Platform وهو يقوم بعملية التقسيم هذة – يمكن العمل على اى نظام تشتغيل لينكس حتى الان وقريبا سوف يكون متاخ العمل على ال Windows server 2016 لان مايكروسوفت قامت بدمجة داخل نظامها الجديد
هذة الصورة سوف توضح الفكرة اكثر
تاريخ ال Container Technology ?
فكرة هذة التكنولوجيا بدءت عام 2008 كمشروع صغير مفتوح المصدر باسم LXC لكن من غير المعروف ما هى الموسسة او الاشخاص الذين قاموا بتطويرة – لكن البداية الحقيقية لهذا التكنولوجيا منذ عامين وتحديدا عام 2013 على يد شركة Docker فهى صاحبة الفضل فى نشر هذة التكنولوجيا بشكل رسمى وتوحيد ال Platform وتنظيمة وعمل HUB يحتوى على كل التطبيقات التى تعمل بهذة التكنولوجيا وادخلت هذة التكنولوجيا بشكل رسمى فى منافسة الجميع واصبحت هى المعيار والمقياس فى هذة التكنولوجيا وكل الشركات التى تريد ان تتكامل مع هذة التكنولوجيا اصبحت تتعامل مع شركة Docker مباشرتا – حتى شركة Docker اصبحت تتعامل بشكل تجارى وتقدم دعم فنى كامل لمستخدمين هذة التكنولوجيا – لذلك سوف تجدون عندما نتكلم عن هذة التكنولوجيا نتكلم عن اسم هذة الشركة وحتى يعتقد البعض ان هذة التكنولوجيا هى اسمها Docker لان كل المصادرة تتكلم وتدور حول هذة الشركة
هذا الوضع والشركة يذكرنى بشركة Vmware فى عالم ال virtualization Technology فهى من وضعت المعايير والمقاييس وسبقت الجميع فى نشر هذة التكنولوجيا فاصبحت هى القائدة والمعيار الاساسى لها
شركة Docker تصنف على انها شركة من شركات ال Startup المنتشرة فى ال Silicon valley – وبدئت ببعض الشباب صغيرالسن منذ سنتين لكن هناك العديد من الاشخاص انضموا اليها وانهالت عليها اموال ضخمة من شركات الاستثمار لان متوقع لها النجاح الباهر والعائد سوف يكون ضخم لكل من يستثمر فيها من الان
مقر هذة الشركة فى سان فرانسيسكو فى مبنى قديم وتقليدى جدا على الطراز الامريكى وانا قمت بالمرور امامة وانا ذاهب لمحطة القطار هناك وهو مبنى لا يوجد علية اى اسم او شئ يدل على الشركة – المرة القادمة سوف اقوم بزيارتهم اذا استمروا فى نفس هذة المكان وان كنت اتوقع ان ينقلون الى مكان يناسب لحجمهم الان
ومن الغريب انى شاهدت هذة الشركة فى ال VMworld 2014 فى امريكا العام الماضى فى ال Exchange Solation وبدافع الفضول واللوجو الغريب الخاص بهم روحت اسالهم هما بيقدموا اية فقاموا بشرح لى هذة التكنولوجيا – لكن لن اكذب عليهم لما افهم بالظبط فكرتهم او ما يقدمونة
Integration
خلال العام الماضى 2014 بدئت كل الشركات تتسابق فى عمل integration with Docker سواء شركات ال software او شركات ال virtualization
فمن ناحية شركة ال software قامت بتجهيز تطبيقاتها فى شكل Container وتجهيزة للعمل مباشرتا وتشتغيلة على Docker على اى نظام تشتغيل واصبح هناك قسم على موقع Docker بسمى Hub يحتوى على الاف هذة التطبيقات
ومن ناحية ال virtualization company فالكل دخل معها فى مشاريع مثل VMware , Citrix , Redhat , Microsoft وقاموا بدمج ال Docker platform داخل ال Hypervisor الخاص بهم وهذا فى الاصدارات الجديدة لديهم
حتى شركة Vmware عملت نظام تشتغيل كامل يسمى Photon لتشتغيل ال Docker علية مباشرتا وسوف تدمجة فى اصدارها القادم داخل ال vSphere مثل مايكروسوفت سوف تقوم بدمجة داخل ال Windows server 2016
ومن الجدير بالذكر هنا انه ظهر عدة شركات لخدمة Docker من ناحية ال Management and Monitoring لكى تسهلة اكتر للمستخدم اكتر – مع انها مازال عمرها سنتين لكن هناك سباق عليها لانها تكنولوجيا قوية ولها مستقبل مضمون فالكل يتسابق لحجز مقعد له من السوق قريبا هنجد تطبيقات لعمل Backup , HA , DR وغيرها لهذة التكنولوجيا
حتى انه ظهر لشركة Docker منافسين لها فى السوق مثل شركة CoreOS التى قامت بعمل فريق جديد لديها لمنافسة Docker بعد ما كانت بتدعمة بنظام تشغيلها
كيف نتعلمها ونطبقها :
خلال العام الماضى والخالى صدرت العديد من الكتب والكورسات التعليمية من عدة شركات تشرح هذة التكنولوجيا وبالطبع شركة Docker لانها اصبحت المعيار فسوف تجد العديد منها على مواقع كثيرة وان كانت غير مجانية لكن يوجد على ال YouTube بعض الفيديوهات المتفرقة مجانية – لا ترسل لى لارسال روابط لهذة الكورسات لانها غير مجانية
وان شاء فى خطتى ان اقوم بشرح هذة التكنولوجيا قريبا
وبصفة عاملة هى ليست مقعدة فى التعليم لكنها تحتاج الى بعض الخبرة فى التعامل مع ال Linux and command line
ال Docker Platform مجانى ومتاح للجميع ويعمل على اى نظام تشتغيل لينكس فالتعلم كلة مجانى فليس لك حجة
فى النهاية :
نحن امام تكنولوجيا جديدة لها حاضر ومستقبل باهر والكل يتجة اليها وخلال سنتين او ثلاثة على الاكثر سوف نجدها منتشرة حولنا – فابدء من الان تعلمها ولا تنتظر
سوف يكون هناك معلومات اكتر فى المستقبل ان شاء الله على موقعنا هذا وموقع اخر متخصص لهذة التكنولوجيا فقط
وقمنا بعمل جروب رسمى لمستخدمى والمهتمين بهذة التكنولوجيا فى السعودية لكنة مفتوح لكل الدول العربية بالطبع وهذا رابط له للاشتراك فية مجانا لمتابعة المحاضرات التى سوف نقوم بعملها عنة هذة التكنولوجيا