كان هناك وقت كان فيه الوقوف على موقع ويب أو تطبيق بسيطا ومباشرا وليس الشبكات المعقدة التي هم عليها اليوم. لم يكن على مطوري الويب أو المسؤولين القلق أو حتى النظر في تعقيد الأنظمة الموزعة اليوم. كانت الوصفة واضحة. هل لديك قاعدة بيانات؟ فحص. هل لديك خادم ويب؟ فحص. عظيم ، كان نظامك جاهزا للنشر. بمجرد نشر النظام ، لضمان تشغيل كل شيء بسلاسة ، لم يستغرق الأمر سوى بضع فحوصات بسيطة للتحقق. هل كانت قاعدة البيانات قيد التشغيل؟ نعم. هل خادم الويب قيد التشغيل؟ ممتاز. كان العنصر الأخير الذي يجب التحقق منه هو ما إذا كان خادم الويب قادرا على التحدث إلى قاعدة البيانات؟ رائع ، كل شيء يعمل كما هو متوقع. إلى المشروع التالي.
حسنا ، ربما يكون هذا مثالا مبسطا للغاية ، لكنك تفهم النقطة. كان إعداد هذه الأنظمة ومراقبتها أمرا سهلا للغاية مقارنة بمعايير اليوم. لم تكن هناك تطبيقات ويب ديناميكية أو سيناريوهات مستخدم معقدة يجب مراقبتها. بالنسبة لمواقع الويب الأساسية والبسيطة ، تمكن المطور من أتمتة هذه الفحوصات بسهولة وإصلاح أي مشاكل قبل أن يواجهها المستخدم. في حين أن هناك المزيد من الخيارات عندما يتعلق الأمر بإنشاء موقع ويب ، فقد توسع تعقيد البيئة. لقد ولت أيام العمارة المتجانسة. مع التقدم السريع في تقنيات تطبيقات الويب ولغات البرمجة وخدمات الحوسبة السحابية والخدمات المصغرة والبيئات الهجينة وما إلى ذلك ، تصبح مراقبة الأنظمة الموزعة أكثر صعوبة في التنفيذ والإدارة. لدرجة أنه أصبح دورا وظيفيا بدوام كامل ومخصص داخل المنظمات.
ما هو النظام الموزع؟
بحكم التعريف ، فإن النظام الموزع هو أي نظام يتكون من مكونات متعددة على مجموعة متنوعة من الآلات التي تعمل معا لتظهر كنظام واحد منظم. على الرغم من أن التعريف قد يبدو واضحا ، إلا أنه في العالم الحقيقي ، يعد النظام الموزع أحد أكثر البيئات تعقيدا لفهمه وإدارته ومراقبته. هذا التعقيد “مخفي” للمستخدم النهائي ، مثل كيفية عمل واجهة برمجة التطبيقات (API) ، سواء كان ذلك مستخدما فعليا أو جهاز كمبيوتر آخر.
يمكن أن تتضمن هذه الأنظمة خوادم فعلية أو حاويات أو أجهزة افتراضية أو حتى جهاز أو عقدة تتصل بالشبكة وتتواصل معها. ولهذا السبب ، حتى أصغر المكونات يمكن أن تسبب مشكلات بعيدة المدى يصعب تحديدها واستكشاف الأخطاء وإصلاحها. داخل المؤسسة ، تقع مسؤولية مراقبة هذه الأنظمة الموزعة الكبيرة عادة على عاتق فرق هندسة موثوقية الموقع (SRE).
أنواع الأنظمة الموزعة
عندما نفكر في بنية النظام ، فإن أول ما قد يتبادر إلى ذهنك هو نظام خادم العميل التقليدي ، حيث كان الخادم هو المورد المشترك بين العديد من الأجهزة والآلات المختلفة ، مثل الطابعات والحسابات والعملاء ، إلخ. وبمرور الوقت، تطور ذلك إلى شيء مختلف. اليوم ، هناك مجموعة متنوعة من البنى والأنظمة المستخدمة. على سبيل المثال ، يمكنك التفكير في شبكة الهاتف الخليوي كنوع من الأنظمة الموزعة ، تتكون من شبكة من الأجهزة المتصلة بالإنترنت التي تشترك في عبء عمل الموارد.
نظير إلى نظير
في هذا النوع من الشبكات، يتم توزيع أعباء العمل عبر مئات أو آلاف الأجهزة المختلفة. Blockchain هو مثال جيد على ذلك. لا يوجد خادم أو جهاز واحد يعتني بعبء العمل.
ثلاثة مستويات
النظام ثلاثي المستويات هو بنية تطبيق برمجي تتكون من طبقة عرض تقديمي وطبقة تطبيق وبيانات أو طبقة أساسية. تتمثل فائدة هذا النظام في أن كل طبقة تعمل بشكل مستقل عن الطبقات الأخرى ، بحيث يمكن تحديثها أو تحجيمها دون التأثير على المستويات الأخرى.
متعدد المستويات
متعدد المستويات ، المعروف أيضا باسم N-tier ، هو أي بنية تطبيق تحتوي على أكثر من طبقة واحدة ، ومع ذلك ، فإن هذا ليس شائعا لأنه كلما زاد عدد الطبقات المستخدمة ، زادت تعقيدا وصعوبة إدارتها. ومن يريد حقا المزيد من التعقيد؟ لذلك ، لا يزال النظام ثلاثي المستويات شائعا اليوم ، وعندما تتم مناقشة الأنظمة متعددة المستويات أو N-tier ، فإنه يشير عادة إلى أنظمة ثلاثية المستويات.
الخصائص الرئيسية للنظام الموزع
لا توجد ساعة مشتركة
تحتفظ كل عقدة بساعتها المحلية أو المؤقت الخاص بها، وقد تختلف قيم الوقت بين العقد. يتم تحقيق المزامنة من خلال ساعة منطقية للحفاظ على الأحداث وترتيبها.
لا توجد ذاكرة مشتركة
كل عملية لها ذاكرة مستقلة خاصة بها تعمل معها. يتم توزيع الدولة من خلال النظام.
التزامن
مكونات البرامج والأجهزة مستقلة وتنفذ المهام في وقت واحد. يشير التزامن إلى قدرة النظام على تنفيذ مهام متعددة بالتوازي وإدارة الوصول إلى الموارد المشتركة واستخدامها.
التغايريه
يتكون النظام الموزع من مجموعة متنوعة من مكونات الأجهزة والبرامج مع أنظمة تشغيل وتقنيات مختلفة ، مما يعني أن المعالجات منفصلة ومستقلة عن بعضها البعض. لكي يعمل كل شيء معا في وئام ، يتم استخدام البرامج الوسيطة لتكون بمثابة قناة بين مكونات الأجهزة والبرامج المختلفة هذه. هناك أيضا عدة أنواع من البرامج الوسيطة ، بما في ذلك البرامج الوسيطة لقواعد البيانات ، والبرامج الوسيطة لخادم التطبيقات ، والبرامج الوسيطة الموجهة نحو الرسائل (MOM) ، والبرامج الوسيطة على الويب ، والبرامج الوسيطة لمعالجة المعاملات (TP) ، وغيرها الكثير.
فوائد النظام الموزع
تعد الأنظمة الموزعة مثالية للمشاريع واسعة النطاق حيث يمكن مشاركة الموارد عبر الشبكة ، مما يساعد على إنشاء وبناء نظام أكثر موثوقية. كل هذه الفوائد توفر للمؤسسة نظاما أكثر مرونة وقوة.
قابلية التوسع
في النظام الموزع ، يمكن إضافة (أو إزالتها) أجهزة أو آلات جديدة بتكلفة زهيدة من خلال الاستفادة من قوة الحوسبة للعقد الفردية. وهذا يوفر للمؤسسات التوسع أفقيا لتوفير وظائف وأداء أفضل.
موثوقيه
فائدة رئيسية أخرى للأنظمة الموزعة هي الموثوقية. يتيح الترابط بين العقد وبقية النظام التواصل ومشاركة البيانات بكفاءة.
التسامح
التسامح مع الأخطاء هو قدرة النظام على الاستجابة بشكل إيجابي لفشل داخل مكونات البرامج أو الأجهزة والخدمات التي ستستمر في العمل بشكل صحيح. كما ذكرنا سابقا ، في النظام الموزع ، تعد مشاركة الموارد مكونا رئيسيا ، مما يجعل التسامح مع الأخطاء ممكنا.
عيوب الأنظمة الموزعة
نعلم جميعا أنه لا يوجد شيء اسمه نظام مثالي وهناك مقايضة لكل قرار يتم اتخاذه ، خاصة في الحالات التي تنطوي على تقنيات حديثة ومعقدة. فيما يلي بعض عيوب الأنظمة الموزعة.
التعقيد
كلما كانت البيئة أكثر تعقيدا ، زادت صعوبة إدارتها. المزيد من العقد والأجهزة يعني المزيد من البيانات التي تتم معالجتها وتمريرها ، مما يخلق فرصة أكبر لحدوث خطأ ما. على سبيل المثال ، يمكن أن يؤدي ذلك إلى مشكلات مزامنة البيانات وفشل العقدة. هذا هو السبب الحاسم الذي يجعل المنظمات بحاجة إلى الاستثمار في حل المراقبة. سنتعمق أكثر في مراقبة الأنظمة الموزعة في الأقسام التالية. هذا يدخل أيضا في مبدأ SRE المتمثل في تبني المخاطر وتعلم كيفية إدارة الفشل.
اقرأ: مبادئ SRE: القواعد الأساسية ال 7
كمون
وتأكيدا على ما ذكرناه في القسم أعلاه، كلما أصبح النظام أكثر تعقيدا وتوزيعا، زاد مجال الخطأ. ويشمل ذلك أيضا زمن الوصول ، أو الوقت الذي تستغرقه البيانات أو طلب الوصول عبر شبكة. كما أنها واحدة من أربع إشارات ذهبية للمراقبة ، والتي تشمل أيضا حركة المرور والخطأ والتشبع.
أمن
يمكن اعتبار إدارة نظام مركزي صغير نزهة في الحديقة مقارنة بالأنظمة الموزعة. الأمن له أهمية قصوى في جميع جوانب النظام ، من الشبكة نفسها على طول الطريق من خلال الأجهزة والعقد التي تتصل به. يجب على المؤسسات التأكد من أن البيانات آمنة ، خاصة مع ظهور مشهد إنترنت الأشياء ، حيث يمكن أن يصبح أي جهاز خطرا أمنيا محتملا.
موارد
الأنظمة الكبيرة تكلف أموالا كبيرة. لا توجد طريقة للالتفاف عليها. هناك الاستثمار الأولي في الأجهزة والبرمجيات، بالإضافة إلى الصيانة العامة والنفقات العامة لدعم التطوير المستمر ونشر التطبيقات والخدمات.
مراقبة نظام موزع
أدى التحول البطيء من الأنظمة المتجانسة إلى الأنظمة الموزعة إلى تغيير الطريقة التي تفكر بها المؤسسات والفرق في مراقبة بنيتها التحتية ومواقعها الإلكترونية وتطبيقاتها وواجهات برمجة التطبيقات وما إلى ذلك. ولم تعد الأساليب التقليدية للرصد تركز على نظام عملاق واحد، بل كانت بحاجة إلى أن تتطور أيضا لتلبية احتياجات المنظمات الحديثة. بينما تحاول ممارسات DevOps و Agile الحديثة التأكد من أنه عندما تنتقل التطبيقات والخدمات إلى الإنتاج ، لا توجد أخطاء موجودة ، فلا تزال هناك فرصة لأن تؤدي مشكلات الأداء في النهاية إلى ظهور رأسها القبيح. ليس ذلك فحسب ، بل إن التركيز على تجربة المستخدم أمر بالغ الأهمية ، خاصة في المشهد الحالي للجوال أولا. يجب على الفرق التأكد من أنها تراقب الأداء أيضا من وجهة نظر المستخدم ، وكذلك النظام نفسه.
بالنسبة ل SREs ، يمكن أن يعني تعريف المراقبة الكثير من الأشياء المختلفة ، ومع ذلك ، هناك نوعان متميزان: مراقبة الصندوق الأبيض ومراقبة الصندوق الأسود.
مراقبة الصندوق الأبيض
تهتم مراقبة الصندوق الأبيض بفهم كيفية تشغيل تطبيقاتك على الخادم. يمكن أن تكون المقاييس المقاسة هي مراقبة طلبات HTTP (بروتوكول نقل النص التشعبي) ورموز الاستجابة ومقاييس المستخدم وما إلى ذلك. فكر في مراقبة الصندوق الأبيض كنافذة على النظام الداخلي. تستخدم مراقبة الصندوق الأبيض لفهم أو التنبؤ بالسبب وراء فشل شيء ما.
مراقبة الصندوق الأسود
على الجانب الآخر ، تركز مراقبة الصندوق الأسود على مقاييس الخادم مثل مساحة القرص ووحدة المعالجة المركزية والذاكرة والحمل وما إلى ذلك ، والتي عادة ما ينظر إليها على أنها مقاييس المراقبة الأساسية ، وفهم الأداء من منظور المستخدم النهائي. يتم استخدام مراقبة الصندوق الأسود لفهم سبب عدم عمل شيء ما داخل النظام بشكل صحيح.
أفضل ما يمكن
على الرغم من أنه قد يكون هناك نوعان متميزان من الرصد يحددان مسؤوليات المساعدة في SRE ، إلا أنه نادرا ما يكون هناك نوع واحد فقط من الرصد يستخدم بمفرده فقط. عادة ، يتم استخدام مزيج من كل نوع. اعتمادا على مدى أهمية التطبيق أو الخدمة ، يمكن استخدام مراقبة الصندوق الأبيض لتجنب المشكلات المحتملة. يمكن استخدام مراقبة الصندوق الأسود في الحالات التي قد يحتاج فيها SRE أو الفريق إلى تنبيهه على الفور للمشكلات التي تؤثر على المستخدمين.
الاستنتاج: مراقبة الأنظمة الموزعة
يوفر Dotcom-Monitor حلولا متعددة تلبي الاحتياجات الفريدة لمهندسي موثوقية الموقع وفرق DevOps لمراقبة الأداء الشامل لمواقع الويب والتطبيقات وواجهات برمجة التطبيقات والخدمات والبنية التحتية. إلى جانب ميزات مثل خيارات التنبيه القابلة للتخصيص ولوحات معلومات الأداء والتقارير الشاملة والتحليلات ، تسمح منصة Dotcom-Monitor لفرق SRE ومراقبة الأداء بتحديد مشكلات التوافر ووقت التشغيل والأداء بسرعة على نطاق واسع. يعد إعداد مهام مراقبة استباقية واصطناعية أمرا بالغ الأهمية للأنظمة المعقدة والموزعة ، خاصة عندما يتعلق الأمر بتجربة المستخدم النهائي.
يمكن أن تساعد منصة Dotcom-Monitor الفرق على تحديد أسباب مشكلات الأداء بسرعة وكفاءة، سواء على مستوى البنية التحتية أو المستخدم النهائي. توفر لوحة المعلومات والتحليلات وبيانات السجل في الوقت الفعلي دفقا مستمرا من مقاييس المراقبة حتى تتمكن من التأكد من أن أنظمتك وتطبيقاتك ومواقعك وخدماتك تعمل على النحو المنشود. يمكن تخصيص التنبيهات لتلبية متطلبات فريقك ويمكن دمجها مع أدوات الاتصال والتعاون التي تستخدمها بالفعل.
ابدأ مع منصة Dotcom-Monitor اليوم مع الإصدار التجريبي المجاني! إذا كنت تفضل جولة فردية من خلال النظام الأساسي والحلول الفردية ، فاتصل بفريقنا للحصول على عرض توضيحي مباشر.