x32x01
  • بواسطة x32x01 ||
كلنا عارفين إن أغلب الشركات عندها ٤ أنواع أساسية من بيئات العمل development environments دول باختصار هما:
  • Development Environment
  • UAT Environment
  • Pre Production Environment
  • Production Environment
المفروض إن رحلة الكود الطبيعية عشان يطلع للعميل في الآخر بتمر بال ٤ مراحل دول فبيبدأ إنه يجرب أول حاجة يعمل merge للكود على الكود الأساسي من غير تستنج خالص و ده بيعمله في development environment و هنا الديفليلوبر نفسه هو اللي بيجرب شغله بنفسه.

بعد كدة لما اكتر من developer يخلص شغله في ال story أو ال release اللي شغالين عليه بيبقي فيه نسخة من الكود تعتبر integrated او متجمع فيهم شغلهم مع بعض و تروح علي ال UAT عشان ال software testers يعلموا شغلهم ب أنواع ال test المختلفة

بعد كدة المفروض يروح علي بيئة pre-prod environment عشان يحاكي البيئة الأصلية بتاعت الكود و يبقي ده اخر مرة هنجرب فيها ال software release قبل ما تطلع برودكشن و بعدين لو عدي من كل الاختبارات يطلع production environment.

كل ده حلو جدا و يارب يعني يكون بيحصل حتي جزء منه 😂
طيب هل الشركات الكبيرة أو FANG مثلا اللي بتطلع كود ده بيكون الحال عندها؟ الاجابة لأ
أول حاجة لان طبيعة و عدد ال releases مختلفة خالص ممكن يطلعوا ملايين اسبوعيا و شهريا. تاني حاجة لانه محتاج ال MTTP أو Mean Time to Production يكون قليل جدا عشان هيخسر فلوس كتير لو مطلعش بالـ feature أو ال fix ده بروكشن (بسرعة).

هنا بيجي دور مبدأين مهمين جدا
أولهم حاجة اسمها Green and Blue Environments
و هي باختصار ان بدل ما يكون عندك production واحدة لأ هو في الحالة دي بيعمل اتنين الزرقا بيكون فيها النسخة الحالية اللي شغال من ال software عادي و التانية ال Green بيكون فيها ال Software بعد التحديث.. طيب ايه الهدف؟ الهدف هنا أنه هتخلي الناس كلها تروح تكلم Green Environment ولو حصل مشكلة؟ هتعمل routing بسرعة لل Blue Environment بمعنى انك قادر تعمل roll back في ثانية واحدة و بدون أي أخطاء.
المبدأ التاني هو Canary Environments أو في ناس بتسميه Weighted Environments و في الحالة دي بيكون برضه عندنا بيئتين العمل online و شغالين لكن بيبدأ يوجه عدد معين من المستخدمين للبيئة اللي فيها التحديث الجديد و النسبة الأخرى بتكون شايفة النسخة القديمة من الكود .. و بعدين لو الدنيا stable و تمام يبدأ يزود شوية في نسبة الجديد و يقلل من القديم و هكذا .. مثال حي على ده هو facebook لأن غالبا في أي تغيير بيعمله مش هتلاقي كل الناس جالها التغيير في نفس الوقت.. بعض الناس بس و البعض التاني مش بيحصل عنده.
في حاجة تالتة برضه تعتبر mix من الاتنين هو A/B Testing
أنه هتلاقي لو في خاصية معينة مثلا الشركة مش حاسة أوي انها هتجيب من الناس أو مش واثقة ده هيكون مناسب في الاخر ولا لأ .. هتلاقيه منزلها ل beta users بشكل تجريبي و بياخد من الناس feedback إذا كانت شغالة ولا لأ.
 
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
300
x32x01
x32x01
x32x01
الردود
0
المشاهدات
144
x32x01
x32x01
x32x01
  • x32x01
الردود
0
المشاهدات
298
x32x01
x32x01
x32x01
الردود
0
المشاهدات
364
x32x01
x32x01
x32x01
الردود
0
المشاهدات
481
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,706
المشاركات
1,910
أعضاء أكتب كود
372
أخر عضو
برعي المغربي
عودة
أعلى