Finch، مشروع AWS مفتوح المصدر لحاويات Linux 

عصفور

Finch، أداة تطوير سطر أوامر لإنشاء حاويات Linux وتشغيلها ونشرها

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

يذكر أن الهدف الرئيسي لمشروع "Finch" هو تبسيط العمل مع حاويات Linux على أنظمة مضيفة غير قائمة على Linux.

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

عن فينش

يعتمد مشروع Finch على العديد من المشاريع مفتوحة المصدر، بما في ذلك nerdctl وcontainerd وBuildKit وLima. يتيح لك هذا البدء فورًا دون الحاجة إلى فهم وتكوين كل هذه المكونات بشكل منفصل (مع أن تشغيل الحاويات على أنظمة Linux ليس بالأمر الهين، فإن إنشاء بيئة لتشغيل حاويات Linux على أنظمة Windows وmacOS ليس كذلك أيضًا).

بالنسبة للعمل، نقدم أداة Finch الخاصة بنا، والتي تخفي تفاصيل العمل مع كل مكون خلف واجهة موحدة. للبدء، ما عليك سوى تثبيت الحزمة المتوفرة، والتي تتضمن كل ما تحتاجه، وبعد ذلك يمكنك إنشاء الحاويات وتشغيلها على الفور.

لبناء واجهة سطر الأوامر في Finch، يتم استخدام التطورات من مشروع nerdctl، الذي يوفر مجموعة من الأوامر المتوافقة مع Docker لبناء الحاويات وتشغيلها ونشرها وتحميلها (البناء والتشغيل والدفع والسحب وما إلى ذلك)، مثل بالإضافة إلى ميزات اختيارية إضافية مثل التشغيل بدون جذور، وتشفير الصور، وتوزيع صور P2P باستخدام IPFS، وشهادة الصور الموقعة رقميًا.

بالإضافة إلى ذلك، يُذكر أنه يتم استخدام Containerd كوقت تشغيل لإدارة الحاويات، بينما يتم استخدام مجموعة أدوات BuildKit لإنشاء صور بتنسيق OCI ويتم استخدام Lima لبدء تشغيل أجهزة Linux الافتراضية وتكوين مشاركة الملفات وإعادة توجيه منفذ الشبكة.

أما بالنسبة لميزات Finch، فتشمل أبرزها دعم القرص الثابت، وتحسينات في وقت تهيئة الجهاز الظاهري، وتقليل وقت بدء التشغيل إلى النصف للمطورين، ودعم تجريبي لإطار عمل المحاكاة الافتراضية من Apple، وتوفير تسريع إضافي للأداء في Finch VM، وأداة قياس تعمل على كل عملية إيداع للتحقق من صحة مقاييس الأداء الحالية.

حاليًا، يوجد Finch في الإصدار 1.0، والذي تم تحديده كأول إصدار مستقر، ومناسب لعمليات نشر الإنتاج والاستخدام اليومي على نظام macOS الأساسي. ومن المقرر إضافة دعم العملاء لنظامي التشغيل Linux وWindows في الإصدارات المستقبلية.

نريد أن تكون Finch أداة تطوير مستقرة وفعالة في وقت التشغيل تسهل على المستخدمين إنجاز مهام التطوير الخاصة بهم عن طريق إنشاء الحاويات وتشغيلها محليًا والتفاعل مع سجلات الحاويات. يمثل هذا الإصدار 1.0 إيماننا بأن Finch جاهز للاستخدام الإنتاجي كأداة يومية لمطوري الحاويات على نظام التشغيل macOS.

وكجزء من المشروع، أعدت أمازون أيضًا العديد من الامتدادات التي تم نقلها إلى الجزء الرئيسي من مشروع nerdctl. على وجه الخصوص، تم إعداد مكونات التوقيع الرقمي للصور، بالإضافة إلى دعم إنشاء الصور وتشغيلها باستخدام تقنية SOCI (Seekable OCI)، التي تم إنشاؤها في الأصل لـ AWS وتسمح بتحميل صور الحاوية بشكل أسرع بشكل ملحوظ (تسمح لك SOCI ببدء التشغيل بدون في انتظار تحميل الصورة بالكامل وتحميل الأجزاء اللازمة للمهمة حسب الحاجة).

للمهتمين بالمشروع، كُتب كود Finch بلغة Go ويُوزع بموجب ترخيص Apache 2.0 على GitHub . يمكنكم الاطلاع على تفاصيل الإصدار في الإعلان الأصلي على مدونة AWS.


أضف كمصدر مفضل في جوجل