Una manera més fàcil de mantenir el codi antic de Python saludable i segur

Python té els seus pros i contres, però, tanmateix, s’utilitza àmpliament. Per exemple, Python s’utilitza amb freqüència en tasques de trituració de dades, fins i tot quan hi ha idiomes més adequats per triar.

Per què? Bé, Python és relativament fàcil d’aprendre. Algú amb formació científica pot agafar Python molt més ràpidament que, per exemple, C. Tanmateix, l’aproximació inherent a Python també crea un parell de problemes.

Sempre que s’actualitza Python, significa una gran càrrega de treball de refactorització, que sovint es gestiona malament, o no es gestiona gens. Això comporta un baix rendiment i vulnerabilitats de seguretat. Però potser hi ha una manera millor: una eina per mantenir les tasques de Python funcionant sense problemes i amb seguretat dia rere dia. Fem una ullada.

És lent, però fa la feina

Python no és l’idioma més ràpid del món, però malgrat els seus desavantatges comparatius, sovint el veuràs utilitzat per a operacions intensives de trituració de dades. Penseu en l’aprenentatge automàtic, la visió per ordinador o fins i tot les matemàtiques pures en sistemes informàtics d’alt rendiment (HPC).

Per tant, malgrat la seva reputació de rendiment, les càrregues de treball molt dures es gestionen habitualment amb codi Python, simplement perquè és molt pràctic d’utilitzar. Si teniu formació en ciències o matemàtiques, podeu aprendre Python amb relativa facilitat i produir el vostre propi codi que farà la feina.

Però, com passa sovint, quelcom accessible també pot generar molts riscos. Els programadors sense experiència que escriuen codi Python poden lluitar amb tasques que els programadors més experimentats donen per fetes.

La refactorització és una molèstia… i un risc

Com tots els llenguatges de programació, Python passa per actualitzacions freqüents. El canvi de Python 2.7 a Python 3.0, per exemple, va aportar un munt de funcions i millores. També significa que qualsevol cosa escrita per a Python 2.7 s’ha de “refactoritzar” per a Python 3.0 a causa dels canvis en el funcionament de Python.

La refactorització es refereix a la manera com els programadors ajusten una base de codi per respondre als canvis ambientals, com ara un canvi en la versió de l’idioma, o simplement per millorar el codi existent d’alguna forma. Sense refactorització, un canvi de Python 2.7 a Python 3.0 sovint significa que el codi de Python 2.7 ja no funciona tan bé, o fins i tot gens.

I aquí està el problema: els usuaris que van escriure el codi original de Python poden no tenir l’experiència per refactoritzar. Després de tot, sovint són científics, i no programadors experimentats. Quan els programadors sense experiència intenten ajustar el codi, hi ha un risc real que el rendiment es degradi i que s’hi introdueixin errors, de vegades només visibles quan apareix un cas extrem. Els errors petits es converteixen en una preocupació important quan el codi Python s’utilitza amb finalitats crítiques les 24 hores del dia, els 7 dies de la setmana, com ara l’anàlisi científica.

La refactorització també pot provocar una degradació inesperada del rendiment. Fins i tot si només és un èxit de rendiment del 5%, una actualització de codi mal executada pot crear ràpidament factures molt més grans en plataformes HPC de pagament per ús cares.

Enganxar-se a l’antic Python? Això és un risc encara més gran

Si penseu en el treball dur i els riscos que comporta l’ajust del codi, no és d’estranyar que els usuaris sovint optin per limitar-se a les versions anteriors de Python. L’execució de codi existent en una versió obsoleta de Python evita molts reptes perquè no cal refactoritzar: manteniu el codi tal com era.

Normalment, els venedors de programari ho faran exactament: només actualitzen el seu programari perquè coincideixi amb una nova versió de Python quan llancin una nova versió del producte de programari. Si heu comprat una versió específica (executant, per exemple, Python 2.7), esteu encallat i heu de continuar executant Python 2.7, sigui el que passi.

No sembla un gran problema, però confiar en blocs de construcció obsolets i no compatibles per a la vostra informàtica és un malson de DevSecOps. Apareixeran noves vulnerabilitats i els pegats necessaris no arribaran. Per tant, confiar en versions antigues dels llenguatges de programació comporta grans riscos al vostre entorn informàtic.

Hi ha poca opció, o n’hi ha?

El responsable de fer és actualitzar la versió de Python quan sigui necessari i editar el codi que s’executa en ella, però no hi ha una manera senzilla de fer-ho. De manera realista, a causa de la manca de recursos, la refactorització sovint no es fa, amb conseqüències potencialment costoses.

Hi ha una gran necessitat d’un millor enfocament, i aquí teniu el que és interessant. La situació que acabem de descriure al voltant de les versions de Python es veu amb freqüència al món de la informàtica. Per exemple, és comú que les organitzacions executin versions del sistema operatiu Linux que ja no estan cobertes pel suport oficial del proveïdor, assumint el risc que les vulnerabilitats de seguretat no s’apadacin. només per assegurar-se que les aplicacions crítiques no es trenquin.

Això és un problema per a les actualitzacions d’idiomes i també per a altres peces d’infraestructura informàtica. Però, en els darrers anys, les solucions avançades de pedaç permeten a les empreses ampliar el cicle de vida de suport habitual per a diversos components, des de sistemes operatius sencers fins a biblioteques compartides crítiques específiques. Aquí, a TuxCare, hem desenvolupat diverses solucions que amplien el funcionament segur i segur del programari antic més enllà del final de la vida útil del proveïdor.

Executar aplicacions Python més antigues de manera segura i segura

I si es pogués fer el mateix amb les versions en idiomes? Bé, ara podeu esperar executar el vostre codi Python anterior, en una versió antiga de Python, però sense els riscos que això comporta. No hi ha construccions de llenguatge obsoletes, ni tampoc vulnerabilitats.

En altres paraules, el suport de cicle de vida estès per a versions d’idiomes, com ara Python, s’està convertint en una realitat. Aviat podreu mantenir el vostre codi de Python segur i protegit sense necessitat de reescriure una sola línia de codi, simplement obtenint suport de cicle de vida estès per a Python, que us ofereix la mateixa protecció de seguretat que una actualització de la versió completa.

Disposat per llançar-se a preus accessibles, el suport de cicle de vida estès de Python de TuxCare ajudarà la vostra organització a fer front a les preguntes difícils sobre les càrregues de treball de Python més antigues. Estigueu atents al nostre anunci, que arribarà aviat.

.

Leave a Comment

Your email address will not be published. Required fields are marked *