Hosting pro Python à la PHP hosting

Hosting pro Python à la PHP hosting
« kdy: 29. 12. 2024, 17:35:39 »
Potřebuju někdy udělat nějakou drobnou web aplikaci přístupnou z Internetu. Preferuju na backend Python. Momentálně mám 2 metody:

1. Dát to do AWS EC2 jako Flask
2. Dát to do AWS jako Serverless

Obě mají nevýhody:

Ad 1) Nejstandardnější řešení, ALE, musí člověk jednou za čas udělat SSH do kontejneru a vyřešit admin věci, plus platí paušálně penzíza každý měsíc
Ad 2) Jednou vyrobím, nasadím a pak už to běží furt (pokud tam není nějaký další poser) a platí se on-demand, jenže: Je to past vedle pasti, hotová katstrofa.

Takže jsem si vzpoměl na PHP, ve kterém jsem nikdy nedělal:

"Nebylo náááhodou to PHP celé o tom, že se na hosting server nahrál jednoduchý script, stálo to 30,- Kč měsíčně a bylo to hotovo, a já tu teď čaruju se Serverless?"

A tak si říkám, že by bylo fajn, kdyby něco takového existovlo pro Python. Prostě umístím někde svůj script a server hosting ho spustí pokaždé když je vyvolána url adresa. Plus umí to CRON pro nějaké background joby a má to přístup do nějaké DB. A bylo by fajn, kdyby se to nepřipo* z toho, že někdy použivám Pandas a Numpy.

Máte s tím někdo zkušenost?
« Poslední změna: 29. 12. 2024, 17:38:51 od registrovany123 »


Re:Hosting pro Python à la PHP hosting
« Odpověď #1 kdy: 29. 12. 2024, 19:15:48 »
No, moznosti je tuna, jde o to jestli:
- maji ty skripty vystavovat nejake API nebo webovy FE nebo byt ciste "headless"?
- kde bezi ta databaze a co je to zac?
- jak velke naroky maji ty skripty na diskovy prostor (zpracovavaji velka data a potrebuji si je mezi behy uchovavat nebo ne)?
- jestli to ma byt soucasti nejakeho ekosystemu (napr. preference AWS)?

Na AWS bych to resit bud jako Lambdu (pokud nevadi omezena doba behu) nebo jako ECS kontejner.
Pokud se clovek nechce moc patlat s infrastrukturou tak jsou tu aplikacni hostingy typu Replit, Fly.io, etc., ty jsou ale trochu drazsi
Pokud jsou to male veci a je jich vic, tak bych asi premyslel o tom vzit VPS (napr. u Hetznera zacinaji myslim od 5EUR/mesic, u AWS EC2), dal na to Coolify nebo podobnou vec a deployoval pres to.

Re:Hosting pro Python à la PHP hosting
« Odpověď #2 kdy: 29. 12. 2024, 19:35:46 »
To co popisuješ už dneska v PHP naštěstí ve většině případů neplatí.
Děkuji za možnost editace příspěvku.

CPU

  • *****
  • 912
    • Zobrazit profil
    • E-mail
Re:Hosting pro Python à la PHP hosting
« Odpověď #3 kdy: 29. 12. 2024, 19:52:57 »
A je vůbec Python dost bezpečný pro použití na veřejném internetu?

Re:Hosting pro Python à la PHP hosting
« Odpověď #4 kdy: 29. 12. 2024, 20:08:05 »
Python hosting nabízí třeba Roští.cz.


Re:Hosting pro Python à la PHP hosting
« Odpověď #5 kdy: 29. 12. 2024, 20:35:38 »
Rosti.cz vůbec nevypadá špatně, za 80,- Kč měsíc a za 5 minut vč. registrace mám připravený jakýsi kontejner do kterého se můžu hned ssháčkovat a dokonce je pro mě hned připravená i url adresa:

https://mojeapp-7924.rostiapp.cz/


Kdyby tohle stejné chtěl někdo udělat v AWSku v EC2 a ještě s tím nedělal, tak má robotu na celý den i víc.

Ale nějak nepobírám tu jejich DB Postgre, proože v AWSku za základní RDS s Postgresem dá člověk tak 2000,- Kč / měsíc minimálně, tady jsem to jen naklikal a je to připravené - tak jakto, že se vlezu tak levně? To nechápu.
« Poslední změna: 29. 12. 2024, 20:37:34 od registrovany123 »

