Cloud Computing

تحسين تكاليف السحابة: دليل عملي للشركات الناشئة

Ece Kaya

Ece Kaya

بلس كلاودز أوثر

تحسين تكاليف السحابة: دليل عملي للشركات الناشئة

هناك نوع خاص من القلق يصيب مؤسس شركة ناشئة أو قائد الفريق الهندسي في اليوم الأول من كل شهر. تصل فاتورة السحابة، وتكون أعلى من الشهر الماضي، ولا أحد في الفريق يستطيع أن يشرح السبب فوراً. تبدأ في البحث داخل وحدة التحكم، وتلاحق بنود الفاتورة، وفي النهاية تجد مجموعة من الأسباب؛ مثيل بحجم كبير لم يلمسه أحد منذ ستة أسابيع، بيئة اختبار منسية تعمل بكامل طاقتها، خط أنابيب بيانات يفرغ المخرجات في حاوية لم يتم الاستعلام عنها منذ آخر تغيير في المنتج.

هذه ليست قصة نادرة. إنها القصة الافتراضية. البنية التحتية السحابية من السهل جداً توفيرها ومن السهل جداً نسيانها. نموذج الفوترة (ادفع مقابل ما تستخدم، تتم المحاسبة بالثانية) يبدو عادلاً حتى تدرك أن "ما تستخدمه" يشمل كل شيء نسيت إيقافه.

بالنسبة للشركات الناشئة في مراحلها المبكرة، فإن هذا الأمر أكثر أهمية مما هو عليه بالنسبة للمؤسسات الكبرى. فشركة من شركات فورتشن 500 التي تتحمل 50,000 دولار شهريًا من الإنفاق السحابي غير الضروري تعتبر ذلك مجرد عدم كفاءة. أما بالنسبة لشركة ناشئة في مرحلة السلسلة A تستهلك مدخراتها بسرعة، فهذه مشكلة استراتيجية حقيقية. فهي تؤثر على مدة قدرتك على العمل، ومن يمكنك توظيفه، وما هي المخاطر التي يمكنك تحملها. الانضباط في تكاليف السحابة ليس مجرد مسألة مالية أو تخصص في DevOps. إنه جزء أساسي من كيفية إدارة الشركة.

الخبر السار هو أن مشكلة الإنفاق الزائد على السحابة أصبحت إلى حد كبير مشكلة محلولة. الأنماط مفهومة جيدًا، والأدوات ناضجة، والتوفير حقيقي وسريع. هذا الدليل يستعرض كل رافعة رئيسية، بدءًا من الأساسيات التي يجب أن تكون جاهزة منذ اليوم الأول وصولاً إلى القرارات المعمارية التي ستحدد اقتصاديات البنية التحتية لديك لسنوات قادمة.

1. افهم فاتورتك قبل أن تحاول تحسينها

قد يبدو هذا بديهيًا. لكنه ليس كذلك. معظم فرق الهندسة في الشركات الناشئة لديهم فكرة تقريبية عن إجمالي إنفاقهم الشهري على السحابة، وفكرة أكثر غموضًا عن مصدر هذا الإنفاق، وتقريبًا لا توجد فكرة عن أي الخدمات أو الميزات أو البيئات المحددة المسؤولة عن اتجاهات التكلفة مع مرور الوقت. هذا ليس إهمالًا، بل هو الحالة الافتراضية عندما لا يكون هناك أحد قد أنشأ البنية التحتية للإجابة عن هذه الأسئلة بشكل صريح.

قبل أن تتمكن من تحسين أي شيء، تحتاج إلى الرؤية. رؤية حقيقية، دقيقة، ومنسوبة لكل فريق.

علامات تخصيص التكلفة هي الأساس. كل مزود سحابي رئيسي يدعم وضع علامات على الموارد باستخدام أزواج مفاتيح وقيم عشوائية، وهذه العلامات تنتقل إلى بيانات الفوترة الخاصة بك. بمجرد أن تبدأ في وضع العلامات، يمكنك الإجابة عن أسئلة مثل: كم يكلف خط بياناتنا شهريًا؟ ما تكلفة تشغيل بيئة الاختبار لدينا؟ أي خدمات الفرق كانت مسؤولة عن الارتفاع الذي رأيناه يوم الثلاثاء الماضي؟

بدون علامات، أنت تنظر إلى رقم واحد وتخمن. مع العلامات، لديك مجموعة بيانات منظمة يمكنك فعليًا الاستدلال منها. أنشئ مخططًا للعلامات منذ اليوم الأول، البيئة (الإنتاج، الاختبار، التطوير)، الفريق أو المجموعة، الخدمة أو الميزة، ومركز التكلفة هي الأبعاد الأكثر فائدة وطبقها في البنية التحتية ككود بحيث يتم دائمًا وضع علامات صحيحة على الموارد الجديدة.

لوحات معلومات الفوترة وتنبيهات الشذوذ هي تأمين مجاني. كل مزود خدمة سحابية يقدم أدوات إدارة التكاليف الأصلية (AWS Cost Explorer، GCP Cost Management، Azure Cost Analysis) بدون أي رسوم إضافية. قم بإعداد تنبيهات الميزانية عند 50% و75% و90% من هدفك الشهري. قم بتكوين اكتشاف الشذوذ حتى يتم إعلامك عندما ترتفع النفقات على أي خدمة بشكل غير متوقع. هذه الأدوات لن تخبرك بسبب ارتفاع التكلفة، لكنها ستضمن أنك تعرف متى يحدث ذلك، والتوقيت مهم للغاية. المشكلة التي يتم اكتشافها في اليوم الثاني من الشهر تكلف أقل بكثير من تلك التي تكتشفها في اليوم الثلاثين.

