Puncte:1

Deservirea unei aplicații web Python Flask cu IIS/Win Server (on prem) merită probleme?

drapel cn

Există câteva resurse (foarte puține din câte îmi pot da seama) care sugerează că este posibilă deservirea unei aplicații web Python din IIS, dar nu am auzit sau citit nicio poveste din lumea reală despre asta în practică.

Vreau să știu dacă această abordare merită să fie luată în considerare într-o organizație care este aproape exclusiv un magazin Windows.

Este îmbunătățirea competențelor și investițiile în rularea Python de la o mașină Ubuntu, să zicem (pentru care există cel puțin unele cunoștințe în organizație) o opțiune mult mai bună?

Aceasta este pentru implementarea locală pe VM. Rularea Python pe un serviciu cloud este, evident, o poveste complet diferită.

Michael Hampton avatar
drapel cz
Nu am auzit niciodată de aplicațiile Python de _producție_ care să fie rulate în spatele IIS sau, de altfel, pe Windows, dar presupun că orice este posibil. Din punct de vedere tehnic, cu siguranță o poți face; este puțin diferit de proxy-ul oricărei alte aplicații web.
mforsetti avatar
drapel tz
În loc de proxy (inversa), IIS acceptă WSGI (https://docs.microsoft.com/en-us/visualstudio/python/configure-web-apps-for-iis-windows?view=vs-2019) prin [`wfastcgi`](https://pypi.org/project/wfastcgi/); deși vor exista diferențe în ceea ce privește utilizarea Python în Windows față de *nix, mai ales dacă începeți să utilizați module externe.
davidlars avatar
drapel cn
Mulțumesc, abordarea wfastcgi pare a fi utilă. Sperăm că utilizarea modulelor externe nu se va dovedi a fi o problemă. Încărcarea acestor aplicații nu va fi prea rea. Aplicații interne pentru un set limitat de utilizatori. Ei bine, cred că nu va strica să încerci. Cu siguranță pare o practică rară, cu puțin ajutor oriunde dacă/când lucrurile merg spre sud.
Puncte:3
drapel vn

Python pe IIS/Azure App Services (Windows) a fost o opțiune destul de populară (când Azure era încă numit Windows Azure), și pentru site-urile de producție. Puteți utiliza fie HttpPlatformHandler, fie wfastcgi, astfel încât IIS să redirecționeze traficul către procesele Python.

Cu toate acestea, adevăratele provocări provin din faptul că cadrele/aplicațiile web Python nu sunt de obicei destul de bine dezvoltate/testate pe Windows, așa că, dacă ceva se sparge, sunteți aproape sigur că sunteți baza de utilizatori minoritară pe care mulți furnizori de cadre/aplicații o neglijează.

Chiar și Microsoft a decis să renunțe la încercările sale de a folosi Python pe IIS/Windows și își îndeamnă clienții să migreze la Azure App Services (Linux),

Important

Microsoft a depreciat extensiile Python pentru App Service Windows așa cum este descris în acest articol, în favoarea unei implementări directe la App Service pe Linux.

https://docs.microsoft.com/en-us/visualstudio/python/managing-python-on-azure-app-service?view=vs-2019

Deci, ce drum să mergi nu este greu de văzut.

Pentru on-premise, puteți utiliza Windows Server pentru a găzdui mașini virtuale Linux (Hyper-V) sau utilizați containere Linux Docker sau utilizați direct o cutie de server Linux. Chiar și cei mai importanți clienți Windows cu care am lucrat au câteva containere Linux Docker care rulează astăzi.

Rețineți că acest lucru nu se aplică numai aplicațiilor web Python. Aplicațiile web PHP/Go/Java/Node.js se confruntă cu aceleași provocări, așa că este mai bine să fie găzduite pe Linux.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.