محرك تطبيقات جوجل

محرك تطبيقات جوجل (يُشار إليه أيضًا باسم GAE أو App Engine ) هو منصة حوسبة سحابية تُستخدم كخدمة لتطوير واستضافة تطبيقات الويب . تعمل التطبيقات في بيئة معزولة (Sandbox) وتُشغّل عبر خوادم متعددة تُديرها جوجل. [ 2 ] يدعم GAE التوسع التلقائي لتطبيقات الويب، حيث يُخصّص المزيد من الموارد للتطبيق مع ازدياد عدد الطلبات. [ 3 ] تم إصداره كمعاينة في أبريل 2008، ثم أُطلق رسميًا في سبتمبر 2011.

يدعم محرك التطبيقات التطبيقات المكتوبة بلغات Go و PHP و Java و Python و Node.js و .NET و Ruby ، ويمكن دعم لغات أخرى بتكلفة إضافية. [ 4 ] يوفر الإصدار المجاني من الخدمة بيئة قياسية بموارد محدودة. تُفرض رسوم على مساحة التخزين الإضافية أو النطاق الترددي أو ساعات استخدام الخادم. [ 5 ]

سمات

يدعم محرك تطبيقات جوجل بشكل أساسي تطبيقات Go و PHP و Java و Python و Node.js و .NET و Ruby ، على الرغم من أنه يمكنه أيضًا دعم لغات أخرى عبر "بيئات تشغيل مخصصة". [ 4 ]

تتضمن أطر عمل تطبيقات الويب المكتوبة بلغة بايثون والتي تعمل على منصة Google App Engine كلاً من Django و CherryPy و Pyramid و Flask و web2py ، بالإضافة إلى إطار عمل لتطبيقات الويب من تطوير جوجل، والعديد من الأطر الأخرى المصممة خصيصًا لهذه المنصة والتي تم إنشاؤها بعد إطلاقها. [ 6 ] يمكن استخدام أي إطار عمل بايثون يدعم WSGI باستخدام محول CGI لإنشاء تطبيق، ويمكن تحميل إطار العمل مع التطبيق المُطوَّر. كما يمكن تحميل مكتبات الطرف الثالث المكتوبة بلغة بايثون. [ 7 ] [ 8 ]

أضاف الإصدار 1.2.2 من SDK دعمًا لتنزيل البيانات بكميات كبيرة باستخدام بايثون. [ 9 ]

تستخدم قاعدة بيانات Google Cloud Datastore المدمجة في App Engine صيغةً شبيهةً بلغة SQL تُسمى " GQL " ( لغة استعلام جوجل ). لا تدعم GQL عبارة الربط (join ). [ 10 ] بدلاً من ذلك، يمكن إنشاء علاقات واحد إلى متعدد ومتعدد إلى متعدد باستخدام [ 11 ]ReferenceProperty() .

يُعدّ Google Cloud Firestore خليفةً لـ Google Cloud Datastore، ويستبدل لغة الاستعلام GQL بطريقة استعلام قائمة على المستندات، حيث تُعامل الكائنات المخزنة كمجموعات من المستندات. وقد أُطلق Firestore في أكتوبر 2017. [ 12 ]

الخوادم الخلفية

في مؤتمر جوجل I/O 2011، أعلنت جوجل عن واجهات برمجة تطبيقات App Engine الخلفية ، التي سُمح لها بالعمل بشكل مستمر واستهلاك المزيد من الذاكرة. [ 13 ] [ 14 ] تم إيقاف واجهة برمجة تطبيقات الواجهة الخلفية اعتبارًا من 13 مارس 2014، لصالح واجهة برمجة تطبيقات الوحدات. [ 15 ] قدمت واجهة برمجة تطبيقات الوحدات تحكمًا أدق في التوسع، والترقيم، وتخصيص الموارد، مما يسمح للمطورين بتشغيل أجزاء مختلفة من التطبيق بإعدادات أداء متباينة. [ 16 ]

Google Cloud SQL

في أكتوبر 2011، استعرضت جوجل قاعدة بيانات SQL لا تحتاج إلى صيانة، وتدعم JDBC وDB-API. [ 17 ] تتيح هذه الخدمة إنشاء قواعد البيانات العلائقية وتكوينها واستخدامها مع تطبيقات App Engine. يدعم Google Cloud SQL إصدارات MySQL 8.0 و5.7 و5.6. [ 18 ]