انظر إلى أهم عشرة بنود في فاتورتك وافهم كل واحد منها. في معظم الشركات الناشئة، تشكل أربعة إلى ستة خدمات حوالي 80–90% من إجمالي الفاتورة: EC2 أو ما يعادله من خدمات الحوسبة، RDS أو ما يعادله من قواعد البيانات المُدارة، S3 أو ما يعادله من تخزين الكائنات، نقل البيانات (الخروج)، وربما خدمة الحاويات المُدارة أو مجموعة Kubernetes. يجب أن تعرف ما الذي يقوم به كل واحد من هذه الخدمات، ولماذا تكلف ما تكلفه، وما هو المستوى الأساسي المعقول. كل ما عدا ذلك هو سياق إضافي.

2. ضبط حجم الحوسبة بالشكل الصحيح

عادةً ما تكون الحوسبة هي أكبر بند في الفاتورة، وغالبًا ما تكون مُبالغ في تخصيصها. هذا ليس انتقادًا للمهندسين الذين قاموا بتحديد حجم الأنظمة، بل هو نتيجة هيكلية لطريقة اتخاذ الفرق قرارات البنية التحتية في ظل عدم اليقين.

عندما تطلق خدمة جديدة، لا تعرف بالضبط مقدار الحركة التي ستتلقاها أو كيف سيبدو ملف استخدام الموارد الخاص بها. لذا تقوم بتقدير متحفظ وتضيف هامش أمان. هذا أمر منطقي. لكن هذه الهوامش تتراكم. عبر عشرات الخدمات، وعبر ثلاث بيئات، وعبر سنتين من النمو العضوي، تجد نفسك مع أسطول من الأنظمة التي تم تخصيصها لتحمل أحمال نادرًا ما تراها.

image

اسحب مقاييس الاستخدام قبل إجراء أي تغييرات. انظر إلى متوسط استخدام وحدة المعالجة المركزية والذاكرة لكل نظام يعمل خلال الثلاثين يومًا الماضية. ليس الحد الأقصى، بل المتوسط. النظام الذي يعمل بمتوسط استخدام وحدة معالجة مركزية بين 8–12% مع قمم تصل إلى 35% لا يحتاج لأن يكون بهذا الحجم. معظم مزودي الخدمات السحابية يعرضون توصيات لضبط الحجم مباشرة في لوحات التحكم الخاصة بالتكاليف؛ اعتبرها نقطة انطلاق، وقم بالتحقق منها مقابل بيانات الاستخدام الفعلية لديك، وكن مستعدًا للذهاب أبعد مما تقترحه التوصية.

افصل بين بيئات الإنتاج وغير الإنتاج. هذه واحدة من أكثر التغييرات تأثيرًا التي يمكن أن تقوم بها معظم الشركات الناشئة، ولا تتطلب تقريبًا أي عمل معماري. ليست هناك أي حاجة لأن تعمل بيئات التطوير والتجربة بنفس سعة الإنتاج على مدار 24 ساعة في اليوم، سبعة أيام في الأسبوع. عادةً ما يعمل المهندسون 10 ساعات في اليوم، 5 أيام في الأسبوع. وهذا يعني أن البنية التحتية غير الإنتاجية تبقى خاملة تقريبًا 70% من الوقت.

نفذ جداول إيقاف التشغيل التلقائي. استخدم دالة Lambda أو مهمة Cloud Scheduler أو برنامج نصي بسيط يتم تشغيله عبر cron لإيقاف مثيلات غير الإنتاج في المساء وإعادة تشغيلها في الصباح. قم بوضع علامات صحيحة على بيئاتك حتى تتمكن من تطبيق ذلك بشكل انتقائي. بيئة الاختبار التي تعمل فقط خلال ساعات العمل تكلف حوالي 30% مما ستكلفه على جدول تشغيل 24/7، وتأثير ذلك على تجربة المطورين يكون ضئيلاً إذا كان وقت بدء التشغيل مقبولاً (عادة أقل من دقيقتين).

بالنسبة لبيئات التطوير بشكل خاص، فكر فيما إذا كان الأفراد بحاجة إلى مثيلات سحابية دائمة على الإطلاق، أو ما إذا كان بإمكان إعدادات التطوير المحلية بالحاويات التعامل مع معظم أعباء العمل. تجد العديد من الفرق أن نقل التطوير إلى بيئات Docker المحلية والاحتفاظ بالموارد السحابية فقط للاختبار والإنتاج يقلل من الفاتورة بشكل ملحوظ دون التأثير على الإنتاجية.

عائلات المثيلات أهم من أحجام المثيلات. تقوم AWS وGCP وAzure بإصدار عائلات مثيلات جديدة بانتظام تقدم أداءً أفضل مقابل السعر مقارنة بالأجيال الأقدم. غالبًا ما تكون مثيلات الجيل الأحدث المحسنة للحوسبة أو ذات الأغراض العامة أرخص لكل وحدة أداء من الجيل السابق، أحيانًا بنسبة 10–20%. إذا كنت تشغل مثيلات من عائلة أقدم من جيلين، فهناك على الأرجح خيار أفضل. راجع هذا سنويًا على الأقل.

