كيف تختار الخدمات المناسبه لك بعنايه ؟
سؤال يتجاهله اغلب التقنيين , حيث أنهم بالافتراض
معتادون على خدمات معينه يتم تعميمها في كافة استخداماتهم دون مراعاة لمتطلبات
كل حالة , فمثلا عند برمجه سكربت جديد لا ينظر إلى متطلبات السكربت والضغط
المتوقع عليه وغيرها, ويتم يختار الويب سيرفر بناء على ما تم اختياره من قبل
مواقع أخرى سابقة ويشمل ذلك سيرفر قواعد البيانات وسيرفر الايميل وغيرها من
الخدمات التي تؤثر بشكل كبير على الأداء ,مستوى الحماية, الإصلاحات ,و سهوله
التطوير ,في السطور القادمة سوف اتطرق بشكل مبسط بالخطوات
كيف ممكن نختار الخدمه المناسبه لنا
أولا: تحليل متطلبات السكربت (البرنامج) :
السكربت سواء تم برمجته بشكل مسبق ومكتمل او انه في طور
البرمجة ,يجب أن تؤخذ بعين الاعتبار العناصر التالية :
1. عدد زوار الموقع(بشكل تقريبي ).
2. نوع الخدمات المقدمة للزائر.
3. لغة البرمجة المستخدمة.
4. وقت تسليم المشروع.
5. تكلفة المشروع(المبلغ المخصص له).
توجد عدة عناصر اخرى سيتم شرحها لاحقا مرورا بالخطوات التالية
نكتفي بهذه العناصر .. سوف يتم شرحها لاحقا بعد تكمله بقيه الخطوات
ثانيا: اختيار الهاردوير للسيرفر
(العتاد كما يسميه البعض)
استنادا للعناصر التي تم ذكرها سابقا ,يمكننا تحديد جميع مواصفات السيرفر في
هذه المرحلة بشكل مبدئي و ليس بدرجة عالية من الدقة لأنه كلما كثرت المواصفات
وزادت زاد مستوى الأداء .وقد نصل لمرحلة معينة لا يزداد فيها مستوى الأداء
لاعتماده على عناصر أخرى غير الهاردوير ومواصفاته . نوع المعالج , سرعه
المعالج , نوع وسرعه الرام , نوع وسرعه الهاردسك , سرعه كرت ألشبكه وسرعه
الاتصال جميعها يتم اختيارها بناء على العناصر التي تم ذكرها في الخطوة الأولى
. على سبيل المثال لو افترضنا أننا نملك شركه استضافه بسيطه مكونه من 50 موقع من مواقع صغيره – متوسطه الحجم من حيث الزوار والضغط
وتقدم خدمات بسيطه اشبهه بكونها صفحات ثابته , في هذه الحاله نحتاج معالج من المعالجات المتوسطه القوه مثال Core 2 Duo ليس بالضروره i7 او i5 , بالنسبه للرام فهي العامل الاساسي وتم ذكر تفاصيل اختيارها في القسم التالي بالنسبه لسرعه الرام قد يخفى على بعضكم ان الرام تختلف بالسرعه حيث بعض الانواع تكون بسرعات مختلفه 66 , 100 , 133 MHz تختلف اختلاف جذري من ناحيه الاداء في حالتنا هنا المتوسط يعتبر معقول وهو 100
الهاردسك , الهاردسك انواع كثيره حاليا يوجد نوعان منتشره وهم SATA,SAS ساضع بجدول الفروق الجوهريه بين الاثنين :
\ | SAS | SATA |
السرعه | 15000 RPM | 7200RPM |
التأخير | 5.7 جزء من الثانيه | 13 جزء من الثانيه |
الكتابه\القراءه | اما كتابه او قراءه | كتابه وقراءه بنفس الوقت |
للمثال المذكور ممكن استخدام ساتا يفي بالغرض لكن لاداء افضل نستخدم ساس لنظام التشغيل ونستخدم ساتا للتخزين الكبير لانه ارخص بالسعر
واكثر بالحجم .
ثالثا: اختيار الويب سيرفر
( خادم الويب )
وذلك بناء على عاملين مهمين هما عدد الزوار ونوع الخدمة المقدمة
, بالنسبة لعدد الزوار للموقع , لو افترضنا أن موقعا عدد زواره اكثر من
1000 في نفس الوقت ,إذا تم اختيار سيرفر أباتشي سيكون خيارا متعب من ناحية
الرام حيث ان كل مستخدم يحتاج قرابة 2 ميغا من الرام فاقل رام نحتاجها في
هذه الحالة هي 3-4 جيجا رام , بالنسبة لنوع الخدمة المقدمة ينبغي أن نتساءل
أولا عن نوع صفحات الانترنت المقدمة هل هي بسيطة و ثابتة ؟,هل ستقدم خدمات
تقوم بحسابات واسترجاع بيانات ؟ ,هل ستقوم بتوفير محتوى فيديو أو صوتي
كاليوتيوب وغيرهم ؟ للاجابة على هذه الاسئلة ينبغي ذكر نوعين رئيسين
من الويب سيرفر الاول يخدم الملفات المتغيره ( الداينمك ) كصفحات الـ بي اتش بي وغيرها والاخر يخدم الملفات الثابته ( الستاتك ) كملفات الفيديو والصوت والصور , الاباتشي يعتبر من افضل السيرفرات بخدمه الملفات المتغيره , في هذا الجدول فروقات بالاداء والمميزات بين بعض انواع الخوادم:
Apache |
Nginx |
Lighttpd |
IIS |
/ |
process-based server لكل طلب يتم فتح نسخه جديده من البرنامج |
asynchronous server نسخه واحده من البرنامج لكل الطلبات |
asynchronous server نسخه واحده من البرنامج لكل الطلبات |
– |
Architectureالبناء |
1000req/sec |
10,000req/sec |
10,000req/sec |
143req/sec |
concurrent requests الطلبات في نفس الوقت |
Memory consuming يستهلك الذاكره |
Save Memory يقلل استخدام الذاكره |
Save Memory يقلل استخدام الذاكره |
– |
Performance الاداء |
|
Including Apache and Lighttpd featuresيحتوي على مميزات اللايتباد والاباتشي |
|
Serving ASP filesيخدم ملفات الاي اس بي |
Feature المميزات |
Easy of conf سهل التركيب |
Easy of conf سهل التركيب |
Easy of Conf سهل التركيب |
Medium متوسط الصعوبه |
Ease of Use سهوله التركيب |
Very High مشهور جدا |
High مشهور |
High مشهور |
Very High مشهور جدا |
Popularity الشهره |
رابعا: اختيار خادم قواعد البيانات
( داتابيس سيرفر )
وذلك بناء على عده عوامل منها:
1.السعر
2.الحجم
3.استخدام الموارد ( رام , هاردسك ومعالج وغيرها )
4.الفهرسه
في هذا الجدول مميزات بعض الخوادم لقواعد البيانات :
MySQL |
MongoDB |
SQLlite |
/ |
Oracle |
10gen |
– |
Leadership الشركه المنتجه |
Typical: replication and clustering |
Typical: replication and sharding |
– |
Scaling الحجم |
|
|
File System |
Index Systems نظام الفهرسه |
|
|
يستخدم الملفات كقاعد بيانات وعاده يكون خفيف وللاستعمالات الخفيفه مثال فعال على استخدامه في انظمه الاندرويد |
Resource Utilization استخدام الموارد |
Very High مشهور جدا |
Very low غير مشهور |
High مشهور |
Popularity الشهره |
خامسا: اختيار لغه البرمجه وبيئه العمل
( الفريم ورك )
يعتمد اختيارك للغه على اختيارك للبيئه التشغيل ( الاوبريتنج سستم ) حيث تعمل بعض اللغات على بعض الانظمه والانظمه الاخرى لاتعمل عليها بالشكل المناسب مثال لغه ASP.Net تعمل بشكل ممتاز مع انظمه ويندوز ولكن تعمل بشكل ضعيف على انظمه لينكس وتحتاج اضافات على الابتاتشي وقد لاتؤدي اداء قوي كما تؤديه في انظمه وندوز. *هذا القسم ممكن تكمله الحديث فيه لاحقا *
سأتوقف هنا لكي لا تصبح التدوينه ثقيله وتقل فائدتها ..
في حال وجود اي استفسار يمكنكم التواصل بالرد على التدوينه او التواصل معي عبر الايميل من صفحه اتصل بي
سعدت بوجودكم وان شاء الله ان التدوينه مفيده لكم
مصادر اضافيه:
موقع لعرض انواع المعالجات وسرعتها والمقارنه بينها
http://www.cpubenchmark.net/high_end_cpus.html
تدوينة مفيدة جدا .. اهنيك يامحمد 😀
رأيك يهمني 🙂 , وان شاء الله افيدكم بالي عندي واكثر
مره جميله مدونتك. استمر
يعطيك العافيه , بتشجيعكم سأستمر ..
بالتوفيق يا محمد .. بداية جيده .. وان شاءالله نشوفك من اكبر المدونين العرب التقنيين 🙂