تشغيل S3 على لابتوبك؟ هذا سيغير كل شيء (MinIO)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00فواتير S3 قد تصبح باهظة للغاية، فالتطبيقات تولد الكثير من البيانات لدرجة أن كل عملية رفع وتنزيل
00:00:05قد تصبح ثقيلة. ويعتقد معظم المطورين أن تخزين الكائنات يعني شيئاً واحداً فقط: السحابة.
00:00:09لكن هذا ليس صحيحاً دائماً. ماذا لو استطعت تشغيل مخزن كائنات متوافق مع S3 مباشرة على جهازك المحمول؟
00:00:15هنا يأتي دور Mini I/O. إنه سريع، ومتوافق مع S3، ويعمل في أي مكان تقريباً،
00:00:20حتى محلياً على جهاز الماك الخاص بك. في الدقائق القليلة القادمة، سأريكم ثلاثة أشياء.
00:00:25كيفية إعداده وتشغيله، ولماذا يستخدمه المطورون، وحقيقة أدوات مثل هذه.
00:00:30[موسيقى]
00:00:35إذا كنت تحاول تقليل تكاليف السحابة أو تسهيل عملية التطوير، فقد يوفر عليك هذا الكثير
00:00:39من العناء. إليك ما يحله هذا حقاً. معظم المطورين والفرق يتعاملون مع نفس هذه المشاكل
00:00:45الثلاث. فواتير السحابة التي يصعب التنبؤ بها. البيانات البعيدة جداً عن التطبيق الذي يستخدمها،
00:00:51وأحمال عمل الذكاء الاصطناعي التي تحتاج إلى تخزين محلي سريع. يمنحنا Mini I/O خياراً آخر. نحصل على
00:00:57توافق مع S3، وأداء قوي، وتحكم كامل دون الاعتماد على السحابة.
00:01:01إنه رائع للتطوير المحلي، والنماذج الأولية، وخطوط أنابيب RAG، والوسائط، والنسخ الاحتياطي، وكل ذلك. ونعم،
00:01:07يمكنك تشغيل النظام بالكامل محلياً، بدون VPS، وبدون حساب سحابي. الآن، تنبيه سريع،
00:01:12مستودع جيت هاب أصبح الآن مؤرشفاً وهو في وضع الصيانة. لذا لا يمكننا استخدامه
00:01:17للأبد. لقد حولوا تركيزهم من Mini I/O إلى Mini I/O AI Store، لكن I/O لا يزال موجوداً أيضاً.
00:01:24يمكننا استخدام هذا لفترة جيدة مع فوائد حقيقية. إذا كنت تستمتع بالأدوات التي تسرع
00:01:29سير عملك، تأكد من الاشتراك. لدينا فيديوهات تصدر طوال الوقت.
00:01:32حسناً، دعوني أريكم مدى بساطة هذا. لدي Mini I/O يعمل في حاوية Docker واحدة
00:01:37هنا على جهاز M4 Pro الخاص بي. أولاً، أقوم بتوصيله وسأقوم بتشغيل MC alias set local. سأقوم بإضافة
00:01:44المضيف المحلي (localhost) الخاص بي واستخدام بيانات تسجيل الدخول المعطاة حالياً. ثم يمكنني إنشاء حاوية (bucket)،
00:01:50MC, MB local demo bucket، يمكننا تسميتها هكذا. وبعد ذلك سأبدأ برفع بضعة ملفات،
00:01:55صورة، نص، JSON. أولاً صورتي، ثم يمكنني إضافة ملف نصي خفيف.
00:02:02وأخيراً، لنقم بإضافة بعض بيانات JSON هنا. الآن، إذا عرضت كل شيء، ها هو ذا. هيكل نظيف،
00:02:08تماماً مثل S3. الآن إليكم الجزء الذي يهتم به معظمنا بالفعل. سأقوم بتشغيل نص Mini Python
00:02:14هذا هنا. ولا يزال يستخدم Boto3، بنفس أسلوب كود AWS. لا توجد تغييرات هنا.
00:02:22وفي المتصفح، هو موجود فقط على localhost. افتح الحاوية. يمكنني توسيع المجلدات. يمكنني
00:02:27النقر على الصورة وها هي المعاينة. يبدو هذا مثل S3، باستثناء أنه يعمل على جهازك المحمول.
00:02:33إذاً ما هو Mini I/O حقاً؟ في الأساس، هو خادم تخزين كائنات يتحدث بلغة
00:02:39Amazon S3 API. لذا تحتفظ بكل ما تعرفه مسبقاً. يمكننا الاحتفاظ بنفس الـ SDKs، وبنفس الأوامر،
00:02:46ونفس النموذج الذهني، ولكن بدلاً من أن تكون مرتبطاً بـ AWS، فإنه يعمل أينما تريد. Docker،
00:02:53Kubernetes، الأجهزة الفعلية، الحافة، أو فقط على جهازك المحمول كما أفعل هنا. وهذا يهم الآن
00:02:59أكثر مما كان عليه في الماضي لأن تطبيقاتنا تزداد استهلاكاً للبيانات مع مرور السنين. لأنه عندما
00:03:05يكون جهاز الكمبيوتر الخاص بك هنا وبياناتك في مكان آخر، ينتهي بنا الأمر بدفع الكثير من المال مقابل ذلك،
00:03:10في زمن الاستجابة وفي تكاليف السحابة. Mini I/O يغير كل هذا. إنه يقرب التخزين من مكان حدوث
00:03:17العمل. ولهذا السبب هذا الإعداد مفيد جداً للتطوير والاختبار. ليس للإنتاج،
00:03:22ولكن لهذين الأمرين هو جيد حقاً. في حالتي، أقوم بتشغيله محلياً، مما يجعله رائعاً
00:03:27لبناء وتصحيح أخطاء التطبيقات كثيفة البيانات قبل حتى لمس بيئة الإنتاج. الآن لدينا الكثير من
00:03:33الخيارات الأخرى بالتأكيد. مثل AWS S3، تحصل على تخزين مدار بالكامل ونطاق هائل. ولكن مرة أخرى،
00:03:40المقايضة هي التكلفة، والرسوم، ثم تصبح مرتبطاً بـ AWS. مع Ceph، تحصل على شيء رائع
00:03:46وقابل للتوسع أيضاً، ولكنه أكثر تعقيداً في التشغيل. أجزاء متحركة أكثر، وجهد إداري أكبر. الآن النمط الشائع
00:03:52قد يبدو كالتالي. يمكنني استخدام Mini I/O محلياً للتطوير، و Mini I/O أو S3
00:03:57للبيئة التجريبية (staging) وفي السحابة للإنتاج. هذا يعمل لأن إعدادك المحلي لا يزال يطابق نموذج S3
00:04:03الذي يستخدمه تطبيقك بالفعل أو سيستخدمه. لذا إذا كان تطبيقك يتعامل مع الكثير من البيانات، فإن Mini I/O منطقي تماماً
00:04:10بينما نحن في مرحلة التطوير. حسناً، دعوني أكون صريحاً لثانية. هل يجب أن تستخدم هذا؟ حسناً،
00:04:15من السهل نشره، فهو ملف تنفيذي واحد أو Docker، وتوافقه مع S3 قوي، وهو سريع جداً.
00:04:21وإذا كنت تنقل الكثير من البيانات، فإن تجنب رسوم الخروج (egress fees) هو فوز كبير. ولكن هنا الأمر،
00:04:26إصدار Mini I/O المفتوح المصدر الذي تراه هنا لا يزال مجانياً تحت رخصة AGPL، الإصدار 3.
00:04:33وهو يعمل جيداً للعروض التوضيحية، والتطوير المحلي والنماذج الأولية. الآن مجدداً، لقد حولوا
00:04:38تركيزهم إلى Mini I/O AI store. هذا يتضمن فئة مجانية للاستخدام على عقدة واحدة، ولكنهم
00:04:43يضيفون الآن فئات مدفوعة للتجميع (clustering)، والتوافر العالي، وكل هذه الميزات الأخرى.
00:04:48لذا للتعلم، والتطوير المحلي والمشاريع الصغيرة، هذا رائع حقاً. إنه جيد. لكن لمجموعات الإنتاج،
00:04:53ستحتاج على الأرجح إلى AI store أو بدائل مثل Ceph أو Garage. لذا فالأمر
00:04:59يستحق إذا كنا في مرحلة التطوير المحلي أو مجرد تجارب، ولكن ربما ليس إذا كنت بحاجة إلى بنية تحتية مدارة بالكامل أو
00:05:04توافر عالٍ مدمج من اليوم الأول. يمكننا الاستمرار مع الخيارات الأخرى لهذا. Mini I/O أو AI store المجاني
00:05:11يمنحك تخزيناً بأسلوب S3، وأداءً قوياً، وتحكماً كاملاً ببياناتك دون أن تضطر
00:05:16لدفع تكاليف السحابة الباهظة بعد. ويمكنك تجربته الآن على جهازك المحمول كما فعلت أنا هنا.
00:05:21إذا كنت تستمتع بالأدوات مفتوحة المصدر ونصائح البرمجة كهذه لتسريع سير عملك،
00:05:25تأكد من الاشتراك في قناة Better Stack. سنراكم في فيديو آخر.

