Pregunta

¿Hay alguna forma de implementar una aplicación .NET Windows en la nube? ¿Qué pasa con PaaS (plataforma como servicio)? Soy muy nuevo en este zumbido de todas las nubes. Cualquier ayuda en este asunto será muy apreciada.

¿Fue útil?

Solución

Tienes dos familias principales de infraestructuras en la nube para pensar: IaaS (Infraestructura como servicio), donde alquila efectivamente una máquina virtual por hora, o PaaS (Plataforma como servicio) donde alquila una infraestructura de implementación completa.

Amazon EC2 es el jugador más grande y líder en el mercado de IaaS. Puede alquilar una VM con Windows Server (y SQL Server, si lo desea) preinstalado y preconfigurado. Debe implementar, configurar y mantener su aplicación usted mismo; Las herramientas de Visual Studio funcionan bien para esto una vez que tenga su instancia configurada.

También debe mantener Windows en la VM, esto incluye actualizaciones de Windows.

Azure es la plataforma PAAS líder para Windows. La implementación de una aplicación para Azure se hace bastante simple, ya que Microsoft tiene algunas herramientas excelentes integradas con Visual Studio para que esto sea lo más indoloro posible. Microsoft se encargará del mantenimiento del sistema operativo y la plomería subyacente, que puede ser una configuración importante para aplicaciones de tamaño mediano a grande.

Y como otros han mencionado, algunos proveedores combinan ambos enfoques: Appharbor tiene aspectos de un IaaS y un PaaS.

Para obtener lo mejor de cualquiera de las plataformas, vale la pena usar las tecnologías de almacenamiento especializadas. Ambos tienen un sistema de almacenamiento de pares de clave/valor simple que es mucho más rápido que una base de datos SQL, pero con compensaciones como sin soporte para transacciones. Sin embargo, dependiendo de su aplicación y su tamaño, esto puede acelerar mucho las cosas.

El gran beneficio de las infraestructuras en la nube es que ya no necesita preocuparse por cosas como

  • Hosting una red de servidores locales, con redundancia
  • Conexiones de red bidireccionales de alta velocidad
  • recuperación de desastres y copia de seguridad
  • latencia de red internacionalmente
  • escalar: en general, solo compra otra instancia para manejar la carga adicional

Si ya tiene un equipo crack de expertos en centros de datos en la mano y una red súper rápida, entonces puede no ser apropiado.

Le sugiero que evalúe

  • El uso de la aplicación: ¿se usa ligeramente? ¿interno o externo?
  • Los requisitos de tiempo de actividad: ¿Cuánto dinero perderá? si ¿Cuándo falla el sitio?
  • La cantidad de recurso de TI que tiene disponible: las infraestructuras en la nube son "amigables para los desarrolladores" y pueden reducir la necesidad de personal de operaciones
  • Su presupuesto: en realidad puede ser más rentable permanecer con un sistema de premisas

¡Buena suerte!

Otros consejos

Si desea alojamiento de nubes simple, puede elegir entre Azur o Appharbor.

No he usado AppHarbor personalmente, mide que se ve muy prometedor. La idea principal es que impulsa una aplicación web regular a un repositorio de Git (Mercurial, SVN y TFS también admite utilizando la integración con casas de código fuente de terceros) y Appharbor lo desarrollará, ejecutará la prueba e implementará la aplicación. Eso hace que la implementación sea bastante simple. AppHarbor también una buena selección de complementos, incluidos SQL Server, MongoDB, etc.

Azure es un alojamiento de nubes llenos con varios componentes como almacenamiento de mesa, almacenamiento de blob y componentes similares. Parece que las soluciones realmente escalables necesitarían este tipo de motores de almacenamiento, pero para la mayoría de las aplicaciones con respaldo por SQL-Server, creo que AppHarbor es la opción más simple. (Y aún podría usar blobs y tablas de Azure y S3 si lo necesitaron.

A través de Terminal Services / Desktop / Citrix remoto, puede alojar su aplicación de formularios de Windows en un servidor y permitir que los clientes trabajen con ellos, como si estuvieran instalados localmente. Algunas cosas (como el acceso a los archivos locales) funcionan un poco diferentes, pero es posible.

El cliente necesita instalar el software para acceder al servicio. El software como el escritorio remoto ya está instalado en la mayoría de las PC de Windows.

Los costos (tanto licencias como recursos) son la diferencia como alojamiento de un servicio web. En general, no puede manejar tantos clientes / servidor como una aplicación web, pero alojamiento de una aplicación Windows normalmente se realiza para un número limitado de clientes, por lo que ese no debería ser el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top