Re:Hosting pro Python à la PHP hosting
« Odpověď #6 kdy: 30. 12. 2024, 01:59:10 »
Rošťíčko je fajn. SSHčko v základu, to vám také kdejaký hosting nedá.
S adminem je dobrá domluva.
Veřejně prospěšné, nekomerční, projekty, které jsme dělali s PyLades nám hostuje zdarma.


Re:Hosting pro Python à la PHP hosting
« Odpověď #7 kdy: 30. 12. 2024, 06:17:30 »
Ale nějak nepobírám tu jejich DB Postgre, proože v AWSku za základní RDS s Postgresem dá člověk tak 2000,- Kč / měsíc minimálně, tady jsem to jen naklikal a je to připravené - tak jakto, že se vlezu tak levně? To nechápu.
Roští.cz neznám, ale nejspíš to bude fungovat podobně jako u ostatních levných hostingů - nedostáváš svoji vlastní databázi, ale jenom kousek prostoru v jejich databázi sdílené se všemi ostatními. Zatímco v AWS si platíš za celý svůj databázový server (Aurora DSQL to možná konečně bude umět jinak) a navíc AWS obecně je dost drahej.

Re:Hosting pro Python à la PHP hosting
« Odpověď #8 kdy: 30. 12. 2024, 07:24:08 »
Ale nějak nepobírám tu jejich DB Postgre, proože v AWSku za základní RDS s Postgresem dá člověk tak 2000,- Kč / měsíc minimálně, tady jsem to jen naklikal a je to připravené - tak jakto, že se vlezu tak levně? To nechápu.

Protože to je sdílený databázový server a máš jen 1 GB místa.

https://rosti.cz/cenik

Re:Hosting pro Python à la PHP hosting
« Odpověď #9 kdy: 30. 12. 2024, 07:30:11 »
To mi nevadí, že je sdílený, co by mi vadilo je, kdyby neměli dobře udělaný management distribuce CPU resources mezi jednotlivé usery. Nevím, jak s PGéčkem docílí to, že každý db user chvilku tahá pilku. Aneb když jeden User spustí náročný job v DB, tak co na to ti ostatní.

Re:Hosting pro Python à la PHP hosting
« Odpověď #10 kdy: 30. 12. 2024, 08:24:38 »
To mi nevadí, že je sdílený, co by mi vadilo je, kdyby neměli dobře udělaný management distribuce CPU resources mezi jednotlivé usery. Nevím, jak s PGéčkem docílí to, že každý db user chvilku tahá pilku. Aneb když jeden User spustí náročný job v DB, tak co na to ti ostatní.
Možná jim křivdím, ale čekal bych, že to bude stejný jako s vytěžováním CPU toho sdíleného serveru - budou mít nějaký monitoring a když jim bude připadat, že někdo žere moc, tak ho časem odstřihnou. A do té doby to ostatním holt pojede blbě. Za 80 korun měsíčně člověk nemůže čekat moc zázraky.

_Jenda

  • *****
  • 1 607
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Hosting pro Python à la PHP hosting
« Odpověď #11 kdy: 30. 12. 2024, 10:19:47 »
"Nebylo náááhodou to PHP celé o tom, že se na hosting server nahrál jednoduchý script, stálo to 30,- Kč měsíčně a bylo to hotovo, a já tu teď čaruju se Serverless?"
Podle mě tohle nemůže existovat, protože PHP má jakoby "sdílený runtime" a hostovat "tisíc stránek kde na každou přijdou tři lidi denně" je tak v pohodě.

Zatímco v Pythonu máš následující možnosti:
 - rezidentní aplikace, trvale běží (a tedy žere paměť) a dělá HTTP server (a před ni se strká nějaký nginx/haproxy jako reverzní proxy)
 - spouštět skript pokaždé znovu (CGI režim), což je ale pro takové nasazení nepoužitelné, protože inicializace interpretu a importy trvají desítky milisekund minimálně - a na rozdíl od PHP to buď nemá nebo se moc nepoužívají takové ty různé optimalizace jako opcache.

Proto také ten levný hosting co tu je napsaný (Roští za 90 Kč) stojí v podstatě stejně jako VPS stejných parametrů a má to nejspíš efektivně rezervovanou RAM atd.

Budu rád, když mi někdo ukáže, že to jde dělat i jinak (PHP způsobem, tj. že skripty leží na disku, webserver je spouští jen když jsou potřeba, a tohle spouštění má zanedbatelnou režii).
« Poslední změna: 30. 12. 2024, 10:23:20 od _Jenda »

CPU

  • *****
  • 912
    • Zobrazit profil
    • E-mail
Re:Hosting pro Python à la PHP hosting
« Odpověď #12 kdy: 30. 12. 2024, 11:34:26 »

Proto také ten levný hosting co tu je napsaný (Roští za 90 Kč) stojí v podstatě stejně jako VPS stejných parametrů a má to nejspíš efektivně rezervovanou RAM atd.

A třeba na pozadí spouští VPS, tím by vyřešili problém utilizace PGSQL a ošetřili hodně bezpečnostních problémů.

Také se dá použít mód transparentního VHD = pauzneš stroj, disk si přimountuješ, přehraješ konfigy/binàrky, odpojíš VHD a odpauzuješ stroj.

Šetří to místo na zálohování atd, ale hlavně máš všechno schované uvnitř toho virtuálu. Uzívák o VPS na pozadí ani nemusí vědět.

by_cx

  • ****
  • 292
    • Zobrazit profil
    • E-mail
Re:Hosting pro Python à la PHP hosting
« Odpověď #13 kdy: 30. 12. 2024, 12:57:23 »
Spoluvlastním Roští.cz, tak bych chtěl reagovat na diskusi o databázích.

Možná jim křivdím, ale čekal bych, že to bude stejný jako s vytěžováním CPU toho sdíleného serveru - budou mít nějaký monitoring a když jim bude připadat, že někdo žere moc, tak ho časem odstřihnou. A do té doby to ostatním holt pojede blbě. Za 80 korun měsíčně člověk nemůže čekat moc zázraky.

Databáze v administraci jsou sdílené, tzn. na jedné instanci PgSQL a MariaDB běží více uživatelských databází. Takovéhle databáze jsou omezené počtem dotazů za hodinu. Problémy s výkonem tam běžně nemáme. Prakticky vždy to náš monitoring chytí dřív než to způsobí nějaký problém. Pokud někdo používá databázi nad nějaký běžný průměr, tak se s ním snažíme domluvit. Většinou stačí přidat index nebo upravit nějaký neefektivní SQL dotaz.

Re:Hosting pro Python à la PHP hosting
« Odpověď #14 kdy: 31. 12. 2024, 00:08:15 »
Hmmmm, tak jsem asi zjistil, jakým problémem trpí Roští.cz. Protože je tam všechno sdílené.

Totiž, důvod toho, proč jsem to chtěl použít namísto AWSka je, že je to "jednodušší" než nastavovat EC2.

Jenže.

Já s dovolením ještě pořád dělám v Pythonu 3.9, mám v něm udělané všchno a nemíním přejít na novější, a Roští.cz už tam má Debian s 3.13, takže samozřejmě že se podělala moje netriviální Flask aplikace.

Ano, můžu rozjet ten nejstarší Runtime co tam mají, kde je pořád Python 3.9, ale mám takové zlé tušení, že to za chvíli odstřihnou a mě to přinuté přejít na novější Python.

Zároveň protože je to jakýsik sdílený linux tak já tam nemůžu instalovat věci z apt, furt to píše permission denied.

A odmítám kompilovat Python 3.9 ze zdrojáků, na to můžou apomenout.

Já prostě sakra chci něco vyvinout, nasadit to a nechci o tom slyšet a vědět dalších minimálně 5 let. Naprosto odmítám, abych kažý 1 rok něco fixoval, protože Roští.cz by přešlo na novější Runtime a staré by odstřihlo.

Takže smolík pacholík. To už se mi víc asi vyplatí to AWSko, nebo ten fujtajbl Serverless, protože jestli si tam nepřipravili nějakou podělávku v tom AWSku, tak tam v tom serverless to snad těch 5 let opravdu umí běžet. Asi.