Windows Server AppFabric: mejor, más rápido y más barato

Publicación del inglés original : 16 de julio de 2010 a las 7:15:00 AM por Somasegar

A principios de semana en nuestra Conferencia mundial de socios (en inglés), describimos nuestra visión de la nube y compromiso de Microsoft de proporcionar una plataforma que permita a nuestros clientes adoptar la computación en la nube completamente. Como parte de este compromiso, la oportunidad para que los desarrolladores generen aplicaciones orientadas a la nube es mejor que nunca. Microsoft sigue ofreciendo herramientas y marcos de trabajo comunes, para los desarrolladores pueden fácilmente generar las aplicaciones de modo coherente, independientemente de si dichas aplicaciones se ejecutarán en la nube o en el sistema.

Una de las promesas de la nube para los desarrolladores es un modelo de aplicaciones creado en torno a servicios que pueden distribuirse a través de un "estructura" subyacente elástica. Generar aplicaciones a partir de servicios que son fácilmente accesibles desde cualquier lugar, significa que los desarrolladores pueden generar aplicaciones "mejores, más rápidas y baratas", que también son robustas en cuanto a errores se refiere, funcionan sin problemas y escalan fácilmente, incluso cuando los picos y valles de uso no son predecibles.

Hoy puede obtener muchas de estas ventajas en las aplicaciones en su equipo con Windows Server AppFabric. Windows Server AppFabric, que se lanzó en junio, proporciona un conjunto de funciones que se centra en mejorar el rendimiento y la administración de web y aplicaciones compuestas. Windows Server AppFabric proporciona administración y tecnología de almacenamiento en caché distribuidos e infraestructura utilizando conocimientos de .NET habituales de supervisión.

¿Qué es?

Windows Server AppFabric es una infraestructura de aplicación para ejecutar y administrar sus servicios - infraestructura que ya no tiene que escribir. Windows Communication Foundation (WCF) proporciona un único modelo de programación para crear servicios y comunicarse entre ellos: es el andamio de comunicaciones alrededor de la lógica de aplicación del servicio. Para los servicios de larga ejecución e interacciones coordinadas entre muchos servicios, AppFabric administra la duración y el ajuste de escala de cargas de trabajo de Windows Workflow Foundation (WF), ya que los flujos de trabajo en AppFabric también son servicios. Pero eso es sólo la mitad la historia.

La otra mitad del artículo trata del almacenamiento en caché de datos. Es fundamental para el diseño de la aplicación que no se repita un cálculo que siempre devuelve el mismo resultado. En su lugar, se hace una vez, se almacena y se proporciona el resultado cuantas veces se necesite. Esto es cierto si el resultado es una página web, una consulta de una base de datos o una llamada de servicio a un componente externo. La caché de Windows Server AppFabric almacena objetos. NET, escala sin problemas y administra la redundancia y la ubicación de los datos mediante la distribución de la caché a través de un clúster de equipos. El desarrollador simplemente puede colocar datos en la caché y recuperarlos cuando sea necesario - AppFabric controla toda la complejidad subyacente.

Estructura, estructura, estructura

Es posible que haya oído hablar acerca de "estructuras" (fabrics). El controlador de estructura de Windows Azure es una característica de Windows Azure los recursos de máquinas físicas y virtuales como un repositorio compartido para los servicios. También está Windows Azure AppFabric, que es un servicio en la nube que proporciona conectividad e identidad federada, lo que permite generar aplicaciones híbridas, que se ejecutan en la nube y en los equipos. Aunque Windows Server AppFabric y Windows Azure AppFabric comparten el mismo nombre, proporcionan distintas capacidades. Sin embargo, el plan de Microsoft a largo plazo es ofrecer un conjunto simétrico de capacidades (en inglés) tanto en la nube como en el equipo para que los programadores pueden aprovechar estas capacidades, independientemente de dónde deseen ejecutar sus aplicaciones.

Instalación de Windows Server AppFabric

Al instalar AppFabric, puede elegir instalar las capacidades de alojamiento, las capacidades de almacenamiento en caché o ambas. La instalación es bastante sencilla: una estación de trabajo de desarrollo con IIS y Visual Studio (que instala SQLExpress) es todo lo que necesita para empezar a trabajar.

Puede instalar Windows Server AppFabric como una descarga independiente o desde el programa de instalación de Web Platform (como se muestra en la siguiente imagen). Después de la instalación, se le pedirá que configure la base de datos de AppFabric y las credenciales de seguridad.

AppFabric hace su trabajo principalmente en segundo plano, lo que es invisible para el usuario. La cara visible de AppFabric es la administración y supervisión de herramientas para los servicios que se han integrado en el Administrador de IIS. Estas herramientas dictan experiencia de administración de la interfaz de usuario para el alojamiento de servicios. Los servicios de AppFabric están integrados en los servicios de administración del sistema como, por ejemplo, monitor de rendimiento y registro, que pueden ser integrados en una mayor administración de sistemas de infraestructura.

AppFabric Caching requiere menos administración; la "estructura" se ocupa de todo. Agregar nuevos equipos a la caché se controla con el Asistente para configuración de AppFabric. La caché adopta un enfoque de configuración central, por lo que todos los servidores del clúster de la caché se conocen entre sí. Puede elegir guardar esta configuración de SQL Server o en un recurso compartido de archivos. Usted agregar un nuevo servidor, que apunta al almacén de configuración y selecciona unirse a un clúster:

