“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.

Otsime oma ridadesse programmeerijatest kolleege

Töökuulutuse avaldamisega eelmisel nädalal käivitasime Zones protsessi, mille eesmärk on taaskord leida endi sekka julgeid ja teotahtelisi kolleege. Sellel korral tahame väljakutset pakkuda kahele programmeerijale.

Kuna paljude potentsiaalsete töökaaslaste jaoks võib kerkida küsimus, millega programmeerijad Zones üldse tegelevad, siis üritan tulevaselt tööpõllult veidi saladuskatet kergitada.

Continue reading “Otsime oma ridadesse programmeerijatest kolleege”

Juttu SVN infolekete tõkestamisest ja küsimus tarkvaraarendajatele

subversion_logo-150x150Sõber Lembit säutsub, viidates TechCrunchile, et taas on päevakorda tõusnud versioonihaldustööriista Subversion kasutamise head tavad. Avaldatud uuringust selgub, et väga paljudel veebiarendajatel on kombeks oma veebi otse versioonihaldusest uuendada ning seetõttu sattuvad veebiserverisse ka .svn kataloogid, mis sisaldavad arendustööriista spetsiifilisi meta-andmeid, mis võivad nii veebisaidi sisu olemuse kui ka arendusmeetodite ja arendajate kohta avaldada liialt paljut. Ligipääs nendele kataloogidele jääb enamasti aga piiramata.

Kiire otsing ja pisteline kontroll meie klientide veebisaitide seas näitas, et tegu on tõesti levinud probleemiga. Arvestades seda, kuivõrd palju sellele uuringule viidatakse, on eeldada, et .svn kataloogi “ukse logistajaid” on lähitulevikus palju tulemas. Seetõttu tuleme mugavatele veebiarendajatele vastu ja aitame omalt poolt kaasa infolekete ennetamisele, blokeerides veebiserveri vahenditega ligipääsu .svn kataloogidele. Lisaks blokeeritakse ka ligipääs kataloogidele .git, mis on populaarse versioonihaldustööriista GIT spetsiifilised kataloogid.

Tunnistame, et selline tegevus on mõnevõrra administraatorite ja tarkvaraarendajate vahelisele hallile alale tungimine. Tarkvaraarendajad, kui siia satute, avaldage kommentaarides oma arvamust, kas selliseid asju peaks serveri poolt julgelt tõkestama või pigem võiks jääda seisukohale, et “tarkvaraarendaja-on-suur-mees-hambad-suus-küll-mees-teab-mis-mees-teeb”.

Juhul, kui teil peaks sellest .svn/.git kataloogide blokeerimisest probleeme tekkima, palume ühendust võtta meie klienditeenindusega aadressil abi@zone.ee

require ($tarkvaraarendaja);

LAMPVajame endi sekka tarkvaraarendusspetsialisti. Otsime inimest, kes tegeleks meie infrastruktuuris olemasolevate ja uute liideste arendamisega.

Otsitavalt arendajalt ootame järgmist:

  • Väga head PHP, MySQL ja JavaScript-i programmeerimise oskust
  • Varasemat kogemust Linuxi platvormi ja Apache veebiserveriga
  • Häid andmeturbealaseid teadmisi
  • Tarkvara dokumenteerimise oskust
  • Stressitaluvust
  • Head eneseväljendusoskust ja koostöövõimet
  • Analüüsivõimet

Continue reading “require ($tarkvaraarendaja);”