كيفية تبسيط نشر التطبيقات السحابية - قدم مواصفات مفتوحة جديدة

قامت Microsoft و Docker بتطوير المواصفات المفتوحة لـ Cloud Native Application Bundle (CNAB). فهو يصف طريقة متعددة الاستخدامات لحزم التطبيقات في حاويات للاستخدام في البيئات المختلطة. بعد ذلك ، سنشرح سبب الحاجة إلى CNAB وما هو عليه.


/ الصورة tsuna72 CC BY

ما هو CNAB؟


حزمة تطبيق Native Application Bundle عبارة عن مواصفات توضح كيفية حزم المكونات (واجهات برمجة التطبيقات ، والأجهزة الظاهرية ، والحاويات) اللازمة لتشغيل التطبيقات السحابية في البيئات الموزعة. للوهلة الأولى ، ينبغي حل هذه المهمة عن طريق Docker. ومع ذلك ، فمن المعروف أنه في حالة البنية التحتية المختلطة واسعة النطاق ، فإن وظائفها القياسية ليست كافية.

وبالتالي ، فإن CNAB هي محاولة لتوحيد عملية تعبئة ونشر وإدارة دورة الحياة للتطبيقات الموزعة على أساس Kubernetes و Helm و Swarm ، إلخ ، باستخدام تنسيق حزمة واحد. تعتمد هذه الحزم على JSON و OpenPGP.

باستخدام حزمة تطبيق Cloud Native ، يحصل المطور على فرصة لنشر تطبيقه على كل من محطة العمل المحلية والسحابة العامة. قدم كل من عمالقة تكنولوجيا المعلومات أداة خاصة بهم ، والتي توضح قدرات المواصفات. في Microsoft ، كان هذا الحل هو عميل Duffle ؛ في Docker ، تطبيق Docker .

أمثلة


كما قلنا أعلاه ، تحدد المواصفات طريقة لتعبئة التطبيقات الموزعة بتنسيقات مختلفة. يتضمن CNAB تعريف الحزمة (bundle.json) لوصف التطبيق ، بالإضافة إلى صورة خاصة ( صورة الاحتجاج ) لتثبيته. يشبه تعريف الحزمة هذا (مثال على الوصف موجود في المستودع الرسمي على GitHub ):

{ "schemaVersion": "v1.0.0-WD", "name": "helloworld", "version": "0.1.2", "description": "An example 'thin' helloworld Cloud-Native Application Bundle", "maintainers": [ { "name": "Matt Butcher", "email": "technosophos@gmail.com", "url": "https://example.com" } ], "invocationImages": [ { "imageType": "docker", "image": "technosophos/helloworld:0.1.0", "digest": "sha256:aaaaaaa..." } ], "images": [ { "image": "technosophos/microservice:1.2.3", "description": "my microservice", "digest": "sha256:aaaaaaaaaaaa...", "uri": "urn:image1uri", "refs": [ { "path": "image1path", "field": "image.1.field" } ] } ], "parameters": { "backend_port" : { "type" : "int", "defaultValue": 80, "minValue": 10, "maxValue": 10240, "metadata": { "description": "The port that the back-end will listen on" } } }, "credentials": { "kubeconfig": { "path": "/home/.kube/config", }, "image_token": { "env": "AZ_IMAGE_TOKEN", }, "hostkey": { "path": "/etc/hostkey.txt", "env": "HOST_KEY" } } } 

يصف هذا المقطع معلمات الحزمة مع التطبيق ويوفر معلومات حول مكان "البحث" عن الصور المثبتة (يجب أن يكون التنسيق عامل إرساء أو oci). بالإضافة إلى ذلك ، يشير التعريف إلى حجم الصورة بالبايت ، والنظام الأساسي الذي ستعمل عليه ، بالإضافة إلى البنية ونظام التشغيل.

وهنا يتم وصف الصورة نفسها مباشرة:

 "invocationImages": [ { "imageType": "docker", "image": "technosophos/helloworld:0.1.0", "digest": "sha256:aca460afa270d4c527981ef9ca4989346c56cf9b20217dcea37df1ece8120685" } ] 

مهمتها هي تثبيت المكونات اللازمة للعمل. يمكن أن تكون هذه المكونات عبارة عن حاويات ووظائف وأجهزة افتراضية وأطر خدمة.

أعد المطورون من Microsoft فيديوًا منفصلاً قالوا فيه كيف يتعاملون مع المعيار وقدموا عدة أمثلة على الكود الحقيقي.

ما يفكر مجتمع تكنولوجيا المعلومات


CNAB ليس هو الحل الوحيد لإدارة دورة حياة التطبيقات السحابية. على سبيل المثال ، بالنسبة إلى Kubernetes نفسه ، يوجد مدير Crossplane ومدير حزمة Helm. ومع ذلك ، فإن CNAB هو الحل الأول الذي يغطي العديد من الأدوات الشائعة في آن واحد وهو مستقل عن النظام الأساسي. بالمناسبة ، يمكن أن يعمل CNAB أيضًا مع Helm: حتى أنه يوجد مثال مقابل على GitHub.

بسبب هذا التنوع ، كان مجتمع تقنية المعلومات متحمسًا للمواصفات الجديدة. لاحظ أحد مؤسسي Kubernetes - Brendan Burns - أن تثبيت التطبيقات الموزعة باستخدام CNAB يشبه تثبيت تطبيق من محرك أقراص فلاش عادي. وفقا له ، هو بنفس السهولة.

لكن ليس الجميع متأكدين من نجاح الحل الجديد. يشعر بعض المستخدمين بالقلق من أن CNAB تنتظر مصير مديري الحزم الآخرين الذين تم نسيانهم بسبب نقص المشغلين (كما في Kubernetes). لتبديد الشكوك ومناقشة جميع الوظائف الممكنة ، انضم أحد المبدعين للحل إلى الموضوع الموضوعي على Hacker News . أجاب على جميع أسئلة سكان الموقع واستمع إلى مقترحات التنمية.

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



المشاركات من مدونة الشركات لدينا:


المشاركات من قناة Telegram لدينا:

Source: https://habr.com/ru/post/ar436536/


All Articles