“Zone taltsutab püütonit” ehk oluline teave Pythoni kasutajatele

1. novembril kaob Zone platvormist võimalus kasutada programmeerimiskeele Python VANU versioone. Alles jääb tugi värskeimale Pythoni versioonile. Muutuse põhjuseks on Pythoni keeruline ühilduvuspoliitika ning vanematest versioonidest tulenev risk meie serveriplatvormi stabiilsusele ja turvalisusele. Python on maailma üks polulaarseimaid programmeerimiskeeli, mistõttu selle toe päriselt kaotamist me ei kaalu.

Kurioossel kombel viib see meid varasemast selgemini ühele joonele Pythoni disainifilosoofiaga milleks on: “asjade tegemiseks peaks olema üks – ja soovitavalt ainult üks – ilmne viis”.

Silly Python

Zone virtuaalserveri ja nutika pilve-privaatserveri klientide enamus ootab teenuselt eelkõige toimivat klassikalist LAMP (Linux + Apache + MySQL + PHP) tarkvarakomplekti. Nii oli see 20 aastat tagasi ja nii on see ka praegu. Alati pole aga sellest piisanud ning seetõttu oleme aja jooksul lisanud platvormi uusi tarkvaratükke, mida ka LAMP rakendused kasutada soovivad. Lisamise tingimuseks on piisav kasutajate hulk ja mõistliku uuendamise võimalus.

Nii on näiteks platvormi lisandunud:

* Redis (hoiame viimast stabiilset versiooni)

* Node.js (hoiame viimast LTS versiooni)

Valdava osa ajast on meie platvormis olemas olnud ka programmeerimiskeel Python. Kuna tegemist on maailma populaarseima programeerimiskeelega, siis teisiti ei saakski ja Pythonit kasutab ka Zone ise.

Populaarsus tingib ka klientide huvi, kuid Pythoni ühilduvuspoliitika ning olemus teevad selle toetamise Zone platvormis väga keeruliseks. Sellist tuge, nagu näiteks PHP-le, me pakkuda ei saa ning me ei soovita Zone virtuaalserveris jooksutada suuri Pythoni rakendusi. Ad-hoc, analüüsi jms mitte kriitiliste rakenduste käivitamiseks on Python aga sobiv.

Korduvate küsimuste ning segaduste vältimiseks proovime võtta järgnevalt kokku selle, mida Zone pakkuda saab ja ei saa.

Mida me lubada SAAME:

* Kuigi mitte alati kõige viimast, siis mõistlikult värsket Pythoni versiooni süsteemis (hetkel on selleks versiooniks 3.8). Paralleelselt mitut versiooni hoiame süsteemis ainult üleminekuajal.

* Mooduleid virtuaalkeskkondade loomiseks (pip jms). Virtuaalkeskkonnad on ka ainuõige viis Zone platvormis Pythoni rakenduste kasutamiseks.

* Mysqlclient moodulit MySQL/MariaDB andmebaasidega suhtlemiseks.

Mida me pakkuda EI SAA:

* Paralleelselt erinevaid Pythoni versioone.

Nimelt vajab Python tööks tihti palju rohkemaid mooduleid, kui nt PHP, kuid arendajate soovimatus stabiilset API-t, sõltuvusi jms hoida teeb paralleelselt mitme Pythoni versiooni platvormis hoidmise äärmiselt keeruliseks. Paralleelselt mitut versiooni hoiame süsteemis ainult üleminekuajal, et anda sellega klientidele võimalus virtuaalkeskkonnad uuemale versioonile üle viia.

* Võimalust mooduleid kompileerida.

Zone platvorm on oma olemuselt “rolling distro” ja iga uuendus võib muuta või eemaldada teeke, mille vastu Pythoni moodulid ennast linkida võivad.

* Tuge Pythoni rakendustele, nende migreerimiseks uuemale Pythoni versioonile jne.

Ajaloolistel põhjustel on hetkel platvormis isegi kolm Pythoni versiooni – 2.7, 3.6 ja 3.8. Tugi versioonile 2.7 on juba lõppenud ning versiooni 3.6 tugi lõppeb selle aastaga ning nüüd on aeg need vananenud versioonid platvormist eemaldada.

Pane nüüd tähele: alates 1. novembrist tehtavad uuendused eemaldavad meie platvormist Pythoni versioonid 2.7 ja 3.6, misjärel jääb alles ainult versioon 3.8!

Palume selle aja jooksul oma virtuaalkeskkonnad ja skriptid kindlasti versioonile 3.8 üle viia.