طريقة أسهل للحفاظ على كود بايثون القديم صحيًا وآمنًا

HalhulTech

تكنلوجيا - حلحول
إنضم
29 يونيو 2022
المشاركات
4,045
مستوى التفاعل
0
النقاط
16
تشفير آمن للبايثون

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

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

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

إنه بطيء ، لكنه يؤدي المهمة​

Python ليست أسرع لغة موجودة ، ولكن على الرغم من عيوبها المقارنة ، فغالبًا ما تراها تستخدم في عمليات معالجة البيانات المكثفة. فكر في التعلم الآلي أو رؤية الكمبيوتر أو حتى الرياضيات البحتة في أنظمة الحوسبة عالية الأداء (HPC).

لذلك ، على الرغم من سمعتها في الأداء ، يتم التعامل مع أعباء العمل الصعبة للغاية عادةً باستخدام كود Python ، وذلك ببساطة لأنه عملي جدًا للاستخدام. إذا كانت لديك خلفية علمية أو رياضية ، فيمكنك بسهولة نسبية تعلم لغة Python وإنتاج الكود الخاص بك الذي سيؤدي المهمة.

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

إعادة الهيكلة هي متاعب ... ومخاطرة​

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

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

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

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

التمسك بيثون القديمة؟ هذا خطر أكبر​

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

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

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

هناك القليل من الخيارات فيه - أم أنه موجود؟​

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

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

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

تشغيل تطبيقات Python القديمة بأمان وأمان​

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

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

من المقرر طرح دعم دورة حياة Python الممتدة من TuxCare بأسعار يمكن الوصول إليها ، وسيساعد مؤسستك في التعامل مع الأسئلة الصعبة المتعلقة بأعباء عمل Python الأقدم. ترقب إعلاننا - الذي سيأتي قريبًا.​
 
أعلى