3. السعة المحجوزة وخطط التوفير: القرار الأعلى عائدًا على الاستثمار

إذا كانت شركتك الناشئة تعمل منذ ستة أشهر أو أكثر ولديها خط أساس مستقر من الحوسبة تعرف أنها ستحتاجه في المستقبل المنظور، وتدفع أسعار الدفع عند الطلب لهذا الخط الأساسي، فأنت ترتكب خطأ مكلفًا. هذه ليست حالة استثنائية. إنها واحدة من أكثر الأخطاء شيوعًا وأكثرها تكلفة في إدارة السحابة للشركات الناشئة.

تم تصميم التسعير عند الطلب للأعباء غير المتوقعة فعليًا. تدفع مبلغًا إضافيًا مقابل المرونة في زيادة أو تقليل الموارد دون التزام. هذا المبلغ الإضافي منطقي للأعباء المتغيرة وغير المؤكدة. لكنه لا معنى له للبنية التحتية الأساسية التي ظلت تعمل دون تغيير طوال العام الماضي.

تخفض المثيلات المحجوزة وخطط التوفير تكاليف الحوسبة بنسبة 40–70% مقارنةً بالدفع حسب الطلب، وذلك حسب مدة الالتزام وهيكلية الدفع. عادةً ما يكون الالتزام لمدة سنة واحدة بدون دفعة مقدمة أرخص بنسبة 30–40% من الدفع حسب الطلب. أما الالتزام لمدة ثلاث سنوات مع دفعة مقدمة جزئية أو كاملة فيمكن أن يحقق وفورات تصل إلى 60–70%. بالنسبة لشركة ناشئة تنفق 20,000 دولار شهريًا على EC2، فإن نقل الحد الأدنى من الاستخدام إلى المثيلات المحجوزة يمكن أن يوفر ما بين 8,000–14,000 دولار شهريًا. هذا ليس مبلغًا بسيطًا يمكن تجاهله.

النهج العملي: حدد الحد الأدنى الأساسي من الحوسبة لديك، أي الحد الأدنى الذي يعمل في الساعة 3 صباحًا في يوم أحد هادئ، بغض النظر عن حركة المرور أو الحمل. هذا الحد الأدنى هو ما يجب أن تغطيه بسعة محجوزة. كل ما يزيد عن ذلك (الارتفاعات المفاجئة في الحمل، أو إطلاق ميزات جديدة) يبقى على الدفع حسب الطلب أو spot. هذا يمنحك كفاءة التكاليف الناتجة عن الالتزامات مع مرونة الدفع حسب الطلب لأي متغيرات.

راجع التزاماتك بشكل ربع سنوي. المثيلات المحجوزة وخطط التوفير ليست إعدادًا وتنسى أمرها. سيتغير الحد الأدنى لديك مع تطور المنتج. راجع استخدام الالتزامات الحالية وفرص إضافة التزامات جديدة كل ربع سنة. من الأفضل أن تلتزم بشكل أقل قليلاً وتزيد الالتزام لاحقًا، من أن تلتزم بشكل زائد وتترك سعة محجوزة غير مستخدمة. الالتزامات غير المستخدمة تعني فعليًا أموالاً مهدورة.

خطط التوفير مقابل المثيلات المحجوزة: تقدم خطط التوفير من AWS مرونة أكبر من المثيلات المحجوزة التقليدية، حيث تنطبق على أي استخدام لـ EC2 ضمن نفس العائلة، بغض النظر عن نوع المثيل المحدد أو المنطقة أو نظام التشغيل. بالنسبة لمعظم الشركات الناشئة، تعتبر خطط التوفير أسهل في الإدارة وفعالة من حيث التكلفة تقريبًا بنفس الدرجة. إذا كانت بنيتك التحتية مستقرة ومحددة جيدًا، يمكن للمثيلات المحجوزة لأنواع مثيلات محددة أن تحقق نسبة توفير إضافية قليلة.

PlusClouds وتحسين تكاليف السحابة:

توقف عن التخمين في التزامات المثيلات المحجوزة.

تحلل PlusClouds أنماط استخدامك التاريخية وتخبرك بالضبط بكمية السعة المحجوزة التي يجب شراؤها — مقسمة حسب عائلة المثيل، والمنطقة، وطول المدة. العملاء الذين يستخدمون توصيات الالتزام من PlusClouds يوفرون في المتوسط 41% على الحوسبة. تعمل عبر AWS Reserved Instances وAzure Reserved VMs وGCP Committed Use Discounts.

شاهد كيف يعمل ذلك على plusclouds.com

4. الحوسبة المؤقتة والقابلة للإيقاف: خصومات تصل إلى 90% للأعباء المناسبة

تُعد الحوسبة المؤقتة على AWS والآلات الافتراضية القابلة للإيقاف على GCP من أقوى أدوات تقليل التكاليف المتاحة، ومع ذلك فهي من أقل الأدوات استخدامًا من قبل الشركات الناشئة. السبب في ذلك هو مزيج من تصور المخاطر وقلة الإلمام بها. بمجرد أن تفهم أي الأعباء هي المرشحة المناسبة، يصبح من الصعب تجاهل الفوائد الاقتصادية.

