Exportar (0) Imprimir
Expandir todo

Consideraciones sobre el desarrollo para los Servicios en la nube de Windows Azure

[Esta documentación es solo para la vista previa y está sujeta a cambios en ediciones posteriores. Los temas en blanco se incluyen como marcadores de posición.]

Si está considerando la posibilidad de migrar sus aplicaciones a los Servicios en la nube de Windows Azure, es conveniente que primero obtenga información sobre dichos servicios y los entienda. El artículo Presentación de Windows Azure contiene información sobre los componentes de Windows Azure, la administración de datos y los kits de desarrollo de software (SDK) de programación admitidos.

Este tema ofrece información introductoria sobre la implementación de una aplicación de Windows Azure. Debido a los infinitos escenarios de migración diferentes que puede haber, se recomienda que los desarrolladores elijan las técnicas y las soluciones más apropiadas para sus aplicaciones y usuarios.

La migración de una aplicación existente a Windows Azure incluye lo siguiente:

  • Agregar una configuración específica de Windows Azure y cierto código personalizado

  • Volver a empaquetar la aplicación existente como una aplicación de Windows Azure

  • Implementar la aplicación como un servicio de nube que se ejecuta en una máquina virtual de Windows Azure.

Un servicio de nube de Windows Azure incluye tanto el código de la aplicación como sus configuraciones en Windows Azure. Cuando se desarrolla una aplicación para la nube, los modelos arquitectónicos generales siguen siendo aplicables, por lo que los desarrolladores deben diseñar sus aplicaciones para administrar la disponibilidad, escalabilidad, confiabilidad y seguridad en un entorno distribuido. Además, necesitan tener en cuenta los contratos de nivel de servicio, y aspectos como planeación de la capacidad, facturación a clientes, auditoría, supervisión de la aplicación, análisis del tráfico y costos de administración, así como cuándo ampliar o reducir la aplicación.

Autor: Selcin Turkarslan
Revisores: Valery Mizonov, Avilay Parekh, Paolo Salvatori, Steve Howard

Crear un servicio de nube en Windows Azure

En un entorno tradicional de centro de datos privado, usted es responsable de adquirir, configurar y mantener el hardware para los servicios que ofrece. Con Windows Azure, puede diseñar y compilar aplicaciones que se escalan a petición mediante la asignación de recursos virtualizados. Si bien algunas aplicaciones locales se pueden ejecutar en Windows Azure con muy pocos cambios o sin cambios, la mayoría de las aplicaciones se pueden beneficiar realmente del diseño y la arquitectura para la nube. Para sacar el máximo partido de Windows Azure, se recomienda modificar la aplicación usando varios roles antes de la migración a Windows Azure.

Por ejemplo, los servicios Web hospedados en centros de datos heredados suelen combinar varias funciones en una única aplicación, lo que no facilita el escalado. También almacenan el estado de la aplicación en una unidad de disco local, que no funciona en el entorno de Servicios en la nube de Windows Azure. Al migrar desde una aplicación web existente a Windows Azure, se recomienda convertir el código de aplicación heredado a roles web o de trabajador de Windows Azure.

En los Servicios en la nube de Windows Azure, cada aplicación se implementa como uno o más roles. Cada rol contiene el código y la información de configuración necesarios para alguna parte de la función de la aplicación. Un rol web está pensado para su uso por parte de los servicios front-end y el código que interactúa directamente con exploradores web o con otros clientes HTTP; se ejecuta en IIS, el servidor web de Microsoft. Un rol de trabajador suele usarse para realizar procesamiento y tareas auxiliares en segundo plano, y es más indicado para servicios de nivel intermedio. Cada rol puede tener varias instancias. Cada instancia ejecuta el mismo código que se ha escrito para el rol, pero cada instancia de rol reside en una máquina virtual diferente del centro de datos de Windows Azure. Para cada rol, puede indicar el tamaño de máquina virtual deseado que las instancias de ese rol deben usar. Para obtener más información, vea Configurar tamaños de máquina virtual en MSDN Library. Además de las diferencias funcionales entre los roles, cada rol actúa como una unidad de escala de la aplicación. Es decir, puede tener 20 instancias del rol we para atender más tráfico y solo 5 instancias del rol de trabajador para procesar solicitudes del rol web asincrónicamente. Por ejemplo, si solo desea crear una aplicación ASP.NET, PHP o Node.js, o un servicio WCF, simple podría usar únicamente un rol web. Se recomienda que realice pruebas funcionales y de rendimiento exhaustivas en su servicio de nube para determinar el número óptimo de instancias de rol y los tamaños de máquinas virtuales antes de cargar la aplicación en producción. Para obtener más información sobre los conceptos de servicio de nube, vea Centro para desarrolladores de Windows Azure.

