OpenStack في Workday

بقلم إدغار ماجانا ، كبير مهندسي تطوير البرمجيات ، Workday

تأسس Workday على فكرة تخريبية: وضع الأشخاص في قلب برامج المؤسسة. الآن ، بعد أكثر من عقد من الزمان ، ما زلنا نقدم هذه الفكرة كل يوم. لتحقيق هذا الوعد ، تستفيد الهندسة من التقنيات التخريبية وأنماط التصميم عبر مجموعة التكنولوجيا لدينا بالكامل.

ستدخل هذه المشاركة في تفاصيل رحلتنا الابتكارية في بناء وإدارة البنية التحتية كخدمة (IaaS) لتغطية عمليات النشر السحابية العامة والخاصة.

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

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

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

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

كانت أكبر مكاسب من المساهمة في مجتمع مطوري OpenStack هي خبرتنا التعاونية في العمل مع مطورين من جميع أنحاء العالم. إنه يعني الكثير لمطورينا أن يحصلوا على الدعم من Workday للمساهمة في مشاريع مفتوحة المصدر. ساهم فريقنا في العديد من مجالات OpenStack ، بما في ذلك الشبكات (Neutron) والهوية (Keystone) والحساب (Nova) والاختبار (Tempest) والأداء (Rally) وإدارة التكوين (Chef).

نشرت Workday OpenStack في خمسة مراكز بيانات لكل من بيئات التطوير والإنتاج ، مما يوفر أكثر من 50000 نواة جاهزة للاستخدام. لقد قمنا أيضًا بتوسيع نطاق الأدوات حول هذه المنصة لدعم هذه النوى. لدينا أكثر من 1000 مقياس مراقبة وإنذار مختلف للتأكد من أن لدينا كل الرؤية اللازمة للحفاظ على عمل النظام بشكل صحيح. عامل رئيسي آخر في نجاحنا مع OpenStack هو خط أنابيب التكامل المستمر والنشر المستمر (CI / CD). يؤدي تكامل Jenkins و Gerrit الخاص بنا إلى نشر OpenStack جديد في كل مرة يقوم أحد مطورينا بإجراء تغيير في التكوين أو البنية. يمنع خط الأنابيب الخاص بنا التغييرات غير المقصودة من الانتقال إلى الإنتاج لجميع مكونات OpenStack و SDN. في الرسم البياني في الشكل 1 ، نعرض عدد الإنشاءات التي تم إجراؤها بواسطة خط أنابيب CI / CD والوقت المنقضي لكل بناء على مدار فترة 30 يومًا. خلال فترة الثلاثين يومًا هذه ، قام النظام بتشغيل أكثر من 800 بناء مما منع ثلاث حالات فشل كبيرة. لقد أعطانا مسارًا موثوقًا للغاية لعمليات نشر OpenStack الخاصة بنا.

نحن نعمل حاليًا على إصدار جديد من هذه المنصة ، واستيعاب إصدارات أحدث من OpenStack و OpenContrail. يخطط الفريق لتوسيع نطاق هذه المجموعات إلى أربعة أضعاف السعة ، والتوسع إلى 200000 نواة. هذه ليست مهمة سهلة ، لكننا ماضون في طريقنا لتحقيق هذا الهدف بحلول العام المقبل.

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

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