الاحتفاظ ببساطتها
تجنب الإفراط في هندسة تصميم البنية ورمز التطبيق والعمليات. |
---|
غالبا ما يكون ما تقوم بإزالته بدلا من ما تضيفه هو ما يؤدي إلى الحلول الأكثر موثوقية. تقلل البساطة من مساحة السطح للتحكم، مما يقلل من أوجه القصور والتكوينات الخاطئة المحتملة أو التفاعلات غير المتوقعة. من ناحية أخرى، يمكن أن يؤدي الإفراط في التبسيط إلى نقاط فشل واحدة. الحفاظ على نهج متوازن.
مثال على السيناريو
تقوم شركة Contoso Travel بشراء ودمج شركة ناشئة صغيرة مع تطبيق سفر شائع قائم على الويب. تعود شعبية التطبيق إلى نموذج عمله للتفاوض على خصومات عميقة مع سلاسل الفنادق وشركات الطيران، واستخدام وسائل التواصل الاجتماعي للقيام بحملات تسويقية مكثفة واستهدافية للغاية.
تم تطوير الإصدار الحالي من منتج بدء التشغيل في nodejs، ويعمل على الأجهزة الظاهرية التي تتم استضافتها بين مركز البيانات المحلي وAWS.
تقليل مكونات حمل العمل
أضف مكونات إلى بنيتك فقط إذا كانت تساعدك على تحقيق قيم الأعمال المستهدفة. حافظ على المسار الحرج الهزيل.
يمكن أن يؤدي تصميم متطلبات العمل إلى حل مباشر يسهل تنفيذه وإدارته. تجنب وجود عدد كبير جدا من المكونات الهامة، لأن كل واحد يمثل نقطة فشل كبيرة.
تحدي Contoso
- يسهل أحد مكونات التطبيق الذي تم الحصول عليه حديثا جمع الملاحظات من المستخدمين مباشرة على موقع الويب بعد إجراء الحجز. نادرا ما يتم استخدام الميزة لأن معظم المستخدمين يتخطىونها. هناك آلية حلقة ملاحظات قوية من المستخدمين تعمل من خلال حسابات الوسائط الاجتماعية للشركة، والتي تستخدم بشكل كبير لتسويق تفاعل المستخدم. تستخدم هذه الآلية بشكل متكرر أكثر بكثير من وظيفة الملاحظات لموقع الويب.
تطبيق النهج والنتائج
- كجزء من الإصدار الأولي من إصدار التطبيق الذي تحمل العلامة التجارية Contoso Travel، يقرر الفريق إزالة مكون ملاحظات موقع الويب لحمل العمل.
- تقلل قاعدة التعليمات البرمجية الأصغر تكلفة الصيانة والعمليات. وفي هذه الحالة، لا يوجد أي تأثير على متطلبات العمل.
توحيد دورة حياة تطوير البرامج
وضع معايير في تنفيذ التعليمات البرمجية ونشرها وعملياتها وتوثيقها. تحديد فرص فرض هذه المعايير باستخدام عمليات التحقق التلقائية.
توفر المعايير الاتساق وتقلل من الأخطاء البشرية. يمكن أن تساعدك نهج مثل اصطلاحات التسمية القياسية وأدلة نمط التعليمات البرمجية في الحفاظ على الجودة وجعل الأصول سهلة التحديد أثناء استكشاف الأخطاء وإصلاحها.
تحدي Contoso
- لا يحتوي فريق التطوير من الشركة الناشئة على العديد من معايير التطوير والعملية المحددة. هناك عدد من المكتبات المستخدمة التي تتداخل في الوظائف، ولا يتم فرض أنماط الترميز، وتفتقر مسارات الإصدار إلى بوابات الإصدار الرسمية التي تستخدم الاختبار التلقائي.
- يدرك فريق حمل عمل Contoso أن تكلفة صيانة قاعدة التعليمات البرمجية الجديدة مرتفعة جدا بسبب عدم الاتساق في الأنماط ومكتبات الاستخدام غير المتسقة وأنماط التصميم.
- هناك حوادث متكررة بعد التحديثات الرئيسية في الإنتاج، والتي تتطلب أحيانا التراجع عن التحديثات أو الإصلاحات العاجلة منتصف التوزيع. يفرض تكرار هذه الأنواع من مشكلات التوزيع على الفريق استخدام نموذج دعم عملي بالكامل عند إصدار تحديثات للإنتاج. لجعل الأمور أكثر سوءا، تؤثر المشكلات المتكررة سلبا على سمعة Contoso من خلال تجربة مستخدم سيئة.
تطبيق النهج والنتائج
- يبذل الفريق الذي يتولى دعم التطبيق الجديد جهدا لتحقيق المزيد من الاتساق من خلال فرض أنماط الترميز، وتوحيد مجموعة مشتركة من المكتبات وأنماط التصميم، وإضفاء الطابع الرسمي على استخدام بوابات الإصدار استنادا إلى الاختبارات التلقائية.
- أثناء تنفيذ هذه التغييرات، يلتزم فريق حمل العمل بمتطلبات الوثائق القياسية الخاصة بهم. يتم توثيق جميع الأدوات الجديدة وأنماط التصميم والأنماط التي يتم اعتمادها بدقة، ما يسمح للفريق بفهم حمل العمل والحفاظ عليه بشكل أكثر كفاءة من الآن فصاعدا. يمكن للفريق الآن تحديد الانحرافات في المعايير بسهولة أكبر عند إجراء مراجعات التعليمات البرمجية.
تقليل أعباء عملياتك وتطويرك
استفد من الميزات المقدمة من النظام الأساسي والأصول التي تم إنشاؤها مسبقا والتي يمكن أن تساعدك على تحقيق أهداف الأعمال بشكل فعال.
يقلل هذا النهج من وقت التطوير. كما أنه يمكنك من الاعتماد على الممارسات المجربة والمختبرة التي تم استخدامها مع أحمال العمل المماثلة.
تحدي Contoso
- للإصدار الأولي ضمن العلامة التجارية Contoso Travel، سيتم ترحيل حل nodejs من الأجهزة الظاهرية إلى App Services، للاستفادة من العديد من ميزات الموثوقية الأصلية التي توفرها الخدمة.
- يحتوي الإصدار المنشور على الأجهزة الظاهرية على كمية كبيرة من التعليمات البرمجية المخصصة اللازمة للأجهزة.
تطبيق النهج والنتائج
- أثناء الترحيل الأولي إلى App Services، تمكن الفريق من إزالة جميع التعليمات البرمجية المخصصة للأجهزة من خلال تنفيذ البنية التلقائية ل App Insights في App Services.
- كما يمكن للفريق الاستفادة من العديد من وظائف App Service الأصلية الأخرى مثل التحجيم التلقائي وتكامل Key Vault والتكرار النطاقي.