Se recomienda que aproveche las opciones de almacenamiento disponibles incluidas en Windows Azure. Esto ayuda a simplificar la lógica de la aplicación y mejora el rendimiento del servicio de nube. Por eso es muy importante entender las limitaciones de cada opción de almacenamiento de datos al planear la migración de una aplicación y saber perfectamente cuándo conviene usar una opción de almacenamiento de datos determinada para su servicio de nube. Para obtener más información sobre las opciones de almacenamiento disponibles en Windows Azure, vea Información general sobre los servicios de administración de datos de Windows Azure en Windows Azure. Además, quizás desee usar el servicio Caching de Windows Azure con el fin de proporcionar almacenamiento de alta velocidad basado en memoria para aplicaciones de Windows Azure. Caching mejora el rendimiento al almacenar temporalmente información de otros orígenes backend y puede reducir los costos asociados a las transacciones de acceso al almacenamiento de bases de datos de la nube. Si piensa migrar una aplicación que tiene fuertes dependencias en el sistema de archivos subyacente, vea el tema Migrar datos a Unidades de Windows Azure para obtener instrucciones detalladas. El uso de Unidad en la nube de Windows Azure le permite migrar una aplicación que debe seguir manteniendo su estado en el sistema de archivos NTFS tradicional. Para lograr el máximo rendimiento, implemente la aplicación en centros de datos que estén más cerca de la mayoría de los clientes y al centro de datos que hospeda la cuenta de almacenamiento o las instancias de Base de datos SQL de Windows Azure. Sin embargo, puede elegir un centro de datos más cercano a su empresa o a sus datos si tiene alguna duda de jurisdicción o legal sobre los datos y dónde residen. Para obtener más información, vea Consideraciones sobre el rendimiento con Base de datos SQL de Windows Azure.

Desarrollo de aplicaciones en Windows Azure

Antes de empezar a implementar el servicio de nube de Windows Azure, debe obtener primero una suscripción de Windows Azure. Para obtener más información, vea el sitio WindowsAzure.com. Después, debe preparar el entorno de desarrollo. Microsoft proporciona actualmente SDK específicos del lenguaje para .NET, Java, PHP, Node.js y Python. Para obtener la información más actualizada sobre los lenguajes de programación y las plataformas admitidos, vea el sitio WindowsAzure.com. Además, puede usar el Centro de descarga de Windows Azure para tener acceso a todas las bibliotecas de cliente, SDK y herramientas de línea de comandos de Windows Azure.

Para que las aplicaciones cliente que se ejecutan en distintas plataformas se conecten a la nube, Microsoft eligió ODBC como API de conectividad cliente estándar para aplicaciones cliente nativas que se conectan a Base de datos SQL de Windows Azure (Base de datos SQL). El Proveedor OLE DB de SQL Server Native Client se incluirá por última vez en SQL Server 2012 y no se admite en Base de datos SQL. Cuando escriba aplicaciones en Windows o en Windows Azure, debe usar el controlador ODBC de SQL Server Native Client incluido con SQL Server 2008 R2 o posterior. Se recomienda que adopte ODBC en el desarrollo de las versiones nuevas y futuras de su aplicación. Para las aplicaciones existentes que usan OLE DB, se recomienda migrarlas a ODBC de cara al futuro. Para obtener más información sobre cómo convertir una aplicación OLE DB en una aplicación ODBC, vea las notas del producto Instrucciones para la conversión de OLE DB a ODBC. A partir de la versión Windows Azure Preview, Windows Azure ofrece un nuevo servicio a los proveedores de servicios: Windows Azure Web Sites. Este nuevo servicio permite a los desarrolladores crear e implementar rápidamente un sitio web en Windows Azure. Con este nuevo servicio, puede desarrollar y publicar sus sitios web directamente en el Portal de Windows Azure. Para obtener más información, vea Sitios web de Windows Azure en el sitio WindowsAzure.com.

Como en cualquier otro desarrollo de aplicaciones, debe diseñar la aplicación para administrar la disponibilidad, la recuperación ante desastres y la seguridad en un entorno de nube multiempresa distribuido. Para obtener más información, vea Consideraciones sobre alta disponibilidad y recuperación ante desastres con Base de datos SQL de Windows Azure en Windows Azure y Recursos de seguridad para Windows Azure. Se recomienda abordar los requisitos de seguridad al principio del ciclo de vida de desarrollo de software antes de embarcar una aplicación en Windows Azure. Para obtener más información sobre el desarrollo de aplicaciones en Windows Azure, vea Desarrollar aplicaciones de Windows Azure.