تعمل الحوسبة المؤقتة على السعة الفائضة لدى مزود الخدمة السحابية. أنت تقدم عرضًا لتلك السعة (أو، في AWS الحديثة، تطلبها ببساطة بالسعر الحالي)، وتحصل عليها حتى يحتاجها المزود مرة أخرى، وعندها تحصل على تحذير لمدة دقيقتين قبل الإيقاف. الخصم مقابل هذا الإزعاج: حتى 90% من أسعار الطلب الفوري.

بالنسبة للأعباء التي يمكن إيقافها أو إعادة تشغيلها، فهذا بمثابة مال مجاني تقريبًا. الفئات التي تعمل فيها الحوسبة المؤقتة بشكل مثالي تشمل عمال خطوط CI/CD (إذا تم إيقاف مهمة بناء، يلتقطها العامل مرة أخرى)، معالجة البيانات الدفعية وخطوط ETL (قم بحفظ تقدمك واستئناف العمل)، مهام تدريب تعلم الآلة (معظم الأطر تدعم حفظ نقاط التوقف)، التحليلات الليلية أو توليد التقارير، اختبارات التحميل، وأي خدمة ويب عديمة الحالة أمامها موازن تحميل حيث تتم معالجة إنهاء إحدى الحالات بسلاسة عن طريق توجيه الحركة إلى حالات أخرى.

الأعباء التي لا تناسب الحوسبة المؤقتة: أي عبء ذو حالة لا يتحمل الانقطاع، قواعد البيانات في معظم التكوينات، الخدمات التي تتطلب زمن استجابة حقيقي صارم، وأي عبء عمل قد يؤدي فشله في منتصف العملية إلى تلف الحالة أو يتطلب إعادة تشغيل كاملة من الصفر.

استراتيجية المزج بين أنواع الحوسبة هي الأفضل. استخدم الحوسبة المؤقتة لكل ما يمكن إيقافه، والطلب الفوري للخدمات عديمة الحالة التي تحتاج إلى الاعتمادية، والمحجوزة لخط الأساس المستقر لديك. تشغيل خطوط CI/CD على الحوسبة المؤقتة فقط يمكن أن يقلل من تكاليف بنية البناء التحتية بنسبة 80% مع تعقيد تشغيلي ضئيل.

٥. التخزين: التسرب البطيء الذي يتحول إلى فيضان

تكاليف التخزين صغيرة على المستوى الفردي لكنها هائلة عند جمعها. النمط الذي يتكرر في كل شركة ناشئة تقريبًا متطابق: يتم تخزين البيانات في التخزين الكائني، ولا يقوم أحد ببناء عملية لتحديد متى يجب حذفها، وبعد 18 شهرًا تجد نفسك تدفع أسعار التخزين الكاملة مقابل تيرابايتات من البيانات التي لم يتم الوصول إليها منذ إصدار منتج سابق.

تبدو أسعار التخزين الكائني رخيصة، 0.023 دولار لكل جيجابايت شهريًا على S3 Standard. لكن عند التوسع أو تراكم كمية كافية من البيانات، تصبح التكلفة كبيرة. والأهم من ذلك، أن العديد من الشركات الناشئة تخزن البيانات في الفئة الخاطئة: تحتفظ بكل شيء في Standard بينما معظمها لا يتم الوصول إليه إلا نادرًا أو أبدًا، لأن أحدًا لم يقم بإعداد القواعد لنقلها تلقائيًا.

سياسات دورة الحياة ليست اختيارية. يجب أن تكون أول شيء تقوم بتكوينه عند إنشاء دلو تخزين، وليس تحسينًا تؤجله إلى وقت لاحق. حدد قواعد تنقل الكائنات إلى تخزين الوصول غير المتكرر بعد 30 أو 60 يومًا من عدم الوصول، وانقلها إلى Glacier أو Archive بعد 90 أو 180 يومًا، واحذفها بعد فترة احتفاظ محددة. بالنسبة لملفات السجلات، غالبًا ما تكون فترة الاحتفاظ 30–90 يومًا. بالنسبة للنسخ الاحتياطية، يعتمد الأمر على متطلبات الامتثال الخاصة بك. أما بالنسبة للبيانات الخام من الميزات المهجورة، فغالبًا ما يكون الجواب "احذف بعد 6 أشهر".

ستختلف التحولات بين الفئات والجداول الزمنية حسب المزود وحالة الاستخدام، لكن المبدأ عالمي: للبيانات دورة حياة، وإدارتها بشكل مقصود يوفر الكثير من المال مع مرور الوقت.

تكاليف الخروج من أحد أكثر مفاجآت الفواتير التي لا يتم الحديث عنها في السحابة. مقدمو الخدمات السحابية يفرضون رسومًا على البيانات التي تغادر شبكتهم، إلى الإنترنت، إلى مناطق أخرى، أو في بعض الحالات بين الخدمات ضمن نفس الحساب. هذه الرسوم صغيرة لكل جيجابايت لكنها تتزايد بسرعة مع حجم البيانات.