Key Takeaway

يوفر MinIO بيئة تخزين كائنات محلية متوافقة مع S3 تتيح للمطورين بناء وتصحيح تطبيقات البيانات الضخمة دون تكاليف سحابية أو تأخير في زمن الاستجابة.

Highlights

يعمل MinIO كخادم تخزين كائنات متوافق تماماً مع واجهة برمجة تطبيقات S3 على الأجهزة المحلية مثل MacBook M4 Pro.

يوفر التشغيل المحلي لـ MinIO تكاليف رسوم خروج البيانات (egress fees) المرتفعة في الخدمات السحابية مثل AWS.

يسمح استخدام مكتبة Boto3 في بايثون بالتفاعل مع MinIO محلياً بنفس كود AWS دون أي تعديلات برمجية.

يدعم MinIO النشر السريع عبر حاوية Docker واحدة أو ملف تنفيذي واحد مما يجعله مثالياً لبيئات التطوير والاختبار.

انتقل تركيز المشروع من MinIO التقليدي إلى MinIO AI Store مع بقاء النسخة المفتوحة المصدر تحت رخصة AGPLv3.

يقلل التخزين المحلي من زمن الاستجابة (latency) بشكل كبير عند التعامل مع تطبيقات الذكاء الاصطناعي كثيفة البيانات.