قيود

  • يتمتع المطورون بإمكانية الوصول للقراءة فقط إلى نظام الملفات على App Engine. ولا يمكن للتطبيقات استخدام سوى أنظمة الملفات الافتراضية.
  • لا يمكن لـ App Engine تنفيذ التعليمات البرمجية التي يتم استدعاؤها من طلب HTTP (تسمح مهام الخلفية المجدولة بطلبات HTTP ذاتية الاستدعاء).
  • يمكن للمستخدمين تحميل وحدات بايثون عشوائية، ولكن بشرط أن تكون مكتوبة بلغة بايثون خالصة. وحدات C و Pyrex غير مدعومة.
  • لا يُسمح لتطبيقات جافا إلا باستخدام مجموعة فرعية (قائمة فئات JRE المسموح بها) من الفئات الموجودة في الإصدار القياسي من JRE. [ 19 ] هذا القيد غير موجود في بيئة تشغيل App Engine Standard Java8.
  • لا يمكن أن تستمر العملية التي بدأت على الخادم للرد على طلب ما لأكثر من 60 ثانية (مع الإصدار 1.4.0، لم يعد هذا القيد ينطبق على مهام الخلفية).
  • لا يدعم الجلسات الثابتة (المعروفة أيضًا باسم تقارب الجلسة)، بل يدعم فقط الجلسات المكررة بما في ذلك تحديد كمية البيانات التي يتم تسلسلها والوقت اللازم لتسلسل الجلسة.

استضافة التطبيقات

بينما تتيح خدمات أخرى للمستخدمين تثبيت وتكوين أي برنامج متوافق مع أنظمة *NIX تقريبًا، فإن App Engine يشترط على المطورين استخدام لغات البرمجة وواجهات برمجة التطبيقات (APIs) والأطر البرمجية المدعومة فقط . تسمح واجهات برمجة التطبيقات الحالية بتخزين البيانات واسترجاعها من قاعدة بيانات Google Cloud Datastore الموجهة نحو المستندات ، وإجراء طلبات HTTP، وإرسال البريد الإلكتروني، ومعالجة الصور، والتخزين المؤقت. يمكن استخدام Google Cloud SQL [ 20 ] لتطبيقات App Engine التي تتطلب قاعدة بيانات خلفية متوافقة مع MySQL العلائقية. [ 21 ]

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

مخاوف بشأن قابلية النقل

يخشى المطورون من عدم إمكانية نقل التطبيقات من منصة App Engine، ويخشون من الوقوع في فخ هذه التقنية. [ 22 ] واستجابةً لذلك، توجد عدة مشاريع لإنشاء واجهات خلفية مفتوحة المصدر لمختلف واجهات برمجة التطبيقات الاحتكارية/المغلقة لمنصة App Engine، وخاصةً مخزن البيانات.

يقوم AppScale تلقائيًا بنشر تطبيقات Google App Engine وتوسيع نطاقها دون تعديل عبر أنظمة الحوسبة السحابية العامة والخاصة الشائعة، بالإضافة إلى مجموعات الخوادم المحلية. [ 23 ] ويمكنه تشغيل تطبيقات Python وJava وPHP وGo على EC2 وGoogle Compute Engine وAzure وغيرها من مزودي خدمات الحوسبة السحابية.

يوفر إطار عمل الويب Web2py إمكانية الترحيل بين قواعد بيانات SQL ومحرك تطبيقات Google، إلا أنه لا يدعم العديد من الميزات الخاصة بمحرك التطبيقات مثل المعاملات ومساحات الأسماء. [ 24 ]

Kubernetes هو نظام مفتوح المصدر للتحكم في الوظائف ابتكرته جوجل لتجريد البنية التحتية بحيث يمكن تشغيل التطبيقات المعبأة في حاويات مفتوحة المصدر (مثل Docker) على أنواع عديدة من البنية التحتية، مثل Amazon Web Services و Microsoft Azure وغيرها.

حصص الاستخدام

يتطلب استخدام Google App Engine حساب Google للبدء، وقد يسمح الحساب للمطور بتسجيل ما يصل إلى 25 تطبيقًا مجانيًا وعدد غير محدود من التطبيقات المدفوعة. [ 25 ]

يُحدد محرك تطبيقات جوجل حصص استخدام للتطبيقات المجانية. ويمكن طلب تمديد هذه الحصص، كما يمكن لمطوري التطبيقات الدفع مقابل موارد إضافية. [ 26 ]

انظر أيضاً