تشمل الفخاخ الشائعة لتكاليف الخروج: البنى التي تسحب مجموعات بيانات كبيرة عبر المناطق من أجل المعالجة (انقل المعالجة إلى البيانات بدلاً من ذلك)، والتطبيقات التي تقدم ملفات كبيرة مباشرة من التخزين الكائني إلى المستخدمين النهائيين بدون شبكة توصيل محتوى (CDN)، وبنى الخدمات المصغرة التي تمرر حمولات بيانات كبيرة بين الخدمات دون داعٍ. قبل قبول بنية تتضمن نقل بيانات كبير، احسب صراحةً ما ستكون عليه تكاليف الخروج على النطاق المتوقع لديك.

قم بتدقيق التخزين الخاص بك بانتظام. ضع تذكيرًا في التقويم لمراجعة إنفاقك على التخزين كل ثلاثة أشهر. ابحث عن الحاويات التي لا تحتوي على سياسة دورة حياة، والحاويات التي تخزن بيانات لميزات أو خدمات قديمة، وأقراص EBS غير المرتبطة (وهي مصدر شائع بشكل مفاجئ للهدر)، واللقطات القديمة التي تراكمت بعد تجاوز متطلبات الاحتفاظ الخاصة بك. قد يكون هذا العمل غير جذاب، لكن بضع ساعات من التنظيف يمكن أن تحقق وفورات تستمر لسنوات.

6. قواعد البيانات المُدارة: قوية، مكلفة، وغالبًا ما يتم الإفراط في تخصيصها

تُعد خدمات قواعد البيانات المُدارة مثل RDS وCloud SQL وAzure Database من بين أكثر العروض قيمة من مزودي الخدمات السحابية، حيث تتولى عمليات النسخ الاحتياطي، والتحديثات، والتحويل التلقائي عند الفشل، والمراقبة، والتي كانت ستتطلب خبرة تشغيلية كبيرة لولاها. كما أنها غالبًا ما تكون ثاني أو ثالث أكبر بند في فاتورة السحابة لدى الشركات الناشئة، وغالبًا ما يتم تخصيصها لحجم عمل مستقبلي بدلاً من الحالي.

مثال: مثيل RDS عالي التوفر متعدد المناطق مع نسخ للقراءة و500 جيجابايت من IOPS المخصصة هو الحل المناسب لمنتج يتعامل مع ملايين المعاملات يوميًا. أما بالنسبة لشركة ناشئة تحقق 50 ألف دولار من الإيرادات الشهرية المتكررة ولديها 10,000 مستخدم نشط، فهو استثمار مفرط بشكل كبير. الميزات التي تدفع مقابلها (التكرار المتزامن، التحويل التلقائي عند الفشل، الإنتاجية المخصصة) ذات قيمة، لكنك تدفع مقابلها على نطاق لم تصله بعد.

طابق مستوى قاعدة البيانات مع متطلباتك الفعلية اليوم، وليس مع متطلباتك الطموحة بعد 18 شهرًا. يمكنك دائمًا التوسع لاحقًا؛ فالتوسع للأعلى أمر بسيط ويمكن القيام به مع توقف ضئيل في معظم خدمات قواعد البيانات المُدارة. الأموال التي توفرها الآن من خلال تشغيل مثيل في منطقة واحدة أو من خلال اختيار فئة مثيل أصغر هي أموال حقيقية يمكن استثمارها في النمو.

خيارات قواعد البيانات الخالية من الخوادم غير مُقدّرة حق قدرها للمنتجات في مراحلها المبكرة. كل من Aurora Serverless v2 وPlanetScale وFirestore تقوم بتوسيع سعة الحوسبة بناءً على الحمل الفعلي، بما في ذلك التوسع إلى ما يقارب الصفر خلال فترات الخمول. بالنسبة لقواعد بيانات التطوير، وأدوات العمل الداخلية ذات الحركة المنخفضة، والميزات التي تتميز بأنماط وصول غير متوقعة، يمكن لقواعد البيانات الخالية من الخوادم أن تقلل التكاليف بشكل كبير مقارنةً بالحالات المخصصة التي تعمل بسعة دنيا بغض النظر عن الحمل.

حافظ على قواعد بياناتك خفيفة. قم بمراجعة المخطط الخاص بك بشكل دوري للبحث عن الجداول والأعمدة والفهارس التي لم تعد تُستخدم من قبل كود التطبيق النشط. قم بأرشفة السجلات التاريخية إلى تخزين أقل تكلفة عندما لا تعود هناك حاجة إليها للاستعلامات الفورية. نظف السجلات المحذوفة برمجياً وفق جدول زمني محدد. نفذ تجميع الاتصالات (connection pooling) لتجنب تخصيص مثيل قاعدة بيانات بحجم يتناسب مع الحد الأقصى للاتصالات المتزامنة بدلاً من الحمل المعتاد. هذه ممارسات هندسية جيدة تساعد أيضاً في تقليل تكاليف البنية التحتية الخاصة بك.

Community

Further questions? Ask our team

7. كوبرنيتس والحاويات: قوة تتطلب الانضباط

أصبح كوبرنيتس منصة النشر الافتراضية للعديد من الشركات الناشئة، ولسبب وجيه، فهو يوفر تجريدًا قويًا لتشغيل أحمال العمل المحوسبة بالحاويات بشكل موثوق وعلى نطاق واسع. كما أنه يقدم مجموعة جديدة من تحديات إدارة التكاليف التي يسهل التغاضي عنها، خاصة عندما تتحرك الفرق بسرعة ولا تولي اهتمامًا دقيقًا لتخصيص الموارد.

