يُعد Spotify نظاماً لبث الموسيقى؛ فهو يتيح للمستخدمين تصفح مكتبة من الأغاني والبودكاست، ثم الضغط على زر التشغيل للاستماع إلى المحتوى الصوتي عبر أجهزتهم.
تتمثل الفكرة الجوهرية في وعد بسيط: عندما يضغط المستمع على زر التشغيل، يجب أن يبدأ التطبيق في تشغيل الصوت بسرعة ويحافظ على استمراريته، حتى عند تنقل الهاتف بين شبكات اتصالات قوية وأخرى ضعيفة.
قبل مرحلة التوسع، يتمثل أبسط نموذج في تطبيق عميل (client app) يتواصل مع نظام خلفي (backend) واحد. يتولى هذا النظام الخلفي الرد على الاستفسارات المتعلقة بمحتوى المكتبة —مثل اسم الفنان والألبوم ومدة المقطع الصوتي— كما يوفر البيانات الصوتية اللازمة للتشغيل.
يعتمد هذا النموذج الأساسي على قاعدة بيانات واحدة للبيانات الوصفية (metadata) ومخزن كائنات (object store) واحد للملفات الصوتية. ولا توجد شبكة توصيل محتوى (CDN) أو نسخ متماثلة (replicas) أو طوابير انتظار (queues)؛ لذا يعتمد كل طلب تشغيل كلياً على كفاءة وسرعة ذلك النظام الخلفي الوحيد. وإليك هذا النموذج الأساسي موضحاً في صورة شاملة وموحدة:
في الرسم التخطيطي، يرسل تطبيق الهاتف المحمول (العميل) طلبات عبر الإنترنت إلى خادم تطبيق واحد. يقرأ خادم التطبيق البيانات الوصفية للمقطع الصوتي من قاعدة بيانات البيانات الوصفية ويقرأ ملف الصوت من مخزن كائنات الصوت، ثم يبث الصوت مرة أخرى إلى العميل عبر الاتصال نفسه. وفي ظل غياب طبقات إضافية، يظهر أي تباطؤ في خادم التطبيق أو قاعدة البيانات أو مخزن الكائنات بشكل مباشر في صورة تأخر في بدء التشغيل أو تقطع أثناء التشغيل.
في هذه الدورة التدريبية، يظل النطاق الوظيفي محدوداً ومركزاً. يمكن للمستمع تصفح المحتوى، وإجراء بحث بسيط، وتشغيل الصوت؛ حيث ينبغي للنظام تحديد المقطع الصحيح ثم توفير البث الصوتي.
هناك مؤشران يوضحان متى يتوقف نموذج الخادم الواحد الأساسي عن العمل بكفاءة. الأول هو زمن انتقال بدء التشغيل عند النسبة المئوية 95 (p95)، أي أن 95% من محاولات التشغيل يجب أن تبدأ خلال إطار زمني مستهدف، لأن حالات التأخير الطويلة في بدء التشغيل تعطي انطباعاً بأن التطبيق معطل. والثاني هو التشغيل المتزامن، أي قيام العديد من المستخدمين بالضغط على زر التشغيل في الوقت نفسه، مما يحول لحظة الذروة العابرة إلى عبء مستمر على الأنظمة الخلفية (backend) والتخزين.
بمجرد البدء في توسيع نطاق النموذج الأساسي، تبرز مجدداً المصطلحات المتعلقة بالمقايضات؛ فهي تربط بين خيار تصميمي ونتيجة ملموسة في خدمة Spotify، مثل سرعة بدء التشغيل، أو ارتفاع فاتورة الخدمات السحابية، أو انخفاض معدل الانقطاعات أثناء فترات ذروة حركة المرور.
يوضح هذا الجدول المصطلحات المستخدمة في سياق عملية التشغيل والمهام التي تتم في الخلفية: