خدمات البناء مقابل شرائها: إنها ليست لعبة صفرية
لطالما كانت خدمات البناء داخليًا هي الوضع الراهن لفترة طويلة ، ولكن في عالم السحابة الأصلية ، فإن الخطوط الكامنة وراء السحابة وفي مكان العمل غير واضحة. تعمل خدمات الجهات الخارجية المستندة إلى السحابة ، والمبنية على برامج قوية مفتوحة المصدر ، على تسهيل تحرك المطورين بشكل أسرع. تتمثل مهمتهم في التركيز على البناء مع الابتكار والسرعة للمنافسة في الأسواق فائقة السرعة. لجميع أصحاب المصلحة في التطبيق – من مدير المعلومات إلى فرق التطوير – غالبًا ما يشتمل المسار إلى البساطة والسرعة وتقليل المخاطر على الخدمات المستندة إلى السحابة التي تجعل البيانات قابلة للتطوير ومتاحة على الفور.
وجهات النظر هذه ليست متباعدة ، وهي موجودة في العديد من المنظمات الراسخة التي نعمل معها. ومع ذلك ، يمكن أن يكونوا على خلاف مع بعضهم البعض. في الواقع ، غالبًا ما رأيناهم يعملون بطرق تؤدي إلى نتائج عكسية ، لدرجة أنها تبطئ تطوير التطبيقات.
قد تكون هناك أسباب مقنعة لأخذ كل شيء داخليًا ولكن المستخدمين النهائيين يصوتون مع التنفيذ. هنا ، سنلقي نظرة على وجهة نظر كل مجموعة ، ونحاول فهم دوافع كل مجموعة. إنها ليست لعبة محصلتها صفر وقد تكون الإجابة الحقيقية هي المزيج الصحيح من الاثنين.
مهندسو البنية التحتية يصنعون الآلة. هم الذين يبقون حتى وقت متأخر ، ويميلون إلى البنية التحتية المتعثرة ، ويبقون الأضواء في الشركة. قال آدم جاكوب (المؤسس المشارك والرئيس التنفيذي السابق للتكنولوجيا في Chef Software): “إن مهمة موظفي العمليات هي إبقاء الكود القذر للمطورين بعيدًا عن البنية التحتية للإنتاج الجميلة.” إذا كنت ترغب في إحضار مشروعك أو منتجك إلى الأراضي المقدسة لما بنوه ، فيجب أن يكون ذلك مستحقًا. سيقوم مهندسو البنية التحتية بتقييم واختبار ومنح مباركتهم فقط بعد أن يصدقوا ذلك بأنفسهم.
تشمل مبادئ مهندس البنية التحتية ما يلي:
- كل عملية نشر مختلفة وتتطلب مهندسي بنية تحتية مؤهلين لضمان النجاح.
- التطبيقات مبنية على المتطلبات ، ومهندسو البنية التحتية يقدمون المنتج المناسب ليلائم المعايير.
- الطريقة الأكثر فعالية من حيث التكلفة لاستخدام السحابة هي القيام بذلك بأنفسنا.
ما الذي يهتم به مهندسو البنية التحتية
التوثيق والتدريب
يعد وجود فهم واضح لكل جانب من جوانب البنية التحتية أمرًا أساسيًا لجعلها تعمل بشكل جيد ، لذا فإن التوثيق الشامل والواضح أمر لا بد منه. يجب أن يكون محدثًا أيضًا ؛ مع طرح إصدارات جديدة من المنتجات ، يجب أن تساعد الوثائق الجميع على معرفة ما تم تغييره بسرعة.
أرقام الإصدارات
تحتاج المنتجات إلى اختبارها والتحقق من صحتها قبل بدء الإنتاج ، بحيث تتعقب فرق البنية التحتية الإصدارات المباركة للإنتاج ؛ يجب اختبار التحديثات أيضًا. يعد الأمان جزءًا مهمًا من الاختبار ، ونحن عمومًا وراء أحدث طليعة ، لذلك لدينا أكبر قدر من الاستقرار والأمان.
أداء
الأداء أمر بالغ الأهمية أيضًا. يجب أن تفهم فرقنا كيفية عمل النظام في بيئات مختلفة لتخطيط سعة كافية. لن يتم نشر الأنظمة ذات خصائص الأداء المتغيرة للغاية – أو تلك التي لا تفي بالحد الأدنى – مطلقًا. يجب أن تثبت المنتجات الجديدة نفسها في تجربة عن طريق القتال قبل أن يتم التفكير فيها.
استخدام الخدمات
يعد تثبيت وتشغيل البنية التحتية بمثابة احتكاك عند إنشاء التطبيقات. ليس هناك ما هو أهم من سرعة وضع التطبيق في الإنتاج. تحب الفرق التشغيلية الفروق الدقيقة في كيفية عمل الأشياء وتفخر بتشغيل آلة جيدة التجهيز ، لكن المطورين ليس لديهم شهور لانتظار حدوث ذلك. الفوز على المنافسين يعني استئجار ما هو مطلوب عند الحاجة. أعطنا واجهة برمجة تطبيقات ومفتاحًا ، ودعنا نبدأ. .
عندما يتعلق الأمر بالبنية التحتية ، فإن مبادئ المطور تشمل:
- يجب أن تتوافق البنية التحتية مع التطبيق وليس العكس
- لا تخترع بنية تحتية جديدة – فقط اجمع ما هو متاح
- تستهلك الحوسبة والشبكة والتخزين مثل أي أداة أخرى
الأشياء التي يهتم بها مستهلكو الخدمة
هل يناسب ما أحتاجه ، وهل يمكنني التحقق من ذلك بسرعة؟
التطبيق هو مركز عالم المطور ، وما يحتاجه هو المطلب. إذا كانت الخدمة قيد النظر تفي بالمعايير ، فيجب التحقق من ذلك بسرعة. إذا تم قضاء الكثير من الوقت في الانحناء والتواء أحد التطبيقات لجعل الخدمة تعمل ، فسيقوم المطورون فقط بالبحث عن خدمة مختلفة تعمل بشكل أفضل.
كلفة
يريد المطورون أقل تكلفة مقابل ما يحصلون عليه. لا يوجد شيء معقد لدرجة أن جدول البيانات مطلوب. مع الخدمات ، لا يؤمن المطورون بالضرورة “أنك تحصل على ما تدفع مقابله” ، مع كون التكلفة الأعلى هي الأفضل. وبدلاً من ذلك ، فإنهم يتوقعون أن تنخفض التكلفة بمرور الوقت من إيجاد مزود الخدمة للكفاءات.
التوفر
يتوقع المطورون أن تعمل الخدمة دائمًا ، وعندما لا تعمل ، يتضايقون (مثل انقطاع الكهرباء). حتى إذا كان هناك اتفاقية مستوى الخدمة (SLA) ، فمن المحتمل ألا تقرأها – وستتوقع وقت تشغيل بنسبة 100٪. عند إنشاء تطبيقي ، أفترض أنه لن يكون هناك توقف.
في النهاية ، التطبيق هو الأكثر أهمية
من خلال العمل مع الكثير من المؤسسات التي تعتبر التطبيقات لها مهمة حرجة ، غالبًا ما رأينا أن هاتين المجموعتين لا تعملان بشكل جيد معًا – في بعض الأحيان ، يمكن أن تؤدي مناهج كل منهما إلى نتائج عكسية. يمكن أن يؤدي هذا الاحتكاك إلى إبطاء إنتاج التطبيق بشكل كبير ، وحتى إعاقة رحلة المؤسسة إلى السحابة.
يمكن أن يتجلى هذا الاحتكاك بعدة طرق. على سبيل المثال ، يمكن أن يحد الاعتماد على البنية التحتية المحلية من الطرق التي يصل بها المطورون إلى البيانات المطلوبة لإنشاء التطبيقات. هذا يمكن أن يحد من الابتكار وإدخال التعقيد في عملية التنمية.
وأحيانًا يمكن أن يؤدي موازنة الخدمات السحابية مع الحلول المصممة لغرض معين إلى خلق تعقيدات وزيادة التكاليف عن طريق تقليل المدخرات المتوقعة من الانتقال إلى السحابة.
يعتبر تطوير التطبيقات وتسليمها أمرًا حساسًا من حيث التكلفة ، ولكنه يتطلب السرعة والكفاءة. أي شيء يعيق الطريق يمكن أن يؤدي إلى ميزة تنافسية باهتة ، وحتى خسارة في الإيرادات.
ومع ذلك ، فإننا نعرف أيضًا المؤسسات التي جمعت بذكاء جهود مهندسي البنية التحتية ، الذين يشغلون تطبيقاتك ذات المهام الحرجة اليوم ، وأولئك الذين يستخدمون الخدمات في إنشائها. عندما يتم استخدام منظور كل مجموعة ومهاراتها بشكل جيد ، يمكن أن ينتج عن ذلك المرونة والفعالية من حيث التكلفة والسرعة.
تقوم العديد من المنظمات الناجحة اليوم بتنفيذ مزيج من الاثنين (في الوقت الحالي): بعض البنية التحتية المخصصة مختلطة مع الخدمات المستأجرة من مزود. تستفيد العديد من المنظمات من Kubernetes في هذا البحث عن النظرية الموحدة الكبرى للبنية التحتية. عند وصف نموذج النشر ، توجد كتل تنشئ القرون ونقاط نهاية الخدمة ، مع كتل أخرى تصف نقاط النهاية على طريقة الدفع لكل استخدام. إذا كنت تستخدم أي سحابة مع Kubernetes ، فكر في خدمات التخزين والشبكة.
هناك عناصر مهمة أخرى لعالم خدمات المؤسسة – سواء تم بناؤها أو شراؤها. تعد واجهات برمجة التطبيقات القياسية طريقة فعلية لتقديم البيانات إلى التطبيقات – وتقليل الوقت اللازم للتسويق من خلال تبسيط التطوير. اتفاقيات مستوى الخدمة – العملاء والداخليين على حد سواء – تحدد بوضوح النطاق وتوقعات الأداء الأخرى – حتى لا يضطر المطورون إلى ذلك.
أخيرًا ، يجب أن أشير إلى أن هذا يمثل تحديًا فوريًا في عالم البيانات مفتوحة المصدر حيث أعيش. أعمل مع أباتشي كاساندرا®—برنامج يمكنك تنزيله ونشره في مركز البيانات الخاص بك مجانًا ؛ مجاني مثل البيرة ومجاني كما في الحرية. أنا أعمل أيضًا في مشروع K8ssandra ، الذي يساعد البناة على توفير Cassandra كخدمة لعملائهم باستخدام Kubernetes. وتقدم شركة DataStax ، الشركة التي أعمل بها ، Astra DB المبني على Cassandra ، وهي خدمة بسيطة للمطورين دون الحاجة إلى عمليات. أفهم وجهات النظر المختلفة – ويسعدني أن هناك خيارًا.