Cara Lebih Mudah untuk Menjaga Kode Python Lama Tetap Sehat dan Aman

Secure Python Coding

Python memiliki pro dan kontra, tetapi tetap digunakan secara luas. Misalnya, Python sering digunakan dalam tugas pengolahan data bahkan ketika ada bahasa yang lebih tepat untuk dipilih.

Mengapa? Nah, Python relatif mudah dipelajari. Seseorang dengan latar belakang sains dapat mempelajari Python jauh lebih cepat daripada, katakanlah, C. Namun, kemampuan pendekatan bawaan Python juga menciptakan beberapa masalah.

Setiap kali Python diperbarui, itu berarti beban kerja refactoring yang besar, yang sering ditangani dengan buruk – atau tidak sama sekali. Itu mengarah pada kinerja yang buruk dan kerentanan keamanan. Tapi mungkin ada cara yang lebih baik: alat untuk menjaga tugas Python Anda berjalan lancar dan aman hari demi hari. Mari lihat.

Ini lambat, tetapi berhasil

Python bukanlah bahasa tercepat, tetapi terlepas dari kelemahan komparatifnya, Anda akan sering melihatnya digunakan untuk operasi pengolahan data yang intensif. Pikirkan pembelajaran mesin, visi komputer, atau bahkan matematika murni dalam sistem komputasi kinerja tinggi (HPC).

Jadi, terlepas dari reputasi kinerjanya, beban kerja yang sangat berat biasanya ditangani dengan kode Python, hanya karena sangat praktis untuk digunakan. Jika Anda memiliki latar belakang sains atau matematika, Anda dapat dengan mudah mempelajari Python dan menghasilkan kode Anda sendiri yang akan melakukan pekerjaan itu.

Namun, seperti yang sering terjadi, sesuatu yang dapat diakses juga dapat menimbulkan banyak risiko. Pemrogram yang tidak berpengalaman yang menulis kode Python dapat berjuang dengan tugas-tugas yang dianggap remeh oleh pemrogram yang lebih berpengalaman.

Related Post :   Rootkit Linux Syslogk Baru Memungkinkan Penyerang Memerintahkannya dari Jarak Jauh Menggunakan "Paket Ajaib"

Refactoring itu merepotkan… dan berisiko

Seperti semua bahasa pemrograman, Python sering mengalami pembaruan. Pergeseran dari Python 2.7 ke Python 3.0, misalnya, membawa banyak fitur dan peningkatan. Ini juga berarti bahwa apa pun yang ditulis untuk Python 2.7 perlu “di-refactored” untuk Python 3.0 karena perubahan cara kerja Python.

Refactoring mengacu pada cara programmer menyesuaikan basis kode untuk menanggapi perubahan lingkungan, seperti perubahan dalam versi bahasa, atau hanya untuk meningkatkan kode yang ada dalam beberapa bentuk. Tanpa refactoring, pergeseran dari Python 2.7 ke Python 3.0 sering kali berarti kode untuk Python 2.7 tidak berfungsi dengan baik lagi, atau bahkan tidak berfungsi sama sekali.

Dan inilah masalahnya: pengguna yang menulis kode Python asli mungkin tidak memiliki keahlian untuk melakukan refactor. Lagi pula, mereka sering menjadi ilmuwan – dan bukan programmer berpengalaman. Ketika pemrogram yang tidak berpengalaman mencoba menyesuaikan kode, ada risiko nyata bahwa kinerja akan menurun dan bug akan merayap masuk – terkadang hanya terlihat ketika kasus tepi muncul. Bug kecil menjadi perhatian utama ketika kode Python digunakan untuk tujuan kritis 24/7 seperti analisis ilmiah.

Refactoring juga dapat menyebabkan penurunan kinerja yang tidak terduga. Bahkan jika itu hanya mencapai 5% kinerja, pembaruan kode yang dijalankan dengan buruk dapat dengan cepat membuat tagihan yang jauh lebih besar pada platform HPC bayar untuk penggunaan yang mahal.

Related Post :   Ransomware Baru 'GoodWill' Memaksa Korban untuk Menyumbangkan Uang dan Pakaian kepada Orang Miskin