طلبات وقيود الموارد على كل بود ليست اختيارية. عندما لا يكون لدى البود تعريف لطلبات الموارد، لا يكون لدى مجدول كوبرنيتس معلومات يستخدمها عند اتخاذ قرار مكان وضعه. غالبًا ما تكون النتيجة تعبئة غير فعالة للعقد، حيث تبدو العقد "ممتلئة" اسميًا ولكن لديها سعة غير مستخدمة كبيرة، أو عقد محملة فعليًا بشكل زائد لأن الطلبات لم تعكس الاستخدام الفعلي. حدد طلبات وحدة المعالجة المركزية والذاكرة بناءً على الاستهلاك الملحوظ، وليس التقديرات. حدد القيود لمنع العمليات الخارجة عن السيطرة من التأثير على جيرانها.

استخدم الأدوات التلقائية لتوسيع السعة التي يوفرها النظام البيئي. يقوم Horizontal Pod Autoscaler (HPA) بتوسيع عدد نسخ الحاويات (Pods) بناءً على وحدة المعالجة المركزية أو الذاكرة أو المقاييس المخصصة. يقوم Vertical Pod Autoscaler (VPA) بضبط طلبات الموارد تلقائيًا بناءً على الاستخدام الفعلي. يقوم Cluster Autoscaler والأداة الأحدث Karpenter بإضافة وإزالة العقد من الكتلة تلقائيًا بناءً على الطلب على الحاويات المعلقة. معًا، يمكن لهذه الأدوات تحسين استخدام الكتلة بشكل كبير، لكنها تتطلب تحديد طلبات الموارد بشكل صحيح لتعمل بكفاءة، ولهذا السبب تعتبر هذه الأساسيات مهمة.

تحديد الحجم المناسب للعقدة لا يقل أهمية عن تحديد الحجم المناسب للحاوية. نوع المثيل الذي تختاره لمجموعة عقد Kubernetes يؤثر على كل من الأداء والتكلفة. راجع ما إذا كانت أنواع العقد الحالية لديك تتناسب مع ملف عبء العمل الفعلي: الأحمال التي تعتمد بشكل كبير على الحوسبة تستفيد من المثيلات المحسّنة للحوسبة، والأحمال التي تعتمد بشكل كبير على الذاكرة تستفيد من المثيلات المحسّنة للذاكرة. مجموعة من المثيلات متعددة الأغراض التي تشغّل أحمال عمل تعتمد بشكل أساسي على الذاكرة تدفع مقابل سعة وحدة المعالجة المركزية التي لا يتم استخدامها أبدًا.

قسّم تكلفة الكتلة حسب مساحة الاسم أو الفريق أو التطبيق. يتطلب ذلك إما نهج تخصيص تكلفة سحابي أصلي (وضع علامات على العقد وربطها بأحمال العمل) أو أداة مخصصة. بدون هذه الرؤية، تصبح مجموعات Kubernetes صناديق سوداء؛ أنت تعرف تكلفة الكتلة، لكن لا يمكنك تحديد أي الأحمال أو الفرق مسؤولة عن أي جزء منها. هذا الغموض يجعل عملية التحسين أكثر صعوبة بكثير.

8. الشبكات ونقل البيانات: البند غير المرئي في الميزانية

نادراً ما تظهر تكاليف الشبكات في قوائم أولويات تحسين السحابة، ونادراً ما تكون هي البند الأكبر في الفاتورة. لكنها غالبًا ما تكون محرك تكلفة مادي ومُستهان به، خاصة مع توسع التطبيقات وزيادة أحجام البيانات.

داخل المنطقة، فكّر جيدًا في حركة المرور بين مناطق التوافر (AZ). معظم مزودي الخدمات السحابية يفرضون رسومًا على البيانات المنقولة بين مناطق التوافر داخل نفس المنطقة. بالنسبة للهياكل التي تقوم بالكثير من الاتصالات بين الخدمات (مثل الخدمات المصغرة التي تتصل ببعضها البعض، أو الخدمات التي تقرأ من الذاكرة المؤقتة، أو العمال الذين يستهلكون من قوائم الانتظار)، يمكن أن تصبح تكلفة نقل البيانات بين مناطق التوافر ذات أهمية. من طرق التخفيف: تجميع الخدمات التي تتواصل بكثافة في نفس منطقة التوافر، أو استخدام موازنة تحميل مدركة لمناطق التوافر لتفضيل المثيلات المحلية.

المبدأ الأساسي بسيط: نقل البيانات يكلف المال. كلما سافرت البيانات لمسافة أبعد وكلما عبرت حدود الفوترة أكثر، زادت التكلفة. تصميم الأنظمة بحيث تكون البيانات محلية، والحفاظ على الحوسبة بالقرب من البيانات، وتقليل التواصل بين المناطق، وتجنب الرحلات غير الضرورية ذهابًا وإيابًا هو أمر جيد من الناحية المعمارية والاقتصادية على حد سواء.

