كيفية إنشاء تطبيقات ويب قابلة للتطوير
يسمى تطبيق الويب القابل للتطوير بذلك لأنه يمكن أن يأخذ المزيد من الطلبات خطيًا بطريقة أكثر رشيقة. مع إضافة المزيد من الأجهزة ، سيتمكن موقع الويب من التعامل مع الكثير من الطلبات في وقت واحد. إن القول بأن موقع الويب لديه قابلية للتوسع في العمل يعني ببساطة أنه كلما زاد عدد المستخدمين وطلبات تجاوز الحد الأقصى ، سيكون موقع الويب قادرًا على التعامل معهم جميعًا بشكل متساوٍ.
مثال على موقع شائع تم تطويره بنجاح.
بالنظر إلى نمو Facebook ، سيكون من المدهش أن نلاحظ كيف نما على مر السنين. حتى لو لم تكن مستخدمًا عاديًا لفيسبوك ، فسيكون من الصعب تجاهل تأثير قناة التواصل الاجتماعي على المؤسسات والشركات. وفقًا لإحصائية ، هناك أكثر من 1.94 مليار مستخدم نشط على Facebook لشهر مارس 2017 ، مسجلاً زيادة تزيد عن 18٪ كل عام. أما بالنسبة للمستخدمين النشطين يوميًا على الأجهزة المحمولة ، فإن الأرقام مذهلة عند 1.15 مليار مستخدم.
تمت كتابة Facebook بلغة PHP ، ويكمن نجاحهم الهائل في قدرته على التوسع ليشمل مليون مستخدم ، وذلك بفضل هندسة التطبيقات الضخمة. تتجنب البنية الاختناقات ، مما يجعلها قابلة للتطوير بأي لغة. شكل المنحنى (المتعلق بتكلفة الاستخدام) هو ما يحدد بنية التطبيق. عندما يكون التطبيق قابلاً للتطوير ، سيكون المنحنى قطريًا بشكل أكبر ، ولكن عند مواجهة الاختناقات ، فإنه قد يتحول بشكل عمودي تقريبًا.
اللغة أو قاعدة البيانات أو المترجم المستخدم يدفع أيضًا بطارخًا مهمًا في شكل المنحنى غير الخطي. إذا كان هناك عيب أساسي في التصميم (أكثر من تفاصيل التنفيذ) ، فإن المنحنى هو مفتاح النمو السريع. تتم رعاية بنية Facebook المتطورة باستمرار من قبل بعض أفضل المهندسين في الصناعة. يمتلك Facebook نسخته الخاصة من PHP المحسّن وقد طور برنامجًا جديدًا تمامًا مثل Apache Cassandra.
الآن يأتي سؤال المليون دولار – كيف تنشئ تطبيقات ويب قابلة للتطوير؟
فيما يلي بعض الخيارات البسيطة لتوسيع نطاق تطبيقات الويب الخاصة بك:
1. التوسع
بمجرد أن يصبح الحمل على الإطارات الخلفية ثقيلًا جدًا بحيث لا يمكن تحمله ، لا يمكن للموقع أن يعمل. من الخيارات الممكنة ، ولكن من المحتمل أن تكون مكلفة للغاية ، زيادة الموارد على أساس كل كيان. مقياس هذا على أبعاد أخرى مثل سرعة الشبكة ، IOPs ، وسعة التخزين والذاكرة كذلك. السبب في أن هذا يصبح مكلفًا لأنه لا يوفر مرونة مضمنة ، لذلك قد يصبح هذا مكلفًا عندما يكون الحمل منخفضًا.
ومع ذلك ، من المهم ملاحظة أن التوسع في البنية يحتاج إلى موازن تحميل (طلبات من المستخدمين النهائيين ، والحدود بين الشبكات الخارجية والدولية.) حتى يتمكن من دفق الاتصالات من نوع معين ومجموعة المسح (لتتبع حمل النظام ، وتوليد وحدة المعالجة المركزية الجديدة مثيلات وتتبع جرد المثيلات النشطة).
2. التخزين المؤقت
أدت الحاجة إلى التوسع إلى الطلب والنشر على نطاق واسع. يمكن أن يؤدي التخزين المؤقت إلى تحسين الأداء وتقليل استهلاك الموارد. تشمل استخدامات الموارد وحدة المعالجة المركزية ورسوم S3 ورسوم مخزن البيانات واستخدام واجهة برمجة التطبيقات الخارجية وقاعدة البيانات. لضمان إمكانية تطبيق التخزين المؤقت ، قم بإجراء تحليل للبيانات لمساعدتك في فهم توزيعات وأحجام البيانات المطلوبة ، بما في ذلك نسبة القراءة والكتابة.
3. نوع الأقسام المطلوب القيام بها
الغرض من القياس هو بالطبع إضافة سعة. يمكن القيام بذلك بطريقتين – عموديًا أو أفقيًا. في القياس الرأسي ، يمكنك إضافة المزيد من الموارد ، على سبيل المثال ، محركات الأقراص الأكبر أو الأكثر صعوبة إلى خادم فردي. عملية الحوسبة أكبر ، مع ذاكرة أفضل ووحدة معالجة مركزية أسرع. في القياس الرأسي ، تأخذ موردًا فرديًا وتزيد من سعة المعالجة. في القياس الأفقي ، يمكنك إضافة المزيد من العقد. الطريقة الأكثر شيوعًا للقيام بالتدرج الأفقي هي تقسيم الخدمات إلى أقسام أو أجزاء. سيتم تخصيص هذه الأجزاء لتلبية وظائف محددة (على سبيل المثال ، تلبية مصالح أنواع مختلفة من المستخدمين). وتتمثل فائدة القطع في أنها يمكن أن توفر مخازن ذات سعة إضافية. ومع ذلك ، فإن المصيد هنا هو أن التصميم الأولي الخاص بك يجب أن يتضمن توفيرًا للقياس الأفقي ، لأن إضافة هذا لاحقًا قد يكون مهمة صعبة حقًا.
الأشياء التي يجب تذكرها أثناء قياس التطبيقات ، لاحظ هذه النقاط أثناء المهمة
1. لا تنازلات على الموقع الجهوزية
يجب أن يكون الموقع متاحًا للمستخدمين في كل مرة. تخيل تشغيل متجر e-commence ثم تعطل الخادم في كل مرة يكون هناك ارتفاع في الطلب. لذا فإن وقت تشغيل موقع الويب مهم جدًا ، وقم بتوسيع نطاق تطبيق الويب الخاص بك بحيث يكون متاحًا طوال الوقت ، بغض النظر عن فشل النظام وانقطاعاته.
2. خيار الاسترجاع
يمكن للمستخدمين العودة لعرض نفس البيانات ، لذلك يجب أن يكون لديهم وصول جاهز إلى العقل. ما لم يكن بالطبع ، لديك تحديث البيانات. يمكنك كسب ثقة المستخدمين إذا علموا أنه يمكنهم الوصول إلى بيانات موقع الويب في أي وقت يريدون ذلك.
3. الأداء
الهدف الرئيسي من توسيع نطاق التطبيق هو ضمان الأداء الممتاز. من المهم للغاية الاستجابة السريعة مع الاسترداد الفوري متبوعًا بزمن انتقال منخفض.
4. سهولة الإدارة
بعد توسيع نطاق موقع الويب ، من المهم للغاية التحقق من إمكانية إدارة الموقع بحيث يصبح من السهل تشغيله وصيانته وتحديثه.
استنتاج
هناك اعتقاد خاطئ بأن PHP ليست قابلة للتطوير. كيف يمكن إذن تشغيل PHP للمواقع الكبيرة الأخرى؟ تتعلق قابلية التوسع ببنية التطبيق أكثر من مجرد اللغة. يعتمد الوقت اللازم لتطوير تطبيقات الويب القابلة للتطوير على مدى تعقيد التطبيق والإطار المستخدم. هناك طبقتان مختلفتان من طبقات البرمجة في تطبيق قابل للتطوير: الواجهة الأمامية والنهاية الخلفية . كما يوحي الاسم ، فإن الواجهة الأمامية هي شيء يتفاعل معه المستخدم ويمكن أن تكون الواجهة أي شيء من Android إلى iOS. يتكون الجزء الخلفي من حوالي 80 ٪ من إجمالي العمل ، لكن المستخدم ليس على علم بهذا الجزء من تطبيق الويب الخاص به. تلعب الوظيفة دورًا رئيسيًا في قابلية التوسع. قد يرغب المستخدم في تحميل الصور ، لذلك يجب مراعاة قابلية التوسع في التخزين لأنه قد يحتاج إلى استعادتها في أي وقت. من أجل تنزيلات وطلبات أفضل للصور ، يعد زمن الوصول المنخفض أمرًا مهمًا للغاية.
فيما يلي بعض القراءات الشيقة بخصوص هذا الموضوع:
7 مراحل لتوسيع نطاق تطبيقات الويب ، استراتيجيات للمهندسين المعماريين.
كيف نبني تطبيقات ويب قابلة للتطوير؟
بناء تطبيقات قابلة للتطوير على منصة جوجل كلاود.
Flickr.com/ klarititemplateshop.com/ Blogtrepreneur
نبذة عن المؤلف: ديباك هو رئيس PHPBabu ويعمل أيضًا في الشركة الأم YUHIRO Technologies Private Limited كمدير مكتب.