Registrar, probar, diagnosticar y depurar aplicaciones de Windows Azure

Puesto que Windows Azure es una plataforma escalable dinámica multiempresa en la nube, necesita considerar técnicas de supervisión y diagnóstico específicas de la nube a la hora de diseñar la aplicación. Se recomienda pensar en la supervisión y el diagnóstico al principio del ciclo de vida de desarrollo de software. Es conveniente que evalúe si las técnicas de supervisión y diagnóstico que emplea actualmente ofrecerían un servicio suficiente una vez implementada la aplicación en la nube. Por ejemplo, puede ser necesario optimizar la configuración de diagnóstico y registro en el caso de una aplicación que genera archivos de registro grandes. De esta forma produciría un número reducido de archivos de registro que se pueden inspeccionar o descargar rápidamente en el entorno local para su posterior análisis.

En la lista siguiente se muestran algunas herramientas y técnicas de solución de problemas disponibles para Windows Azure:

  • Diagnósticos de Windows Azure (WAD): recopila operaciones y datos de diagnósticos del servicio Windows Azure. Diagnósticos de Windows Azure registra datos de diagnósticos procedentes de distintos orígenes como registros de IIS 7.0, registros de infraestructura de Diagnósticos de Windows, registros de eventos de Windows, contadores de rendimiento, volcados de memoria y registros de errores personalizados a un intervalo periódico configurable y conserva la información recopilada en el almacenamiento de Tabla y Blob de Windows Azure para su análisis. Para obtener más información, vea Información general sobre Diagnósticos de Windows Azure.

  • Módulo de administración de System Center de Windows Azure: el Módulo de administración de Supervisión de Windows Azure permite supervisar la disponibilidad y el rendimiento de aplicaciones que se ejecutan en Windows Azure. Para obtener más información, vea Guía de módulos de administración para aplicaciones de Windows Azure. Se recomienda usar Diagnósticos de Windows Azure y el Módulo de administración de System Center de Windows Azure para supervisar la disponibilidad y el rendimiento de las aplicaciones de Windows Azure. Si desea un vídeo adicional, vea System Center 2012: administrar aplicaciones entre nubes privadas y públicas.

  • Análisis de Almacenamiento de Windows Azure: realiza el registro y proporciona datos de métricas para una cuenta de almacenamiento. Puede usar estos datos para hacer un seguimiento de solicitudes, analizas tendencias de uso y diagnosticar problemas con la cuenta de almacenamiento. Para obtener más información, vea Análisis de Almacenamiento en MSDN Library.

  • Administración de conexiones de Base de datos SQL: controle los códigos de error implementando lógica de reintento en la aplicación. Para obtener más información, vea Administración de conexiones en Base de datos SQL en el wiki de TechNet.

  • Cmdlet de PowerShell de Windows Azure: los cmdlet de PowerShell de Windows Azure permiten examinar, configurar y administrar servicios de nube y de administración de datos de Windows Azure directamente desde PowerShell. Estas herramientas pueden ser útiles a la hora de desarrollar y probar aplicaciones que usan servicios de Windows Azure. Para obtener más información, vea Cmdlet de PowerShell de Windows Azure.

Como ocurre con cualquier otra aplicación, el servicio de nube de Windows Azure también necesita unas pruebas detalladas antes de cargarse en producción; por ejemplo, hay que probar la funcionalidad, la ejecución de un extremo a otro, el rendimiento, la escalabilidad, la seguridad, etc.

Para obtener instrucciones descriptivas detalladas, vea Prácticas recomendadas para desarrollar aplicaciones de Windows Azure. Si desea información complementaria, vea Supervisar los servicios hospedados y los datos de registro en Windows Azure y Testing, Managing, Monitoring and Optimizing Windows Azure Applications en MSDN Library.

Opciones de red y conectividad basadas en la nube de Windows Azure

