través puede porta microsoft management administrar acceder azure azure-web-roles azure-worker-roles azure-virtual-machine azure-vm-role

puede - porta azure



En Windows Azure: ¿Qué es la función web, la función de trabajador y la función de máquina virtual? (4)

Los roles web en Windows Azure tienen un propósito especial y proporcionan un servidor web de Servicios de información de Internet dedicado (IIS) utilizado para alojar aplicaciones web front-end. Puede implementar rápida y fácilmente aplicaciones web en Roles web y luego aumentar o disminuir sus capacidades de Compute para satisfacer la demanda.

La aplicación en la que trabajo contiene un rol web: es una aplicación web simple. Necesitaba alojar la aplicación en Windows Azure, así que creé una función web. De hecho, quiero saber para qué son estos roles. ¿Cuál es su significado de codificación sabio o almacenamiento sabio?


Me encontré con esta pregunta / respuesta SO hace varios días y encontré las respuestas proporcionadas un poco sobre mi cabeza (soy nuevo en Azure y Web). Encontré este resumen en los fundamentos de Azure esta noche, que pensé que era una buena descripción general de alto nivel de las principales diferencias entre los roles de trabajador y web:

La diferencia principal entre los dos es que una instancia de un rol web ejecuta IIS, mientras que una instancia de un rol de trabajador no lo hace. Ambos se administran de la misma manera, sin embargo, y es común que una aplicación use ambos. Por ejemplo, una instancia de rol web puede aceptar solicitudes de usuarios y luego pasarlas a una instancia de rol de trabajador para su procesamiento. Para escalar su aplicación hacia arriba o hacia abajo, puede solicitar que Windows Azure cree más instancias de cualquiera de las funciones o cierre instancias existentes. Y de forma similar a las máquinas virtuales de Windows Azure, solo se le cobra por el tiempo en que se ejecuta cada instancia de rol web o de trabajador.

Si eres nuevo en el desarrollo de Azure, te recomiendo leer el artículo completo aquí: Introducción a Windows Azure

Espero que esto ayude a alguien tanto como ayudó a encender la bombilla para mí.


EDIT 3/3/2013 - actualizado para referenciar puntos finales UDP, máquinas virtuales y más idiomas

EDIT 6/6/2013: se ha actualizado para reflejar la interrupción del rol de VM y actualizar a las imágenes del sistema operativo de base de rol de web / worker a Windows Server 2012

Buen enlace por @Vladimir. Un poco más de aclaración: todos los roles (web, worker) son esencialmente Windows Server. Las funciones web y de trabajo son casi idénticas:

  • Los roles web son máquinas virtuales de Windows Server con IIS habilitado
  • Las funciones de los trabajadores son máquinas virtuales de Windows Server con IIS deshabilitado (y puede habilitarlo manualmente)
  • Los roles de VM son imágenes de Windows Server 2008 que usted crea localmente a través de Hyper-V y carga en Azure (y ahora están descontinuadas y ya no están disponibles a partir del 31 de mayo de 2013)
  • Las máquinas virtuales son imágenes de Windows o Linux creadas en Azure, almacenadas como vhd en su propio almacenamiento y tienen varias mejoras sobre el rol de VM. Por ejemplo: dado que el vhd está en su propia cuenta de almacenamiento, puede crear fácilmente una plantilla de imagen desde su vhd, copiarla en un vhd nuevo o incluso cargarla en VM Depot (solo Linux).

Para responder a su pregunta sobre qué hacer con estos roles: El kit de capacitación de plataforma (mencionado a continuación) le dará muchas buenas ideas y muestras, pero aquí hay algunos casos de uso simples:

  • Puede ejecutar cualquier código que exhiba un punto final tcp, http, https o udp (aplicaciones web, servicios SOAP / REST, etc.). Sin embargo, debe pensar en la forma sin estado de hacer las cosas: si tiene más de una instancia de VM ejecutándose, el tráfico de usuarios se distribuye entre esas instancias. El kit de capacitación de la plataforma le mostrará cómo usar el almacenamiento o el caché para manejar esto.
  • Puede ejecutar código que se ejecute en una cola o un temporizador. Tal vez tenga tareas bajo demanda, como la generación de miniaturas de fotos, o cálculos basados ​​en la entrada del usuario. Estos no necesitan puntos finales disponibles externamente. Puede enviar sus solicitudes a una cola y luego ejecutar una tarea que simplemente se alimenta de esta cola (y puede escalar este proceso en varias instancias, consumiendo todas las instancias los mensajes de cola).
  • Puede ejecutar .NET, Java, php, python, node, ruby, etc. Solo necesita distribuir el código de tiempo de ejecución apropiado junto con su código de proyecto. Todos los idiomas pueden realizar llamadas REST a la API de Azure, y varios idiomas (incluidos los mencionados anteriormente) tienen SDK que se encargan de esto por usted. Todos los SDK de idiomas están here , con el código fuente en github, here .
  • Con una función de máquina virtual, puede instalar y ejecutar software con instalaciones muy complejas / que requieren mucho tiempo, instalaciones que requieren intervención manual e instalaciones que no se pueden automatizar de manera confiable. Debe ocuparse del mantenimiento del sistema operativo en este caso. Más allá de la función de máquina virtual, ahora hay máquinas virtuales, que proporcionan una construcción de máquina virtual basada en la nube junto con compatibilidad con Windows y Linux. Sugeriría máquinas virtuales sobre el rol de VM.

Con las funciones Web y Worker, el sistema operativo y los parches relacionados se encargan de usted; construyes los componentes de tu aplicación sin tener que administrar una VM.

Con los roles de VM, crea una imagen completa de Windows Server, agrega los ganchos de Azure a ella y envía toda la VM a la nube (y luego mantiene la imagen de VM a lo largo del tiempo).

Con Virtual Machines, simplemente selecciona una imagen del sistema operativo de una galería, que se crea para usted y se almacena como un vhd en almacenamiento de blobs. A continuación, RDP / ssh y configúralo como lo desee.

Usando el sombrero del arquitecto, aquí es donde se vuelve divertido e interesante. Puede ejecutar servicios web en un Rol Web o rol de trabajador (y poder abrir puertos en cualquiera de ellos); Puede alojar Tomcat u otros servidores web en una función de Trabajador. puede elegir combinar un sitio web más servicios en un solo rol, o dividirlos en múltiples roles para diferentes necesidades de escalabilidad.

Para empezar bien, eche un vistazo al Kit de entrenamiento de plataforma y comience a caminar a través de los ejercicios.


  • Los roles web son aplicaciones web alojadas en IIS.
  • Los roles de los trabajadores son procesos que pueden hacer algún trabajo (es decir, comprimir automáticamente las imágenes cargadas, hacer cosas siempre que algo cambie en su base de datos, obtener nuevos mensajes de la cola y procesarlos, lo que sea)
  • Los roles VM alojan máquinas virtuales