Berpegang pada Python lama? Itu risiko yang lebih besar

Jika Anda memikirkan kerja keras dan risiko yang terlibat dalam menyesuaikan kode, tidak mengherankan jika pengguna sering memilih untuk tetap menggunakan versi Python yang lebih lama. Menjalankan kode yang ada pada versi Python yang sudah ketinggalan zaman menghindari cukup banyak tantangan karena Anda tidak perlu melakukan refactor: Anda menjaga kode Anda seperti semula.

Umumnya, vendor perangkat lunak akan melakukan hal itu – hanya memperbarui perangkat lunak mereka agar sesuai dengan versi Python baru ketika mereka merilis versi baru dari produk perangkat lunak. Jika Anda telah membeli versi tertentu – menjalankan, katakanlah, Python 2.7, Anda terjebak dan Anda harus terus menjalankan Python 2.7 apa pun yang terjadi.

Kedengarannya tidak seperti masalah besar, tetapi mengandalkan blok bangunan yang usang dan tidak didukung untuk komputasi Anda adalah mimpi buruk DevSecOps. Kerentanan baru akan muncul, dan tambalan yang dibutuhkan tidak akan datang. Mengandalkan versi lama bahasa pemrograman, oleh karena itu, menimbulkan risiko besar ke dalam lingkungan komputasi Anda.

Ada sedikit pilihan di dalamnya – atau memang ada?

Hal yang bertanggung jawab untuk dilakukan adalah memperbarui versi Python saat diperlukan dan mengedit kode yang berjalan di atasnya, tetapi tidak ada cara yang mudah untuk melakukannya. Secara realistis, karena kurangnya sumber daya, refactoring sering kali tidak selesai, dengan konsekuensi yang berpotensi mahal.

Ada kebutuhan besar untuk pendekatan yang lebih baik, dan inilah yang menarik. Situasi yang baru saja kami jelaskan di sekitar versi Python sering terlihat di dunia komputasi. Misalnya, biasanya organisasi menjalankan versi sistem operasi Linux yang tidak lagi tercakup oleh dukungan vendor resmi, mengambil risiko bahwa kerentanan keamanan tidak akan ditambal. hanya untuk memastikan aplikasi penting tidak rusak.

Itu adalah masalah untuk pembaruan bahasa serta bagian lain dari infrastruktur TI juga. Namun, dalam beberapa tahun terakhir, solusi patching tingkat lanjut memungkinkan perusahaan untuk memperpanjang siklus hidup dukungan yang biasa untuk beberapa komponen, dari keseluruhan sistem operasi, hingga pustaka bersama yang kritis. Di sini, di TuxCare, kami telah mengembangkan beberapa solusi yang memperpanjang operasi yang aman dan terjamin dari perangkat lunak lama di luar akhir masa pakai vendor.

Related Post :   Peneliti Mengungkap Serangan Rantai Pasokan Karat yang Menargetkan Pipa Cloud CI

Menjalankan aplikasi Python lama dengan aman dan selamat

Bagaimana jika hal yang sama dapat dilakukan untuk versi bahasa? Nah, sekarang Anda dapat berharap untuk menjalankan kode Python lama Anda, pada versi lama Python – tetapi tanpa risiko yang ditimbulkannya. Tidak ada konstruksi bahasa yang tidak digunakan lagi – dan juga tidak ada kerentanan.

Dengan kata lain, dukungan siklus hidup yang diperpanjang untuk versi bahasa – seperti Python – menjadi kenyataan. Anda akan segera dapat menjaga kode Python Anda tetap aman dan terlindungi tanpa perlu menulis ulang satu baris kode pun, cukup dengan mendapatkan dukungan siklus hidup yang diperpanjang untuk Python – yang memberi Anda perlindungan keamanan yang sama dengan peningkatan versi lengkap.

Ditetapkan untuk diluncurkan dengan harga yang dapat diakses, dukungan siklus hidup Python yang diperpanjang dari TuxCare akan membantu organisasi Anda menangani pertanyaan sulit seputar beban kerja Python yang lebih lama. Nantikan pengumuman kami – yang akan segera hadir.


Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.