أطلقت AWS أداة جديدة ومثيرة للاهتمام للمطورين، وهي محاكي محلي (local emulator) يهدف إلى تسهيل عملية اختبار التطبيقات التي تتفاعل مع خدماتها السحابية. هذه الأداة، المسماة ببساطة «AWS Emulator»، تتيح لنا محاكاة نقاط نهاية واجهات برمجة تطبيقات AWS (APIs) على أجهزتنا الخاصة، مما يلغي الحاجة للاتصال الفعلي بالسحابة أثناء مرحلة التطوير والاختبار.
كيف يعمل محاكي AWS؟
المحاكي ليس نسخة كاملة من سحابة AWS، بل هو برنامج محلي يقدم واجهات برمجة تطبيقات AWS. هذا يعني أن المطورين يمكنهم استخدامه لاختبار برمجياتهم في بيئة محلية، سواء على جهاز الكمبيوتر الخاص بهم، خادم تطوير، أو حتى في أنظمة التكامل المستمر (CI). بما أن هذه الاختبارات لا تتطلب الاتصال بسحابة AWS الفعلية، فإن استخدام الأداة مجاني بالكامل.
لقد اختارت AWS تطوير المحاكي بلغة Rust، وهو قرار يساعد في الحفاظ على استهلاكه المنخفض لوحدة المعالجة المركزية والذاكرة، مما يجعله خفيفًا على أجهزة الكمبيوتر المحمولة. يدعم المحاكي واجهات برمجة تطبيقات AWS التي لها نموذج API منشور في مستودع نماذج API الخاص بـ AWS على GitHub، والتي تتجاوز 1300 عنصر.
من المهم الإشارة إلى أن المحاكي لا يكرر جميع ميزات سحابة AWS بشكل كامل. على سبيل المثال، هو لا يقيم سياسات IAM (Identity and Access Management) بنفس طريقة AWS، ويعمل كل محاكي كحساب واحد بدون سلوكيات عابرة للحسابات أو المناطق. ومع ذلك، تسعى AWS لتحقيق «دقة كاملة» (full fidelity)، بحيث ينتج المحاكي نفس النتائج للاستدعاءات الصحيحة ونفس الأخطاء للاستدعاءات غير الصحيحة، وتنشر «درجات دقة» (fidelity scores) تفصيلية لمختلف الخدمات.
دور وكلاء الذكاء الاصطناعي في الاختبار
أحد الجوانب المثيرة للاهتمام هو إمكانية استخدام وكلاء الذكاء الاصطناعي لتشغيل المحاكي. توصي AWS باستخدام «مهارة aws-emulator» (aws-emulator skill) لوكلاء البرمجة المدعومين بالذكاء الاصطناعي لتسهيل التحقق مما إذا كان المشروع سيعمل مع الأداة. يقوم الوكيل، باستخدام هذه المهارة، بتحديد العمليات والموارد التي يعتمد عليها مشروعك، ومقارنتها باختبارات ودجات الدقة للمحاكي، ثم يخبرك بالأجزاء التي يمكنك الاعتماد عليها في المحاكي والأجزاء التي قد تتصرف بشكل مختلف عن سحابة AWS.
يتوفر المحاكي كحزمة RPM أو Debian. أما مستخدمو Mac وPC فسيحتاجون إلى تشغيل Docker وصورة (image) للمحاكي. عملية التثبيت والتشغيل بسيطة: تقوم بتثبيت المحاكي، تبدأ تشغيله، ثم توجه أدواتك إلى نقطة النهاية المحلية. يقوم المحاكي بتوليد بيانات اعتماده الخاصة وملف تكوين وشهادة، والتي يتم حفظها في مسار محدد. بعد ذلك، يمكنك تعيين متغيرات البيئة لكي يتحدث AWS SDK مع جهازك بدلاً من سحابة AWS، وتبقى شفرة تطبيقك دون تغيير. هذا يسمح لاختبارات الوحدات وسكربتات CLI ووكلاء البرمجة بالعمل كما هي، ولكن على جهازك محليًا.
برأينا، هذه الأداة تغيير قواعد اللعبة للمطورين الذين يعملون بكثافة مع AWS. هي لا تقلل فقط من تكاليف الاختبار المحتملة، بل تسرع أيضًا دورة التطوير بشكل كبير من خلال توفير بيئة اختبار فورية ومحلية. القدرة على اختبار APIs AWS دون الحاجة إلى نشر الكود على السحابة، خاصة مع دعم وكلاء الذكاء الاصطناعي للتحقق من التوافقية، تجعل عملية تطوير التطبيقات السحابية أكثر كفاءة وأقل عرضة للأخطاء. نرى أنها خطوة مهمة من AWS نحو تمكين المطورين بمرونة أكبر.
المصدر: theregister.com