Timeline

تحديات تخزين الكائنات السحابية وبديل MinIO

  • تؤدي عمليات الرفع والتنزيل المتكررة في S3 إلى فواتير باهظة وغير متوقعة.
  • يتطلب تطوير تطبيقات الذكاء الاصطناعي تخزيناً محلياً سريعاً للبيانات القريبة من التطبيق.
  • يمنح MinIO المطورين تحكماً كاملاً في البيانات وأداءً قوياً دون الحاجة إلى حساب سحابي أو VPS.

يعاني المطورون من تكاليف السحابة التي يصعب التنبؤ بها ومن بعد البيانات الجغرافي عن التطبيقات التي تستخدمها. يظهر MinIO كحل لهذه الأزمات من خلال توفير توافق كامل مع S3 على الأجهزة المحلية. هذا التوجه يدعم خطوط أنابيب RAG والنسخ الاحتياطي والنماذج الأولية بكفاءة عالية.

الإعداد الفني والتوافق البرمجي

  • يعمل MinIO داخل حاوية Docker واحدة ويدمج مع أدوات سطر الأوامر عبر MC alias.
  • تحافظ واجهة MinIO في المتصفح على هيكلية المجلدات والمعاينات تماماً مثل تجربة S3.
  • يدعم النظام العمل مع نفس أدوات SDK والأوامر والنماذج الذهنية المستخدمة في AWS.

تتم عملية الإعداد عبر تشغيل حاوية Docker وتعيين المضيف المحلي كهدف لتخزين البيانات. يمكن إنشاء الحاويات (Buckets) ورفع ملفات الصور وJSON باستخدام أوامر بسيطة تماثل أوامر AWS. لا يتطلب الكود البرمجي المكتوب بلغة بايثون أي تغيير عند الانتقال من السحابة إلى الجهاز المحلي بفضل دعم مكتبة Boto3.

مقارنة الحلول وحالات الاستخدام المثالية

  • يتفوق MinIO على Ceph في سهولة التشغيل وقلة التعقيد الإداري وعدد الأجزاء المتحركة.
  • يعالج التخزين المحلي مشكلة ضياع الوقت والمال الناتجة عن المسافة بين الكمبيوتر ومراكز بيانات السحابة.
  • يعتمد النمط الاحترافي على استخدام MinIO للتطوير المحلي وS3 لبيئات الإنتاج النهائية.

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

الترخيص والتحول نحو AI Store

  • تتوفر النسخة مفتوحة المصدر من MinIO تحت رخصة AGPL الإصدار الثالث للمشاريع الصغيرة والتعلم.
  • يتطلب الحصول على ميزات التوافر العالي والتجميع (Clustering) الانتقال إلى فئات AI Store المدفوعة.
  • تعتبر بدائل مثل Ceph أو Garage خيارات مطروحة عند الحاجة لبنية تحتية مدارة بالكامل في بيئة الإنتاج.

يظل MinIO خياراً ممتازاً لتعلم هندسة التخزين وبناء المشاريع الفردية بفضل ملفه التنفيذي الموحد. تحول تركيز الشركة حالياً نحو AI Store الذي يوفر فئة مجانية للعقدة الواحدة مع إضافة رسوم للميزات المتقدمة. يظل القرار النهائي مرتبطاً بالحاجة إلى التوافر العالي أو الرغبة في تجنب تكاليف السحابة في مراحل التطوير.

Community Posts

View all posts