Servir um aplicativo da web Python Flask com IIS/Win Server (no local) vale a pena?

Servir um aplicativo da web Python Flask com IIS/Win Server (no local) vale a pena?

Existem alguns recursos (muito poucos, pelo que posso dizer) sugerindo que é possível servir um aplicativo Web Python a partir do IIS, mas não ouvi ou li nenhuma história do mundo real sobre isso na prática.

Quero saber se vale a pena considerar essa abordagem em uma organização que é quase exclusivamente uma loja do Windows.

O aprimoramento e o investimento na execução do Python, digamos, em uma máquina Ubuntu (para a qual há pelo menos algum conhecimento na organização) são uma opção muito melhor?

Isto é para implantação local em VMs. Executar Python em um serviço de nuvem é uma história completamente diferente, obviamente.

Responder1

Python no IIS/Azure App Services (Windows) era uma opção bastante popular (quando o Azure ainda era chamado de Windows Azure), também para sites de produção. Você pode utilizar HttpPlatformHandler ou wfastcgi, para que o IIS encaminhe o tráfego para os processos Python.

No entanto, os verdadeiros desafios vêm do fato de que os frameworks/aplicativos da web Python geralmente não são muito bem desenvolvidos/testados no Windows, portanto, se alguma coisa falhar, é quase certo que você será a base de usuários minoritária que muitos fornecedores de frameworks/aplicativos negligenciam.

Até a Microsoft decidiu abandonar suas tentativas de usar Python no IIS/Windows e insta seus clientes a migrarem para os Serviços de Aplicativos do Azure (Linux),

Importante

A Microsoft preteriu as extensões Python para o Serviço de Aplicativo no Windows, conforme descrito neste artigo, em favor de uma implantação direta no Serviço de Aplicativo no Linux.

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

Então, qual caminho seguir não é difícil de ver.

No local, você pode usar o Windows Server para hospedar VMs Linux (Hyper-V) ou usar contêineres Linux Docker ou usar uma caixa de servidor Linux diretamente. Até mesmo os clientes mais centrados no Windows com quem trabalhei têm alguns contêineres Linux Docker em execução hoje.

Observe que isso não se aplica apenas a aplicativos da web Python. Os aplicativos da web PHP/Go/Java/Node.js enfrentam os mesmos desafios, portanto, é melhor serem hospedados no Linux.

informação relacionada