الخلفية
نما التطبيق الأحادي إلى حدّ أصبح فيه أي تعديل بطيئًا ومحفوفًا بالمخاطر، إذ يستغرق النشر ساعات، ويصعب توسيع أجزاء بعينها تحت الحِمل، مع توافر لم يتجاوز 97%.
ما قمنا به
فكّكنا التطبيق إلى 12 خدمة مصغّرة خلف بوابة API، باستخدام Node.js وGo، والتواصل عبر gRPC وGraphQL وأحداث Kafka. أدرنا النشر عبر Kubernetes مع شبكة خدمات Istio للمراقبة والتحكّم في حركة الطلبات وضمان الموثوقية.
النتيجة
انخفض زمن النشر من 4 ساعات إلى 15 دقيقة، وأصبح بالإمكان توسيع كل خدمة على حدة حسب الحاجة، وارتفع التوافر من 97% إلى 99.9%.