Compartir a través de


El entorno de ejecución de Windows Azure

Windows Azure proporciona un entorno de ejecución, un sistema operativo, en la nube. Este entorno de ejecución está basado en Microsoft Windows, Internet Information Server y tecnologías de virtualización. La infraestructura subyacente es trasparente para las aplicaciones. Nunca puede saberse si la aplicación esta corriendo en una determinada máquina u otra, o incluso en varias.

Un sistema operativo tradicionalmente proporciona los siguientes servicios:

  • Un entorno de ejecución de aplicaciones que actúa como una capa de abstracción sobre el hardware subyacente.
  • Un sistema de archivos compartido con control de acceso.
  • Un orquestador de recursos compartidos de computación.

Cuando se habla de un sistema operativo en la nube los problemas a resolver son similares, pero la respuesta es ligeramente diferente.

Veamos lo que proporciona Windows Azure en relación a lo que proporciona un sistema operativo tradicional:

  • Un entorno de ejecución de aplicaciones que permite abstraerse de la infraestructura subyacente. Cuando se necesita una escalabilidad y una disponibilidad casi ilimitadas, se necesita una capa de abstracción que permita abstraerse de la arquitectura distribuida en infinidad (o no) de máquinas físicas. Si una máquina en concreto de uno de los centros de datos de Microsoft necesita ser sustituida, estas situación, gracias a Windows Azure es totalmente transparente para la aplicación.
  • Una aplicación en la nube, lógicamente, necesita almacenar información. Necesita algo semejante a un sistema de archivos. Lógicamente, una vez más, un sistema de archivos tradicional está demasiado acoplado con máquinas concretas. Si se necesita asegurar la escalabilidad, la redundancia, y la disponibilidad del sistema de archivos en la nube no se puede atar a máquinas concretas. Window Azure se encarga de abstraer los detalles de almacenamiento.
  • Evidentemente las aplicaciones en la nube van a compartir infraestructura con cientos de miles o quizás millones de otras aplicaciones. El entorno de ejecución de  Windows Azure debe orquestar los recursos que esas aplicaciones usan, dotándolas del tiempo de  ejecución necesario, memoria y ancho de banda y repartiéndolo adecuadamente. Lógicamente para una aplicación que se ejecuta en Windows Azure debe ser totalmente transparente el origen de ese tiempo de ejecución, de esa memoria o del ancho de banda de red.

 Windows Azure resuelve el mismo problema que un sistema operativo tradicional a la hora de abstraer la aplicación de ciertos detalles. Un sistema operativo nos abstrae del hardware y un sistema operativo en la nube nos abstrae del centro de datos subyacente.

El ya mencionado Fabric Controller es el componente de la arquitectura de Windows Azure que orquesta y abstrae a las aplicaciones de la infraestructura, jugando el papel que en un sistema operativo tradicional jugaría la capa de abstracción de hardware HAL.

Puede encontrarse más información sobre como funciona la infraestructura subyacente de un centro de datos de Microsoft en este interesante video sobre el tema en Channel 9 o este otro video que da una pequeña visita por uno de estos centros de datos, ambos están en inglés.