¿Qué stack de tecnología resultaría en un deployment más fácil para una aplicación web alojada en el cliente?

Dada una aplicación web que necesitaría ejecutarse en los serveres del cliente, e instalada por los administradores del sistema en el lado del cliente, ¿qué stack de tecnología resultaría en una implementación más fácil con less cantidad de "cirugía de server" realizada por los administradores de sistemas?

Nuestras plataforms de destino son Windows / IIS / SQLServer y Linux / Apache / MySQL, pero dado que el host del server web del cliente puede ser cualquier cosa, desde una caja recién abierta de Windows a una máquina Ubuntu completamente remendada y actualizada, estamos intentando encontrar la tecnología que resultaría en less cantidad de trabajo para los administradores del sistema (lea, minimice nuestros requisitos de soporte).

Las opciones típicas son, por supuesto, PHP, Python, ASP.Net (ejecutando Mono para las instalaciones de Linux), Rails, Java, etc.

Algunas de las cosas a considerar sería si un promedio "fuera de la caja" server web que ejecuta IIS o Apache tendría las bibliotecas necesarias para instalar el producto si se construyeran utilizando una tecnología en lugar de otro. Por ejemplo, una solución basada en PHP probablemente sería más fácil para el cliente para desplegar en una máquina Linux en lugar de tener que instalar mono y cualquier otra dependencia sería necesario para ejecutar una solución ASP.Net en una máquina Linux como una aplicación web .

Aparte de eso, hay preguntas de tener el equilibrio correcto entre la funcionalidad "out-of-the-box" y "easy-integration", tales como: ¿un server web incluido sería de ayuda? ¿O eso hace que las cosas sean más confusas cuando Apache ya está funcionando en el puerto 80?

Estamos trabajando en la suposition de que el cliente tiene algún acceso a un administrador de sistema, pero tal vez no un time completo / dedicado – algo así como una count de host compartido.

Dado que, queremos que el cliente pueda tener la menor cantidad de fricción en la installation de la aplicación web en su server web, y estamos debatiendo la stack de tecnología adecuada para usar para eso.

6 Solutions collect form web for “¿Qué stack de tecnología resultaría en un deployment más fácil para una aplicación web alojada en el cliente?”

En la mayoría de los casos, espero que la respuesta sea PHP / MySQL o .NET / MSSQL. Trabajo con un montón de clientes (no en TI) que están en una tienda o la otra – y si la aplicación que necesitan para instalar no se sienta en su infraestructura existente, entonces podría coo sobre él, pero luego se mueven – incluso si usted proporciona buena documentation y tutoriales sobre cómo instalar soporte php en IIS o lo que (aparentemente trivial) add-on es necesario.

Si usted está apuntando a los clientes que sólo tienen acceso a un sistema de time parcial / put-on sys-admin o que podría estar utilizando alojamiento compartido, entonces creo que realmente necesita ofrecer algo tan simple como el WordPress 5 minutos de installation . Si ya tienes un plan de hosting compartido, no vas a querer instalar otro server web, y es posible que no tengas acceso suficiente para añadir soporte para PHP (si estás en un plan de alojamiento de Windows y viceversa).

Personalmente me gustaría ver en cuál es la plataforma más fácil para que usted desarrolle en y cómo usted puede portar eso al otro lado.

Usted puede escribir su aplicación en PHP y el único agregado para el administrador de IIS es fastcgi y PHP (tutorial aquí ). Vas a tener dependencies en cualquiera de las plataforms que necesitan ser resueltas sin importar la ruta que tomes. Desde un lado de apoyo hay mucho less varibles en el lado de las windows vs el lado de linux. Si elige orientar ASP.net, puede get una gran cantidad de información de debugging fuera de la caja de la plataforma .net. El alojamiento web de Windows también está estandarizado (siempre y cuando el host web esté realmente autorizado para hacer alojamiento web, lo cual es sin duda una advertencia que puede transmitir a sus clientes), y puede verificar fácilmente que el server que configuró según especificaciones.

Usted podría utilizar Python. Funciona bien en plataforms múltiples, viene instalado en la mayoría de las distribuciones de Linux y es fácil de instalar en Windows (ver ActiveState Python ). Usted puede escribir su propio server web en unas pocas líneas de código que pueden funcionar en Linux o ejecutarse como un service de Windows.

He visto muchas aplicaciones que dependen de una stack para distribuir toda la stack preconfigurada para su aplicación. Ejemplos que conozco son Zimbra y Knowledge Tree. Desde el punto de vista de los administradores locales sólo tienen un único instalador que contiene todo lo que necesitan ya configurado y listo para funcionar.

Otra opción que puede funcionar bien es ir a la ruta del dispositivo virtual. Basado en algo como rpath o rodar el suyo propio y hacerlo disponible como imágenes para Xen, VMWare e Hyper-V.

Realmente depende de whther usted está vendiendo a una tienda de LAMP o una tienda de .NET. Su mejor apuesta para la portabilidad es PHP, pero es posible que pueda hacer un desarrollo más rápido utilizando .NET o Rails, lo que te bloquearía en una o la otra stack (a less que Mono es mejor que he oído o Rails tiene buena compatibilidad con IIS …). Viniendo desde el mundo de Windows, la configuration de una configuration básica de IIS es completamente trivial, incluso si usted requiere SQL Express también. Incluso puede proporcionarles un file de respuesta para servermanagercmd.exe y decir "utilice esto e instalará su server web para usted".

La mejor solución tipo todo-en-uno con la que he llegado hasta ahora (y, como tú, he puesto algo de reflexión en ello) es Java. Es bastante fácil get Java instalado en Linux / Windows / Mac / BSD o lo que sea, es casi siempre disponible. Recientemente he estado usando el contenedor de servlets de Winstone Java:

http://winstone.sourceforge.net/

Es un server web pequeño y autónomo, tan autónomo, de hecho, que puede archivar todo como un solo file JAR. El usuario final sólo ejecuta el file Jar (sólo hace doble clic, en la mayoría de los casos en estos días) y su server se está ejecutando. Esto, como ya ha señalado, causa problemas si hay algo que ya se está ejecutando en el puerto 80, pero como es un servlet de Java que está creando de todos modos, no es ningún esfuerzo adicional hacer que servlet disponible para el usuario también – t desea ejecutar su server web todo en uno pueden instalar el servlet de la manera estándar en su contenedor de servlet habitual.

  • ¿Puedes confiar en Nginx como tu único servidor web para php / mysql
  • Alternativa gratuita de Webasyst
  • CHMOD en alojamiento web
  • ¿Cómo servir las peticiones php a través de una única instancia persistente de php-cgi?
  • Millones de files en php tmp error - cómo eliminar?
  • Error interno del server php
  • PHP no muestra errores en la nueva installation de Apache / PHP en Ubuntu Server
  • Nginx y 1000 WordPress instala - Optimización
  • Apache2, PHP 5.2.8 Trabajar - Asistente de instalación de CRM no ve la versión de PHP
  • He actualizado PHP desde el origen ... ¿Cómo puedo usarlo?
  • ¿Cómo puedo matar a un runaway cronjob
  • ¿Cuáles son algunas de las razones por las que PHP no registraría errores?
  • Detectar proveedor de CPU en OSX
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.