من تطبيق Java أحادي إلى 14 خدمة مصغرة
تواتر الإصدارات: من إصدار واحد أسبوعيًا إلى 12 إصدارًا يوميًا.
تأسست Partnerfy لتقدّم للشركات حلولًا متكاملة من البداية إلى النهاية في البرمجيات والتسويق الرقمي، وهي الشريك التقني الموثوق للوكالات والعلامات التجارية.
هل ترغب في برمجة المستقبل معنا؟
بدلًا من تطبيق واحد ضخم: خدمات صغيرة ومستقلة، لكل منها مسؤول واضح. الحاويات، وKubernetes، والتوسع التلقائي، والتسليم المستمر، وطوابير الرسائل، وقابلية المراقبة (Observability): الإطار الكامل لتطبيق Cloud-Native حديث. على AWS أو GCP أو Azure أو على خوادمك الخاصة.
مجموعة خوادم الإنتاج
عُقد
8
وحدات Pod
42
طلب / ثانية
2.4k
deployment: api-gateway
متى تحتاج إلى الخدمات المصغرة؟
01
زيادة الزيارات من 10 إلى 100 ضعف في ساعات أو مواسم معينة.
02
بعضها كثيف الاستخدام للمعالج (CPU)، وبعضها الآخر كثيف الإدخال والإخراج (IO).
03
عمل أكثر من 5 فرق على الكود نفسه يعني تعارضات مستمرة.
04
الجمع بين Python (تعلم الآلة) وGo (الأداء) وNode (الوقت الفعلي).
05
إذا تعطلت خدمة واحدة، يجب أن تبقى الخدمات الأخرى قيد التشغيل.
06
يريد كل فريق إطلاق خدمته يوميًا.
ركائز Cloud-Native
01
تغليف موحّد (Docker / OCI).
02
Kubernetes / ECS / Nomad
03
Istio / Linkerd: إدارة حركة البيانات والأمان وقابلية المراقبة.
04
Kong / Traefik / AWS API GW
05
GitHub Actions / GitLab CI / Argo CD
06
Terraform / Pulumi / Helm
07
Kafka / RabbitMQ / SQS
08
Redis / Memcached / DynamoDB
09
Prometheus + Grafana + OpenTelemetry
10
Vault / AWS Secrets / GCP SM
11
mTLS وSPIFFE ومبدأ أقل الصلاحيات.
12
معمارية Multi-AZ ومتعددة المناطق مع تجاوز تلقائي للأعطال (Failover).
مزودو الخدمات السحابية
الفوائد
تتوسع كل خدمة أو تنكمش بحسب احتياجها الخاص.
لا يؤدي تعطل خدمة واحدة إلى توقف الخدمات الأخرى.
تغيير في خدمة واحدة يعني عملية نشر واحدة.
تعمل الفرق دون أن ينتظر بعضها بعضًا.
اللغة وبيئة التشغيل المناسبتان لكل خدمة.
الانتقال من AWS إلى GCP يستغرق أسابيع لا أشهرًا.
إدارة المخاطر
حدود الخدمات الخاطئة تعني تطبيقًا أحاديًا موزعًا.
نمط Saga مع الاتساق النهائي (Eventual Consistency).
التتبعات والمقاييس والسجلات: من دونها يستحيل تعقب الأخطاء.
تخضع العقود بين الخدمات لإدارة الإصدارات.
كل استدعاء بين الخدمات يزيد زمن الاستجابة، فانتبه لذلك.
لا تُقدم على ذلك دون الأدوات المناسبة وتدريب الفريق.
آلية العمل
منهج DDD: تحديد السياقات المحدودة (Bounded Contexts).
تحديد الوحدة التي تُفصل أولًا وترتيب الفصل.
Kubernetes، وCI/CD، وقابلية المراقبة، ومخزن الأسرار.
استخراج خدمة واحدة وكتابة عقد API الخاص بها.
فصل الخدمات عن التطبيق الأحادي تدريجيًا.
أهداف مستوى الخدمة (SLO)، وميزانية الأخطاء، والتوسع التلقائي، وتعدد المناطق.
قصص
تواتر الإصدارات: من إصدار واحد أسبوعيًا إلى 12 إصدارًا يوميًا.
زيارات بلغت 80 ضعفًا، دون أي توقف، مع توسع تلقائي.
عند تعطل منطقة الاتحاد الأوروبي، تتولى منطقة الولايات المتحدة العمل تلقائيًا.
عبر Kafka وFlink: معالجة 200,000 رسالة في الثانية.
إدارة الطلب والشحن والإرجاع بنمط (Saga).
WebRTC + Redis Streams + Kubernetes
الأسئلة الشائعة
في اجتماع استكشافي مدته 30 دقيقة، نقيّم معًا نظامك الحالي.