داخل المنطقة، فكّر جيدًا بشأن حركة المرور بين مناطق التوافر (AZ). معظم مزودي الخدمات السحابية يفرضون رسوماً على البيانات المنقولة بين مناطق التوافر ضمن نفس المنطقة. بالنسبة للهياكل التي تعتمد بشكل كبير على التواصل بين الخدمات (مثل الميكروسيرفيس التي تستدعي بعضها البعض، أو الخدمات التي تقرأ من الكاش، أو العمال الذين يستهلكون من قوائم الانتظار)، يمكن أن تصبح تكلفة نقل البيانات بين مناطق التوافر ذات أهمية كبيرة. من وسائل التخفيف من ذلك تجميع الخدمات التي تتواصل بكثرة في نفس منطقة التوافر؛ واستخدام موازنة تحميل مدركة لمناطق التوافر لتفضيل الحالات المحلية هو خيار آخر.

استخدم شبكة توزيع المحتوى (CDN) للمحتوى الموجه للمستخدمين. تقديم الأصول الثابتة، الصور، والاستجابات المخبأة مباشرة من تخزين الكائنات أو خوادم الأصل يكون أكثر تكلفة بكثير من حيث تكلفة الخروج من تقديمها عبر شبكة CDN. عادةً ما تكون أسعار CDN أقل بكثير من أسعار الخروج من الأصل، كما أن تحسين زمن الاستجابة للمستخدمين النهائيين هو مكسب إضافي مجاني. هذه ممارسة معروفة جيدًا وغالبًا ما يتم تجاهلها في المراحل الأولى من عمر الشركة الناشئة ثم لا يتم مراجعتها لاحقًا.

راجع بنية VPC الخاصة بك لتجنب مصائد الخروج. تكاليف NAT Gateway غالبًا ما تكون مفاجأة شائعة. كل بايت من حركة المرور من شبكة فرعية خاصة إلى الإنترنت يمر عبر NAT Gateway، الذي يفرض رسومًا لكل ساعة ولكل جيجابايت. إذا كانت لديك خدمات تقوم بإجراء مكالمات API خارجية متكررة، أو معالجة مجموعات بيانات كبيرة من مصادر خارجية، أو تنزيل حزم ضخمة أثناء وقت البناء، يمكن أن تتراكم رسوم NAT Gateway بسرعة. نقاط نهاية VPC لخدمات AWS (مثل S3، DynamoDB، وغيرها الكثير) توجه الحركة داخل شبكة AWS، مما يلغي رسوم NAT Gateway تمامًا لتلك الخدمات.

9. البنية التحتية ككود: الانضباط المالي يبدأ من وقت النشر

واحدة من أكثر الطرق فعالية للسيطرة على تكاليف السحابة هي جعل التكلفة اعتبارًا أساسيًا في لحظة توفير البنية التحتية، بدلاً من أن تكون تدقيقًا يتم بعد أشهر. أدوات البنية التحتية ككود (IaC) مثل Terraform، Pulumi، AWS CDK وغيرها، هي الآلية التي تجعل ذلك ممكنًا.

عندما يتم تعريف جميع البنية التحتية في الشيفرة ويتم مراجعتها من خلال عملية طلب سحب قياسية، تصبح الآثار المالية واضحة قبل إنشاء الموارد. يمكن للمراجع أن ينظر إلى تغيير في Terraform يضيف مثيل RDS جديد ويسأل: هل يحتاج هذا إلى تعدد المناطق (multi-AZ)؟ ما هي فترة الاحتفاظ بالنسخ الاحتياطية؟ هل فئة هذا المثيل مناسبة للحمل المتوقع؟ هذه النقاشات تكون رخيصة أثناء المراجعة ومكلفة بعد وقوع الأمر.

فرض تطبيق الوسوم من خلال السياسات. أدوات مثل OPA (Open Policy Agent)، Sentinel، أو أطر السياسات السحابية الأصلية (سياسات التحكم في الخدمات من AWS، سياسات المؤسسات من GCP) يمكنها رفض التغييرات على البنية التحتية التي لا تتضمن الوسوم المطلوبة لتوزيع التكاليف. هذا يضمن أن الموارد الجديدة يمكن تتبعها دائمًا منذ لحظة إنشائها، دون الاعتماد على تذكر المهندسين الأفراد لمخطط الوسوم.

استخدم الوحدات والمعايير للأنماط الشائعة. عندما يكون لدى فريقك وحدة معيارية لإنشاء مثيل EC2 أو قاعدة بيانات RDS، يمكن لتلك الوحدة ترميز الافتراضات الافتراضية الفعّالة من حيث التكلفة: أنواع المثيلات المناسبة، الوسوم الصحيحة، سياسات دورة الحياة للتخزين المرتبط، وتكوين الإيقاف التلقائي للبيئات غير الإنتاجية. يحصل المهندسون الذين يستخدمون الوحدة على إعدادات افتراضية جيدة دون الحاجة للتفكير فيها.

تطبيق اكتشاف الانحراف. التغييرات اليدوية التي تتم عبر وحدة تحكم السحابة، من نوع "سأشغل هذا بسرعة لاختبار شيء ما"، هي من أكثر مصادر الموارد المنسية والتكاليف غير المتوقعة شيوعًا. أدوات اكتشاف الانحراف تميّز الموارد الموجودة في السحابة ولكنها غير موجودة في قاعدة كود IaC الخاصة بك، مما يجعل من الممكن العثور على الموارد المؤقتة وتنظيفها قبل أن تتراكم لأشهر دون أن يلاحظها أحد.

