استكشاف توزيع البيئة
لنفترض أنك تلقيت يومًا مكالمة دعم طوارئ في منتصف الليل بسبب تعطل خادم.
في هذه الحالة، ستعرف صعوبة البحث في جداول بيانات متعددة أو حتى ذاكرتك - للوصول إلى الخطوات اليدوية لإعداد جهاز جديد.
ثم هناك أيضًا صعوبة الحفاظ على اتساق بيئات التطوير والإنتاج.
أسهل طريقة لإزالة احتمال حدوث خطأ بشري عند تهيئة الآلات هي استخدام البنية الأساسية كتعليمة برمجية.
التوزيع اليدوي مقابل البنية الأساسية كتعليمة برمجية
التشبيه الشائع لفهم الاختلافات بين التوزيع اليدوي والبنية الأساسية كتعليمة برمجية هو التمييز بين امتلاك الحيوانات الأليفة وامتلاك الماشية.
عندما يكون لديك حيوانات أليفة، فأنت تسمي كل منها وتعتبره أفرادًا؛ إذا حدث شيء فظيع لأحد حيواناتك الأليفة، فأنت تميل إلى الاهتمام كثيرًا.
إذا كان لديك قطيع من الماشية، فلا يزال بإمكانك تسميتها، لكنك تفكر في قطيعها.
من حيث البنية الأساسية، قد تكون هناك آثار خطيرة مع نهج النشر اليدوي إذا تعطل جهاز واحد وتحتاج إلى استبداله (الحيوانات الأليفة).
إذا كنت تعتمد البنية الأساسية كنهج تعليمة برمجية، فيمكنك بسهولة توفير جهاز آخر دون التأثير سلبًا على البنية الأساسية بالكامل (الماشية) في حالة تعطل جهاز واحد.
تنفيذ البنية الأساسية كتعليمة برمجية
باستخدام البنية الأساسية كتعليمة برمجية، يمكنك التقاط بيئتك (أو بيئاتك) في ملف نصي (برنامج نصي أو تعريف).
قد يتضمن الملف أي شبكات وخوادم وموارد حوسبة أخرى.
يمكنك التحقق من البرنامج النصي أو ملف التعريف في التحكم في الإصدار ثم استخدامه كمصدر لتحديث البيئات الحالية أو إنشاء بيئات جديدة.
على سبيل المثال، يمكنك إضافة خادم جديد عن طريق تحرير الملف النصي وتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية الإصدار بدلاً من نقله عن بُعد في البيئة وتوفير خادم جديد يدويًا.
يسرد الجدول التالي الاختلافات المهمة بين التوزيع اليدوي والبنية الأساسية كرمز.
النشر اليدوي | البنية الأساسية كتعلم برمجي |
---|---|
خوادم Snowflake. | خادم متسق بين البيئات. |
تختلف خطوات التوزيع حسب البيئة. | يتم إنشاء البيئات أو تغيير حجمها بسهولة. |
المزيد من خطوات التحقق والعمليات اليدوية الأكثر تفصيلاً. | إنشاء مؤتمت بالكامل لتحديثات البيئة. |
زيادة الوثائق لحساب الاختلافات. | الانتقال إلى البنية الأساسية الثابتة. |
التوزيع في عطلات نهاية الأسبوع لإتاحة الوقت للتعافي من الأخطاء. | استخدم عمليات الوزيع باللون الأزرق/الأخضر. |
إيقاع إطلاق أبطأ لتقليل الصعوبة وعطلات نهاية الأسبوع الطويلة. | تعامل مع الخوادم على أنها ماشية وليس حيوانات أليفة. |
فوائد البنية الأساسية كتعليمة برمجية
القائمة التالية هي فوائد البنية الأساسية كتعليمة برمجية:
- يعزز التدقيق من خلال تسهيل تتبع ما تم توزيعه ومتى وكيف. (بمعنى آخر، فإنه يحسن إمكانية التتبع).
- يوفر بيئات متسقة من الإصدار إلى الإصدار.
- تناسق أكبر عبر بيئات التطوير والاختبار وبيئة التشغيل.
- أتمتة عمليات توسيع النطاق وتوسيع نطاقه.
- يسمح بالتحكم في الإصدار في التكوينات.
- يوفر إمكانات استعراض التعليمات البرمجية واختبار الوحدة للمساعدة في إدارة تغييرات البنية الأساسية.
- يستخدم عمليات خدمة غير قابلة للتغيير ، مما يعني أنه إذا كانت هناك حاجة إلى تغيير في بيئة ما، وتم نشر خدمة جديدة، وتم إيقاف الخدمة القديمة، فلن يتم تحديثها.
- يسمح بعمليات التوزيع باللون الأزرق/الأخضر. تقلل منهجية الإصدار هذه من وقت التعطل حيث توجد بيئتان متطابقتان - أحدهما مباشر والآخر ليس كذلك. يتم تطبيق التحديثات على الخادم غير المُباشر. عند التحقق من الاختبار واكتماله، يتم تبديله بخوادم حية مختلفة. تصبح البيئة الحية الجديدة، ولم تعد البيئة الحية السابقة هي الحية.
- يتعامل مع البنية الأساسية على أنها مورد مرن يمكن توفيره وإلغاء توفيره وإعادة توفيره عند الحاجة.