Windows Azure ofrece diversas capacidades de red para ayudarle a integrar aplicaciones existentes con la nube y administrar el tráfico de red. Los principales componentes de red y conectividad de Windows Azure son los siguientes:

  • Service Bus de Windows Azure: se recomienda usar Service Bus de Windows Azure para cualquier comunicación entre servicios dentro de Windows Azure y también para mantener la integración entre los servidores locales y Windows Azure. Service Bus proporciona capacidades seguras de mensajería y retransmisión en el nivel de aplicación. Service Bus de Windows Azure ofrece una infraestructura de comunicación basada en la nube que admite un servicio de mensajería segura común en una red pública con un espacio de nombres unificado simple como https://myhostname.servicebus.windows.net. Service Bus admite los modelos de programación siguientes: .NET API, REST API y WCF.

  • Servicio Access Control de Windows Azure: se recomienda usar Access Control de Windows Azure para proporcionar control de acceso federado basado en notificaciones para servicios Web y aplicaciones de usuario final WCF y REST hospedados en la nube. Access Control es un servicio de Windows Azure que ofrece una manera sencilla de autenticar a los usuarios que necesitan obtener acceso a sus aplicaciones y servicios Web sin necesidad de emplear lógica de autenticación compleja en el código. El servicio también proporciona integración con Windows Identity Foundation (WIF). Para obtener más información sobre ACS, vea Autenticar usuarios Web con el servicio Access Control de Windows Azure.

  • Connect de Windows Azure: se recomienda usar Connect de Windows Azure para habilitar una conexión segura entre los servidores locales y Windows Azure. Proporciona una ruta de migración de aplicaciones existentes a Windows Azure al habilitar la conectividad de red directa basada en IP con servicios e infraestructuras locales existentes. Además, Connect de Windows Azure simplifica la conexión directa con máquinas virtuales hospedadas en la nube, lo que permite realizar de forma remota la administración y la solución de problemas mediante las mismas herramientas que se emplean para las aplicaciones locales. Para obtener más información, vea Conectar equipos locales a roles de Windows Azure.

  • Traffic Manager de Windows Azure: Traffic Manager permite equilibrar la carga del tráfico entrante entre varios servicios de Windows Azure hospedados independientemente de que se ejecuten en el mismo centro de datos o en diferentes centros de datos del mundo. Al administrar el tráfico de manera eficiente, puede asegurar el alto rendimiento, la disponibilidad y la resistencia de sus aplicaciones. Traffic Manager de Windows Azure está actualmente en la versión preliminar Community Technology Preview (CTP) y está disponible de forma gratuita.

  • Red de entrega de contenido de Windows Azure: la Red de entrega de contenido (CDN) de Windows Azure ofrece a los desarrolladores una solución global para almacenar contenido en memoria caché en las ubicaciones más cercanas a sus clientes o usuarios para proporcionar la mejor experiencia para su aplicación. CDN almacena en memoria caché los blobs de Windows Azure y el contenido estático resultante de instancias de proceso en ubicaciones situadas estratégicamente para proporcionar el ancho de banda máximo para la entrega de contenido a los usuarios. Puede habilitar la entrega de CDN para sus proveedores de contenido a través del Portal de administración de la plataforma Windows Azure. Para obtener más información, vea Información general de la red de entrega de contenido (CDN) de Windows Azure.



  • Red virtual de Windows Azure: a partir de la versión Windows Azure Preview, Windows Azure admite este nuevo servicio para proporcionar conectividad de red segura entre sitios locales y de nube. Para obtener más información, vea Información general sobre Máquinas virtuales de Windows Azure en MSDN Library.

  • SQL Data Sync de Windows Azure (SQL Data Sync): el servicio tiene actualmente dos capacidades principales. Permite sincronizar datos entre bases de datos de SQL Server locales y las bases de datos de Base de datos SQL de Windows Azure, lo que permite a las aplicaciones locales y basadas en la nube usar los mismos datos. Además, puede sincronizar datos entre dos o más instancias de Base de datos SQL; las bases de datos pueden estar en el mismo centro de datos, en centros de datos diferentes o en regiones distintas. SQL Data Sync suele usarse con Traffic Manager de Windows Azure. Advertencia: actualmente SQL Data Sync solo está disponible como versión preliminar y su finalidad es únicamente ofrecer comentarios sobre el producto para las versiones futuras; no debe usarse en entornos de producción.

Para obtener más información, vea Red y Caching de Windows Azure.

Desarrollo y administración de aplicaciones en Windows Azure

Una vez completado el desarrollo del servicio o la aplicación nube, compílelo y cárguelo en Windows Azure. Hay cuatro escenarios de implementación diferentes:

  • Implementación nueva

  • Cambio de configuración

  • Actualización incremental del código

  • Actualización importante

Windows Azure le permite configurar varias suscripciones bajo una cuenta de Windows Azure. De esta forma puede crear entornos diferentes de desarrollo y pruebas para su servicio. En este caso, considere la posibilidad de implementar primero el servicio en una suscripción de prueba y, después, en una suscripción de producción. Después de implementar el servicio de nube en una suscripción de producción, puede usar el entorno de ensayo para realizar pruebas continuadas. Cuando esté preparado para que el servicio esté activo, puede moverlo al entorno de producción.

Vea también


Fecha de compilación:

2013-10-23

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft