2010-06-19 7 views
17

Tengo una aplicación asp.net parcialmente desarrollada, pero ahora el cliente quiere que se desarrolle en azul. ¿Qué parte del código existente se puede usar para desarrollar la aplicación en azul?¿Cuán difícil es portar una aplicación asp.net a azul?

¿Qué desafíos podríamos encontrar cuando intentemos portar una aplicación asp.net existente a azul? ¿Hay alguna otra alternativa al azul en la computación en la nube?

Respuesta

22

Para una aplicación asp.net, ciertamente puede llevar eso a Azure. La lógica de su núcleo funcionará de manera relativamente directa, y obtendrá los muchos beneficios que Azure tiene para ofrecer. Con el lanzamiento de junio de 2010, también tendrá soporte para .NET 4, junto con IntelliTrace para la depuración.

Sin embargo, a medida que comienza a planear su migración Azure, hay varias consideraciones que usted necesita para pensar (ninguno de ellos insuperables, y varios relativamente simple de tratar):

  • Tienes que ocuparse de la administración del estado de la sesión ASP.NET en las instancias de su función web (que no se admite de fábrica, excepto en el proceso). También deberá configurar y usar el rol y los proveedores de membresía (consulte here para obtener más detalles). EDITAR: ahora tiene acceso tanto a AppFabric Cache para el estado de la sesión como a SQL Azure, parte de Universal Providers incluido con Windows Azure SDK + Tools.
  • Tienes que examinar tu SQL backend por incompatibilidades con SQL Azure (como las tareas programadas, ya que no hay compatibilidad con SQL Agent). Las diferencias SQL Azure están documentadas here. También deberá considerar el límite de tamaño de SQL Azure de 50 GB, lo que puede requerir que descargue contenido al almacenamiento de blobs de Azure. EDITAR: Puede ejecutar su base de datos de SQL Server a través del SQL Azure Migration Wizard para pruebas de compatibilidad.
  • Debe configurar el registro y los diagnósticos, preferiblemente con la salida Trace, para que pueda recuperar estos datos de forma remota.
  • Debe pensar en cómo va a supervisar y escalar su aplicación. Toda la información que pueda necesitar para escalar está disponible para usted (contadores de rendimiento, longitudes de cola, etc.). Consulte WASABI - el bloque de aplicación de escala automática, que forma parte de Enterprise Library. También puede suscribirse a un servicio como AzureWatch.
  • Deberá pensar en el almacenamiento en caché, , ya que actualmente no hay una implementación de almacenamiento en caché lista para usar que se ejecute en las instancias de su rol web que ahora se proporciona como un servicio. Lea los detalles here, así como una pregunta frecuente here.
  • ¿Necesita soporte para SMTP? Si es así, hay detalles que debe leer sobre here. SendGrid anunció recientemente un free-tier promotion para Windows Azure.
  • ¿Está alojando servicios de WCF también? Si es así, consulte this site para obtener más detalles (específicamente los Problemas conocidos).

Entonces, sí, hay algunas cosas que debe preocuparse, pero Azure es una gran plataforma para alojar una aplicación asp.net y usted debe considerarla.

+1

Gran respuesta. Como se hace referencia a ellos desde otras publicaciones más recientes, podría ser bueno actualizarlo. Creo que mencionaste en otro lugar ahora hay un servicio de caché de AppFabric? –

+0

Samuel - ¡gracias! Voy a editar esto más tarde. –

2

Debe ser muy fácil portar su aplicación a Azure, especialmente si está utilizando un back-end SQL. El código podría ejecutarse casi sin modificación. Tendrá que crear un paquete de instalación de Azure para el proyecto y el archivo de configuración.

Si su aplicación hace uso del almacenamiento persistente (que no sea SQL Server), puede que tenga que volver a trabajar ese código de alguna manera. Sin embargo, la plataforma ahora tiene almacenamiento en disco, que simula un sistema de archivos, por lo que esto debería ser bastante fácil.

Otro problema a tener en cuenta es web.config. Si haces un uso intensivo de esto para la personalización en tiempo de ejecución, tendrás que volver a trabajar también en eso. No puede implementar archivos individuales en su aplicación en Azure, por lo que el enfoque recomendado es migrar este tipo de configuraciones al archivo de configuración de Azure.

Lo más difícil que pueda encontrar es aplicaciones externas. Si su aplicación se basa en el lanzamiento de otros procesos, esto requerirá un rediseño serio.

+1

creo "muy fácil" es engañosa. Ver mi respuesta a continuación para más detalles. –

1

Azure ahora admite sitios web como tipo de implementación. Básicamente, esto le permite publicar cualquier aplicación Asp.net estándar (y otra compatible como PHP, etc.) en Azure y tenerla como un servidor escalable. Consulte este artículo http://blog.ntotten.com/2012/06/07/10-things-about-windows-azure-web-sites/

Muchas de las ventajas de Azure sin tener que introducir el código/proyecto específico de Azure en su aplicación existente.

También esta pregunta aquí What is the difference between an Azure Web Site and an Azure Web Role

Cuestiones relacionadas