مراجع

  1. "تقديم Google App Engine + مدونتنا الجديدة" . مدونة Google App Engine . 7 أبريل 2008. تم الاطلاع عليه في 3 ديسمبر 2019 .
  2. "بيئة تشغيل بايثون - محرك تطبيقات جوجل - كود جوجل" . 22 فبراير 1999. تم الاطلاع عليه في 14 فبراير 2012 .
  3. ساندرسون، دان (2009). برمجة محرك تطبيقات جوجل: بناء وتشغيل تطبيقات ويب قابلة للتوسع على بنية جوجل التحتية . دار نشر أورايلي ميديا . رقم ISBN 978-0-596-52272-8.
  4. 1 2 "وثائق Google App Engine | وثائق App Engine" . Google Cloud . تم الاطلاع عليه في 3 ديسمبر 2019 .
  5. "الحصص - محرك تطبيقات جوجل - كود جوجل" . 22 فبراير 1999. تم الاطلاع عليه في 14 فبراير 2012 .
  6. "AppEngineFrameworks - tipfy - الإطار الصغير القوي لـ Google App Engine - استضافة مشاريع Google" . تم الاطلاع عليه في 14 فبراير 2012 .
  7. "ما هو محرك تطبيقات جوجل؟ - محرك تطبيقات جوجل - كود جوجل" . 22 فبراير 1999. تم الاطلاع عليه في 14 فبراير 2012 .
  8. "نظرة عامة على تطبيقات الويب - محرك تطبيقات جوجل - كود جوجل" . 22 فبراير 1999. تم الاطلاع عليه في 14 فبراير 2012 .
  9. "تحميل وتنزيل البيانات - محرك تطبيقات جوجل - كود جوجل" . 22 فبراير 1999. تم الاطلاع عليه في 14 فبراير 2012 .
  10. "مخيم النار الأول: تقديم محرك تطبيقات جوجل (الجزء 3)" . 7 أبريل 2008 - عبر يوتيوب.
  11. "نمذجة علاقات الكيانات - محرك تطبيقات جوجل - مطورو جوجل" . 26 يونيو 2012. تم الاطلاع عليه في 17 يوليو 2012 .
  12. "أطلقت جوجل خدمة Cloud Firestore، وهي قاعدة بيانات جديدة للمستندات لمطوري التطبيقات" . TechCrunch . 3 أكتوبر 2017. تم الاطلاع عليه بتاريخ 16 يوليو 2018 .
  13. مؤتمر جوجل I/O 2011: واجهات برمجة تطبيقات App Engine على يوتيوب
  14. "نظرة عامة على واجهة برمجة تطبيقات بايثون للخوادم الخلفية - بيئة App Engine القياسية لبايثون - منصة جوجل السحابية" . منصة جوجل السحابية .
  15. "نظرة عامة على واجهة برمجة تطبيقات بايثون للخوادم الخلفية - بيئة App Engine القياسية لبايثون - منصة جوجل السحابية" . منصة جوجل السحابية .
  16. "استخدام واجهة برمجة تطبيقات الوحدات | وثائق بيئة Google App Engine القياسية" . Google Cloud . تم الاطلاع عليه في 16 فبراير 2025 .
  17. "Google Cloud SQL: قاعدة بياناتك في السحابة - مدونة Google Code الرسمية" . 6 أكتوبر 2011.
  18. "ميزات Cloud SQL - وثائق Cloud SQL - منصة Google Cloud" . منصة Google Cloud .
  19. "قائمة فئات JRE المسموح بها - محرك تطبيقات جوجل - مطورو جوجل" . 22 فبراير 1999. مؤرشف من الأصل في 20 مارس 2015. تم الاطلاع عليه في 14 يونيو 2013 .
  20. "قواعد بيانات Google Cloud SQL - Cloud SQL - منصة Google Cloud" . منصة Google Cloud .
  21. "استخدام Google Cloud SQL - بيئة App Engine القياسية للغة Java - منصة Google Cloud" . منصة Google Cloud .
  22. غالاغر، شون (9 أبريل 2008). "تحليل: محرك تطبيقات جوجل جذاب، وسيكون من الصعب الإفلات منه" . آرس تكنيكا . تم الاطلاع عليه في 17 يوليو 2012 .
  23. إطلاق AppScale كمنصة نسخ احتياطي مفتوحة المصدر تُعادل Google App Engine . TechCrunch (24 يونيو 2013). تاريخ الاطلاع: 18 سبتمبر 2013.
  24. أُرشف بتاريخ 20 فبراير 2010 في أرشيف الإنترنت (Wayback Machine) .
  25. "أسئلة عامة حول محرك تطبيقات جوجل" . مطورو جوجل . تم الاطلاع عليه في 18 يونيو 2015 .
  26. "فهم حصص التطبيقات مع محرك تطبيقات جوجل" . تم الاطلاع عليه بتاريخ 16 أبريل 2010 .

فهرس