¿Vale la pena servir una aplicación web Python Flask con IIS/Win Server (on premise)?

¿Vale la pena servir una aplicación web Python Flask con IIS/Win Server (on premise)?

Hay algunos recursos (muy pocos, por lo que puedo decir) que sugieren que es factible servir una aplicación web Python desde IIS, pero no he escuchado ni leído ninguna historia del mundo real sobre esto en la práctica.

Quiero saber si vale la pena considerar este enfoque en una organización que es casi exclusivamente una tienda de Windows.

¿Es la mejora de las habilidades y la inversión en la ejecución de Python desde, por ejemplo, una máquina Ubuntu (para la cual hay al menos algo de conocimiento en la organización) una opción mucho mejor?

Esto es para implementación local en máquinas virtuales. Obviamente, ejecutar Python en un servicio en la nube es una historia completamente diferente.

Respuesta1

Python en IIS/Azure App Services (Windows) era una opción bastante popular (cuando Azure todavía se llamaba Windows Azure), también para sitios de producción. Puede utilizar HttpPlatformHandler o wfastcgi, para que IIS reenvíe el tráfico a los procesos de Python.

Sin embargo, los verdaderos desafíos provienen del hecho de que los marcos/aplicaciones web de Python generalmente no están bien desarrollados/probados en Windows, por lo que si algo falla, es casi seguro que serás la base de usuarios minoritaria que muchos proveedores de marcos/aplicaciones descuidan.

Incluso Microsoft decidió abandonar sus intentos de Python en IIS/Windows e insta a sus clientes a migrar a Azure App Services (Linux).

Importante

Microsoft ha dejado de utilizar las extensiones de Python para App Service en Windows, como se describe en este artículo, a favor de una implementación directa en App Service en Linux.

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

Así que no es difícil ver qué camino tomar.

En el entorno local, puede usar Windows Server para alojar máquinas virtuales Linux (Hyper-V) o usar contenedores Docker de Linux, o usar una caja de servidor Linux directamente. Incluso los clientes más centrados en Windows con los que trabajé tienen algunos contenedores Docker de Linux ejecutándose hoy.

Tenga en cuenta que esto no sólo se aplica a las aplicaciones web de Python. Las aplicaciones web PHP/Go/Java/Node.js enfrentan los mismos desafíos, por lo que es mejor alojarlas en Linux.

información relacionada