10. بناء ثقافة هندسية واعية بالتكلفة

كل النصائح التكتيكية في هذا الدليل أسهل في التنفيذ وأكثر قابلية للاستمرار في منظمة يعتبر فيها المهندسون التكلفة أولوية أساسية. الفرق التي تحافظ على انضباط تكاليف السحابة مع مرور الوقت لا تفعل ذلك من خلال عمليات تدقيق ربع سنوية أو حملات مخصصة لتحسين التكاليف. لقد جعلوا الوعي بالتكلفة جزءًا من كيفية إنجاز العمل الهندسي يوميًا.

هذه مسألة ثقافة وعمليات بقدر ما هي مسألة تقنية.

الرؤية تدفع السلوك. لا يمكن للمهندسين تحسين ما لا يمكنهم رؤيته. لوحات معلومات التكاليف التي يمكن للجميع الوصول إليها، وليس فقط المدير المالي وقائد البنية التحتية، تمنح الفريق بأكمله المعلومات التي يحتاجونها لاتخاذ قرارات واعية بالتكلفة. عندما يتمكن الفريق الذي يبني ميزة جديدة من رؤية تكلفة البنية التحتية لتلك الميزة في الوقت الفعلي، تصبح التكلفة جزءًا طبيعيًا من كيفية تقييمهم لخيارات التصميم.

انشر لوحات معلومات التكاليف في نفس القنوات التي تشارك فيها مقاييس الأداء. قم بتضمين بيانات التكاليف في اجتماعات الهندسة الشاملة. اجعل من الطبيعي أن تسأل "ما تكلفة هذا؟" في مناقشات البنية التحتية، بنفس الطريقة التي تسأل بها "كيف سيتوسع هذا؟" أو "ما هي أوضاع الفشل؟"

امنح الفرق ملكية تكاليفها. هذا يعني تخصيص التكاليف حسب الفريق أو المجموعة باستخدام هيكل العلامات الخاص بك، ومنح كل فريق ميزانية ولوحة معلومات، وجعل الفرق مسؤولة عن شرح اتجاهات تكاليفها في المراجعات الدورية. الملكية تخلق المساءلة، والمساءلة تغير السلوك. الفرق التي ترى بندها الخاص في فاتورة البنية التحتية تتصرف بشكل مختلف عن الفرق التي ترى رقماً إجمالياً واحداً يعتبر مشكلة شخص آخر.

image

اجعل التكلفة جزءاً من عملية مراجعة البنية التحتية الخاصة بك. قبل أن يتم تشغيل أي خدمة جديدة مهمة أو تغيير في البنية التحتية في الإنتاج، قم بتضمين تقدير للتكلفة في المراجعة. ما تكلفة هذا على النطاق الحالي؟ وعلى نطاق أكبر بعشر مرات؟ هل هناك طرق بديلة ستكون أرخص بشكل ملحوظ؟ لا يحتاج هذا إلى أن يكون نموذجاً مالياً مفصلاً، يكفي تقدير تقريبي للنطاق، يتم مناقشته كجزء من مراجعة التصميم العادية، لإبراز المشكلات الواضحة.

احتفل بالنجاحات. عندما يكتشف مهندس ويقضي على مصدر للهدر، اجعل ذلك مرئياً. عندما يقلل فريق من تكاليف البنية التحتية الشهرية بنسبة 20% من خلال التخصيص الصحيح، اذكر ذلك في الاجتماع الشامل. تحسين التكاليف عمل غير لامع، وقليل من التقدير يقطع شوطاً طويلاً نحو جعله ممارسة مستدامة بدلاً من مبادرة لمرة واحدة.

العائد المركب على الانضباط في البنية التحتية

تحسين تكاليف السحابة لا يحقق نتائج دراماتيكية بشكل فوري، فهو ليس من نوع الأعمال التي تحول الشركة خلال ربع سنة واحد. بل هو يتراكم. التحسينات الصغيرة والمتواصلة في كيفية تخصيصك للبنية التحتية ومراقبتها وإدارتها تتجمع مع الوقت لتشكل ميزة هيكلية في التكاليف تؤثر على اقتصاديات وحدتك، ومدى قدرتك على الاستمرار، وقدرتك على اتخاذ رهانات لا يستطيع منافسوك الأقل انضباطًا تحملها.

الشركات الناشئة التي تأخذ هذا الأمر على محمل الجد في وقت مبكر، والتي تبني الشفافية، وتؤسس الثقافة، وتتعامل مع إنفاق البنية التحتية كرافعة استراتيجية بدلاً من كونه تكلفة ثابتة، تنتهي بميزة تراكمية. مهندسوهم يتخذون قرارات أفضل بشكل افتراضي. تتطور بنيتهم المعمارية مع وعي بالتكلفة مدمج فيها. فريقهم المالي لا يتفاجأ في نهاية كل شهر.

ابدأ بالأساسيات: الشفافية، التصنيف، تنبيهات الفواتير، وضبط حجم أكثر الحالات المبالغ في تخصيصها. أضف التزامات السعة المحجوزة بمجرد أن يكون لديك خط أساس

#تحسين تكاليف السحابة