‫الآن ربما لا تزال تتساءل حتى بعد تعلم بعض الميزات الرئيسية
‫لـ Docker ، لماذا يحتاج Docker إلى الوجود؟
‫من الواضح أننا نقوم بتعبئة البرامج لعقود من الزمان مع العديد من مديري الحزم الآخرين
‫الذين ينشرون البرامج على الخوادم.
‫لذلك دعونا نتحدث عنها.
‫سيتم التركيز على هذا الفيديو.
‫ثلاثة أشياء حولها.
‫لماذا Docker ولماذا الآن؟
‫وكان في ذلك الوقت ‫خلقت ، كان هناك احتكاك.
‫كانت هناك أشياء في طريقنا إلى المستوى التالي من السرعة وسهولة الاستخدام لدورة حياة البرنامج
‫، على وجه الخصوص حول تغليف وتوزيع وتشغيل جميع
‫البرامج التي نصنعها.
‫وأعتقد أن قوائم من ثلاثة أحب.
‫إذن هذه القائمة الرئيسية للعزلة ، البيئات والسرعة ، هذه المجالات الثلاثة
‫هي ما أريد أن أتحدث عنه حول الأسباب الثلاثة العامة.
‫أشعر أن الحاويات نفسها بها ‫في الوجود ولماذا يتمتعون بشعبية كبيرة اليوم.
‫أولا مشكلة العزلة.
‫وإذا رجعنا إلى البداية من مسيرتي ، في التسعينيات
‫، يمكننا البدء في الحديث عن الخوادم كان من قبل قبل أن يكون لدينا حاويات.
‫إذا عدنا إلى أبعد من مجرد ‫2013 ، قبل إنشاء Docker.
‫ونتحدث عن الألفين الأوائل في التسعينيات ، عندما انتقلنا
‫من حاسب مركزي إلى كمبيوتر شخصي ، قد يكون هذا هو الحال سيبدو المشرف النموذجي.
‫كان لدي خادمان لكل شركة.
‫كما تعلم ، نحن ، لن نكون قادرين حقًا ‫لإدارة مائة خادم لكل شخص.
‫مرة أخرى ، كان هذا مثل ، كما تعلمون ، 2000.
‫وهكذا سيكون لدينا هؤلاء ‫خوادم كبيرة باهظة الثمن.
‫أنه كان من النادر أن تستهلك كل شيء ‫مواردهم من خلال تطبيق واحد.
‫ثم ينتهي بك الأمر مع الجميع هذه التطبيقات ، جميعها مجمعة معًا
‫على نفس الخادم.
‫وأصبح الخادم هشًا.
‫أصبح من الصعب إدارته لأنك تستطيع ذلك بحاجة إلى تغيير شيء واحد لتطبيق واحد ثم يحتاج
‫تطبيق آخر إلى شيء مختلف.
‫ومن ثم يتعين عليك إدارة ملفات إصدارات Python المختلفة أو إصدارات
‫Apache المختلفة الخاصة بك على مختلف الخوادم ، فقط لتحقيق التوازن بين كل شيء.
‫في نفس الوقت أردت ذلك وضع المزيد والمزيد من الأشياء
‫على كل خادم ، ولكن لم يتم عزل أي شيء.
‫لذلك كانت كل هذه التطبيقات ‫تقاسم نفس نظام الملفات.
‫عادة لا يمكن أن تكون متعددة إصدارات من هذا التطبيق بدون
‫الكثير من عمليات القرصنة المعقدة.
‫وكانت هذه مشكلة كبيرة.
‫ثم جاء VMs.
‫لذلك بمجرد أن أصبحت الأجهزة الافتراضية مشهورة حقًا ، حتى قبل السحابة ، تمكنا من
‫استخراج جميع تطبيقاتنا والبدء وضع تطبيقات أقل على أجهزة افتراضية أصغر ، وكلها
‫تعتمد على نفس المضيف الكبير.
‫لذلك قد يبدو مثل هذا ونحن قد تبدأ بـ Chef أو
‫Puppet كطريقة ما لإدارة كل هذه الأشياء أعداد متزايدة من الخوادم.
‫في الواقع ، سيكون لدينا العديد من الخوادم ثم بحلول أوائل عام 2010 ، قبل إنشاء
‫Dockers ، أصبح الأمر صعبًا للغاية لإدارتها جميعًا في وقت واحد ، كنت مشرفًا واحدًا ،
‫وربما تحاول إدارتها العشرات ، إن لم يكن ، المئات من الخوادم.
‫حتى مع وجود السحابة ، يساعدنا في التطور ‫الآلات بشكل أسرع ، وتمزيقها بشكل أسرع.
‫لقد كان كثيرًا ، وكان الكثير جدًا لإدارته ، أنه أصبح كثيرًا جدًا بالنسبة لنا وللخدمة
‫السحابية ، على ما أعتقد أفضل ، ولكنه أسوأ أيضًا لأنه جعل من السهل جدًا
‫تدوير الكثير من الأشياء الأخرى.
‫فكيف يمكن لـ Docker المساعدة في ذلك؟
‫كيف يمكن أن يساعدنا في تقليل كمية البنية التحتية التي
‫يجب إدارتها مع ضمان عزل عبء العمل لدينا حتى لا تصبح الأمور
‫هشة أو يصعب إدارتها؟
‫حسنًا ، إذا كان هذا هو إعدادنا لمدة 20 عامًا في الماضي ، بدلاً من
‫نشر كل هذه الأجهزة الظاهرية بأرقام غير ضرورية لأنظمة التشغيل ، ما تفعله
‫الحاويات هو أنها تمنحنا العزلة ، مثل VM.
‫ليس الأمر متشابهًا تمامًا ، لكننا سنفعل ذلك يجادلون الآن بأنها طبقة عزل ، حيث يحصلون على IP
‫الخاص بهم العنوان ، يحصلون على نظام الملفات الخاص بهم ، ويحصلون
‫على مساحة العملية الخاصة بهم.
‫وهكذا يبدو الأمر ممتلئًا تقريبًا VM ، لكنك لست بحاجة إلى جميع أنظمة التشغيل المختلفة
‫حتى نتمكن من ذلك تقليل عدد أنظمة التشغيل لدينا.
‫عد مضيفنا المادي.
‫لم تعد مضطرًا إلى استخدام أجهزة افتراضية ‫كطبقة العزلة.
‫وقد يبدو هكذا بدلاً من ذلك باستخدام SSH ، يمكنك
‫استخدام Docker CLI. أو إذا انتقلت إلى Kubernetes ، يمكنك
‫استخدام Kubernetes CLI وتطبيقاتك كلها معزولة في حاوياتها الخاصة.
‫هذا يتيح لك العديد من الفوائد ، بما في ذلك تشغيل إصدارات متعددة من نفس
‫التطبيق على نفس النظام ، دون أي تعارض.
‫التالي مشكلة البيئات.
‫ومن الواضح أننا كنا نسير طن من OSS ، كما تحدثت ، ولكن
‫عدد الأنواع المختلفة من البيئات كانت تتزايد أيضًا.
‫هل سمعت يومًا عن أعمال على جهازي؟
‫كان نوعا ما مشهورا ‫على سبيل المزاح من قبل جيف أتوود.
‫أحد مؤسسي Stack Overflow في ملف ‫مشاركة مدونة مشهورة منذ زمن بعيد.
‫لكن هذا يعمل على فكرة الجهاز الخاص بي كانت سخيفة بعض الشيء
‫، لكن النكتة كانت في الغالب من عمل المطور لضمان عمل التطبيق بشكل صحيح.
‫لكن ليس لديهم كل البيئات ‫الضرورية لتشغيل هذا التطبيق.
‫لذلك قاموا بتشغيله على أجهزتهم ، يختبرون على أجهزتهم
‫ثم عندما لا يعمل في مكان آخر ، يقولون أن هذا يعمل على جهازي.
‫إنه يمثل تحديًا حقيقيًا عندما يكون لدينا كل أنظمة التشغيل المختلفة هذه
‫، وصاغ Docker هذا ، المصفوفة من الجحيم ، وهو ما يعني أساسًا لكل
‫جزء من تطبيقك فوقي.
‫وبعد ذلك لكل نوع من ‫البيئة هنا على هذا.
‫لديك تكوين مختلف.
‫ربما عليك تثبيت ‫التبعيات بطريقة مختلفة.
‫ربما تكون التبعيات قليلاً مختلفة لأن أحدهما له إصدار
‫مختلف في الآخر.
‫لديك كل هذه الأنواع المختلفة من البيئات ، وربما كان عليك إما
‫قراءة أو كتابة الوثائق حول كيفية تثبيت التطبيق الذي يستخدمه المطور على
‫جهاز Mac بشكل مختلف على النوافذ ، والتي يجب تثبيتها بشكل مختلف
‫على ملف خادم Linux وإصداراته وإصداراته.
‫الآن صورة الحاوية و أصبحت الحاوية نفسها مجردة
‫أساسية أو عقدًا بين أين إنه يعمل وما يدور بداخله.
‫يشبه إلى حد كبير الحاويات المادية في العالم الحقيقي الذي يسمح
‫لنا بشحن البضائع من جميع أنحاء العالم منذ ما يقرب من مائة عام التصميم.
‫كان الهدف هناك ، الأشخاص الذين تسليم الحاويات المادية لم يكن من الضروري
‫معرفة ما بداخلها.
‫والأشخاص الذين يضعون أغراضهم داخل الحاوية
‫لا يجب أن يعرف أو يهتم كيف الحاوية فعليًا إلى وجهتها.
‫كانت تلك تجريدًا من ملحمة الآن يتم شحن نسب الملايين من الحاويات في جميع أنحاء العالم
‫، وهي جميلة من المحتمل أن يكون كل شيء في منزلك في حاوية
‫في حياته.
‫نفس الشيء ينطبق على الصور ‫وحاويات Docker الآن.
‫هم تنسيق قياسي ثابت ‫المعروفة الآن بمعايير OCI.
‫هؤلاء يضمنون ذلك أينما كنت الحاوية ، سيتم تشغيلها بنفس الطريقة
‫المتسقة مع نفس الشيء التبعيات الدقيقة التي تم بناؤها بها.
‫تالي مشكلة السرعة.
‫الآن لا أقصد هنا بالضرورة.
‫سرعة وحدة المعالجة المركزية أو سرعة.
‫هذه الأشياء فقط تحصل بشكل طبيعي أسرع بمرور الوقت ، لكنني
‫أتحدث حقًا عن سرعة الأعمال.
‫وعندما نتحدث عن تكنولوجيا المعلومات والبرمجيات ، ودورة حياة البرنامج
‫، نحن نتحدث حقًا عن قدرة الشركات والمؤسسات لتنفيذ أفكارهم
‫، لتقديم أفكار البرامج الخاصة بهم للعميل في أسرع وقت ممكن ، وهذا جزء من دورة حياة
‫البرنامج.
‫حسنًا ، اتضح أن الصناعة تم تغيير البنية التحتية
‫والهندسة المعمارية منذ فجر لهذا السبب بالتحديد.
‫لقد صنعت هذا الرسم الصغير الجميل لأنه يمكنك أن تبدأ من أعلى طريق العودة في التسعينيات
‫حيث حصلت على ابدأ وكان لدينا حواسيب كبيرة تنتقل إلى أجهزة الكمبيوتر
‫في بنية موزعة.
‫كان هذا إلى حد كبير حول السرعة ‫القدرة على نشر التغيير.
‫كنت الآن قادرًا على تثبيت DOS على جهاز واحد ، دون الحاجة إلى الانتظار
‫حتى يتم تحديث الكمبيوتر الرئيسي مهما كان إصدار يونكس التالي.
‫لم نعد قادرين على التحرك دفعة واحدة.
‫كنا بحاجة إلى أجزاء مختلفة من منظمة للتحرك في اتجاهات
‫مختلفة بسرعات مختلفة.
‫ومن هنا فجر الحوسبة الموزعة.
‫ثم انتقلنا من لعبة bare metal ، الافتراضية ، لأننا سئمنا انتظار طلب الأجهزة
‫وانتظار ليتم تنفيذه في مركز البيانات.
‫أردنا تسريع الأمور والحصول عليها ‫أفضل استغلال لمواردنا.
‫أصبحت المحاكاة الافتراضية والآلات الافتراضية ‫تحظى بشعبية كبيرة لهذه الأسباب.
‫ثم كان مركز البيانات إلى السحابة التالي خطوة لأننا كنا الآن بحاجة إلى
‫نشر الأفكار بشكل أسرع من أفكارنا الأجهزة ومراكز البيانات يمكن أن تسمح.
‫أردنا تشغيل الخوادم التي لم يكن لدينا حاليًا في دقائق
‫ولا أيام أو أسابيع.
‫والسحابة منحتنا إمكانية الوصول ‫بالقرب من الموارد الفورية.
‫وهو السبب بالطبع ‫لماذا السحابة ضخمة جدًا اليوم.
‫ثم أخيرًا ، نحن في طريقنا ‫المرحلة التالية من تلك الرحلة.
‫الانتقال من التوسع الهائل للمضيف التي كان لدينا ، حيث كان لدينا عدد كبير جدًا من المضيفين
‫والنواة وأنظمة التشغيل.
‫والآن سنكون قادرين على ذلك تقليل عدد هؤلاء ، لأننا
‫الآن قادرون على عزل أحمال العمل بداخلها وتشغيلها معًا
‫بأمان على نفس النواة.
‫أنا بما في ذلك Serverless هنا ، من خلال الطريق ، لأنك إذا بحثت حقًا في معظم الأنظمة الأساسية
‫التي لا تحتاج إلى خوادم ، فهي حقًا عادلة تشغيل الحاويات في الخلفية.
‫قد تكون حاوية قمت بشحنها باسم صورة ، أو قد تكون مجرد حاوية يتم
‫تشغيل وظيفتك فيها ، لكنها ما زالت تعمل في حاوية.
‫وهذا هو سبب رغبتي في الحديث عنها أسرع وأسرع وأسرع ، وما تقدمه لك الحاويات و
‫Docker بشكل أساسي هو ملف القدرة على التطوير بشكل أسرع ، وبناء تطبيقاتك
‫بشكل أسرع ، واختبارها بشكل أسرع و لنشرها على خوادمك بشكل أسرع.
‫الآن هل مازلت معي؟
‫هل ما زلت أحظى باهتمامك؟
‫دعنا نلخص ذلك بسرعة حقيقية.
‫لذا فإن السبب في أن الحاويات ‫توجد ثلاثة أسباب رئيسية.
‫في رأيي أفضل العزلة داخل نظام تشغيل واحد ، مما يوفر لنا الوقت ونظام التشغيل
‫وإدارة التبعية ، ولكن أيضًا يمنحنا العزلة التي نحتاجها
‫لحماية تطبيقاتنا.
‫ثم قللنا ‫الفروق البيئية.
‫لذا فإن الفرق بين كل منهما ‫البيئة التي يتم تشغيلها ضئيلة للغاية.
‫مرة أخرى ، عادة ما يكون مجرد اتصالك إعدادات قواعد البيانات ، وربما
‫بعض مسارات URL ، وأشياء من هذا القبيل ، المنافذ.
‫ثم الباقي هو بالضبط ‫نفس الشيء الذي بنيته واختبرته.
‫وأخيرًا نزيد من سرعتنا التغيير ، ليس فقط من أجل البرنامج نفسه ، ولكن للأعمال
‫التجارية التي يريد تنفيذ هذا البرنامج.
‫نحن الآن قادرون على التطور بشكل أسرع ، قم ببنائه بشكل أسرع ونشره
‫والخوادم بشكل أسرع واختبره بشكل أسرع.
‫كل ذلك بسبب هذه الصور الحاوية والحاويات نفسها سهلة البناء
‫والنشر و إعادة الانتشار وإعادة التشغيل وكل ذلك.
‫لذلك آمل أن يكون هذا منطقيًا.
‫سأراك في الفيديو التالي.