
المحور 03 · الانتقال والتحديث
تحديث التطبيقات تدريجياً
تقسيم تدريجي للتطبيقات الأحادية، وحاويات وKubernetes؛ كل مرحلة تُسلَّم ويُتحقَّق منها.
التحدي
تطبيق أحادي البنية يصعب تطويره: كل تعديل محفوف بالمخاطر، وعمليات الإطلاق في الإنتاج نادرة، وكل شيء يعتمد على عدد قليل من الأشخاص.
تحدّث NEXTBIT تطبيقاتكم دون إعادة كتابتها دفعةً واحدة. نحلّل التطبيق الأحادي، ونحدّد الأجزاء التي يُستحسن فصلها، ثم نستخرجها واحداً تلو الآخر في شكل خدمات داخل حاويات، تُنشر على Kubernetes. ويواصل التطبيق الحالي عمله بشكل عادي طوال مدة التحويل. وتُسلَّم كل مرحلة وتُختبَر ويُتحقَّق منها قبل التي تليها، مع خطة تراجع. كما نُعدّ التكامل والنشر المستمرّين، ونكوّن مطوّريكم على هذه الممارسات الجديدة حتى يواصلوا العمل باستقلالية.
ما نقوم به
- تحليل الشيفرة والتبعيات وتدفّقات البيانات في التطبيق
- الحاويات باستخدام Docker والنشر على Kubernetes بواسطة Helm
- استخراج تدريجي للخدمات حول التطبيق الأحادي الحالي
- سلاسل التكامل والنشر المستمرّين، مع اختبارات آلية
- المراقبة، والسجلات المركزية، وتوثيق البنية الجديدة
منهجيتنا
- 01
التشخيص
تحليل الشيفرة والتبعيات والبنية التحتية ونقاط الانسداد التي تعيق التطوير.
- 02
التصميم والتجربة النموذجية
البنية المستهدفة والتقسيم على مراحل، واستخراج خدمة أولى وإطلاقها في الإنتاج كتجربة نموذجية.
- 03
الانتقال على دفعات
استخراج الخدمات التالية واحدة تلو الأخرى، وكل مرحلة تُسلَّم ويُتحقَّق منها ويمكن التراجع عنها بفضل خطة التراجع.
- 04
التشغيل ونقل الكفاءات
المراقبة، والتوثيق، وتكوين مطوّريكم على Docker وKubernetes والنشر المستمر.
ما تكسبونه
- تطويرات أكثر تواتراً وأقل مخاطرة
- تطبيق يبقى في الخدمة طوال مدة التحويل
- عمليات نشر قابلة للتكرار وموثّقة
- فرق مكوَّنة على الممارسات الحديثة
أسئلة شائعة
هل يجب إعادة كتابة التطبيق بأكمله؟
لا. فإعادة الكتابة الكاملة طويلة ومحفوفة بالمخاطر. نعمل على مراحل: تُستخرج أولاً الأجزاء التي تعيق التطوير، ويواصل باقي التطبيق الأحادي عمله. وبعض التطبيقات يكفيها أن توضع في حاويات دون تقسيمها.
هل يناسب Kubernetes مؤسستنا؟
ليس دائماً. يكون Kubernetes مبرَّراً حين يتعيّن نشر عدّة خدمات وتوسيعها بشكل مستقل. أما التطبيق الأبسط فتكفيه حاويات على أجهزة افتراضية. ويحدّد لكم التشخيص الحل الأكثر معقولية، دون مبالغة في الأبعاد.
أين سيُستضاف التطبيق بعد تحديثه؟
على بنيتكم التحتية، أو على سحابة خاصة، أو لدى مستضيف محلي، حسب قيودكم. فالحاويات وKubernetes معايير مفتوحة: يمكنكم لاحقاً تغيير الاستضافة دون إعادة كتابة التطبيق ودون التبعية لمزوّد واحد أو لتقنية مغلقة.