Flujo de trabajo y servicios de código de WCF

AppFabric administra los servicios de WCF y los servicios de flujo de trabajo, que son también servicios de WCF. La diferencia radica en lo que se encuentra dentro del servicio. Con WCF, es el código. Con el flujo de trabajo, que normalmente ha dibujado el flujo de trabajo mediante el Diseñador de flujo de trabajo de Visual Studio y una paleta de las actividades de flujo de trabajo reutilizables, incluidas las actividades que permiten que el flujo de trabajo en un servicio y llamar a otros servicios.

También se puede considerar una actividad de flujo de trabajo como un componente y se pueden crear nuevas actividades a partir de las existentes - una actividad compuesta. Este es un modelo muy eficaz para la composición de aplicaciones de componentes y muy útil en el trayecto de la nube, así como en las aplicaciones de hoy en día.

Visual Studio WCF Workflow Service Application Template le ayuda a poner en funcionamiento el flujo de trabajo del servicio y a ver los resultados en AppFabric en pocos minutos. Para empezar, cree un nuevo proyecto con la plantilla y establezca las propiedades de web en el proyecto para utilizar el servidor de IIS local. Genere el proyecto y ejecútelo. Se iniciará el cliente de prueba WCF integrado, lo que permite enviar datos para el flujo de trabajo y ver el resultado. Existe una plantilla similar para servicios WCF basados en código, lo que le permite inmediatamente centrarse en el código basado en la lógica empresarial y no tiene que escribir la infraestructura de WCF o cualquiera de las capacidades de administración y alojamiento relacionadas que AppFabric que proporciona ahora.

El panel de AppFabric

El panel de AppFabric es el lugar en el Administrador de IIS para ver todas las estadísticas acerca de los servicios de flujo de trabajo y el código. La sección de historial de la instancia de flujo de trabajo muestra los flujos de trabajo que se han activado y ya se han completado. El panel también le ayudará a supervisar y controlar la persistencia del flujo de trabajo. Para todos los servicios, se realiza un seguimiento de llamadas y es fácil crear sus propios eventos de supervisión y que estos pueden verse en el escritorio.

AppFabric realiza un seguimiento de la ejecución de flujos de trabajo de una actividad a otra y muestra esta información en el panel. Esto es útil para solucionar problemas y entender el flujo de ejecución de una instancia de flujo de trabajo determinado. Incluso puede exponer los datos desde dentro de los flujos de trabajo para AppFabric y consultar estos datos para encontrar las instancias de flujo de trabajo que contiene.

Mejorar el rendimiento de la aplicación con el almacenamiento en caché

La caché es un lugar para almacenar datos para que las aplicaciones pueden tener acceso a los datos rápidamente. La caché se puede distribuir entre tantos equipos como desee, pero el programador no tiene que preocuparse de en qué equipo se encuentran esos datos. La caché incluso se puede replicar en el cliente de llamada (denominado memoria caché local) para el rendimiento de aplicaciones, pero a costa de la coherencia. Los datos pueden ser cualquier objeto de .NET en serie.

El objetivo de la caché es hacer que las aplicaciones rindan y se escalen mejor. AppFabric es compatible con uso de caché implícita y explícita para lograr la mejor escala y el rendimiento. Si es un desarrollador de ASP.NET, el uso de caché implícita y explícita le resultará familiar. El uso explícito de la caché es la capacidad de agregar, quitar y administrar elementos de la caché a través de las disponibles en AppFabric de la API de caché mediante programación. Puede resultar una herramienta muy eficaz para personalizar su estrategia de almacenamiento en caché para datos de la aplicación y los patrones de uso, pero requiere ciertos conocimientos sobre los principios de almacenamiento en caché de datos. El uso implícito de la caché aprovecha el almacenamiento en caché predeterminado para los escenarios más comunes. El estado de sesión ASP.NET y el almacenamiento en caché de HTML (conocido como el almacenamiento en caché de salida) son dos ejemplos de uso de caché implícito.

La caché de AppFabric destaca realmente cuando se necesita escalar a través de varios recursos. Si necesita mayor rendimiento, basta con agregar un nuevo servidor y permitir que AppFabric vuelva a equilibrar las cosas automáticamente. Puede ver este tipo de escala lineal en la imagen siguiente. Cuando se agrega cada servidor, puede ver el impacto en la carga: aumenta el rendimiento y latencia se reduce.

Obtenga Windows Server AppFabric

Windows Server AppFabric es ahora parte del valor que obtiene en Windows Server 2008 para la creación de aplicaciones de alto rendimiento, flexibles y escalables. Si está ejecutando Windows Server 2008 (SP2) o Windows Server 2008 R2, usted ya está autorizado a utilizar Windows Server AppFabric en producción. Además, si está ejecutando Windows Vista (SP2) o Windows 7 ya tienen licencia para el uso de Windows Server AppFabric en desarrollo. No hay ninguna tarifa adicional de licencia.

Puede descargar AppFabric y obtener más información en la página de AppFabric (en inglés).

¡Namaste!