EDITAR 3/3/2013: actualizado para hacer referencia a puntos finales UDP, máquinas virtuales y más idiomas
EDITAR 6/6/2013: actualizado para reflejar la interrupción del rol de VM y actualización a las imágenes del sistema operativo de línea de base de rol web / trabajador a Windows Server 2012
Buen enlace de @Vladimir. Un poco más de aclaración: todos los roles (web, trabajador) son esencialmente Windows Server. Los roles web y de trabajador son casi idénticos:
- Los roles web son máquinas virtuales de Windows Server con IIS habilitado
- Los roles de trabajo son máquinas virtuales de Windows Server con IIS deshabilitado (y puede habilitarlo manualmente)
- Los roles de máquina virtual son imágenes de Windows Server 2008 que se construyen localmente a través de Hyper-V y se cargan 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 un 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 nuevo vhd 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 la plataforma (que se menciona a continuación) le brindará muchas buenas ideas y ejemplos, pero aquí hay algunos casos de uso sencillos:
- Puede ejecutar cualquier código que exponga 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 en ejecución, 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 la caché para lidiar con esto.
- Puede ejecutar código que vive de 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 tener una tarea en ejecución que simplemente se alimenta de esta cola (y puede escalar este proceso en varias instancias, con los mensajes de la cola consumidos por todas las instancias).
- Puede ejecutar .NET, Java, php, python, node, ruby, etc. Solo necesita distribuir el código de tiempo de ejecución apropiado junto con el código de su 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 aquí , con el código fuente en github, aquí .
Con un rol de VM, puede instalar y ejecutar software con instalaciones muy complejas / que requieren mucho tiempo, instalaciones que requieren intervención manual e instalaciones que no pueden automatizarse de manera confiable. En este caso, debe ocuparse del mantenimiento del sistema operativo. Más allá del rol de VM, ahora hay máquinas virtuales, que brindan construcción de VM basadas en la nube junto con soporte para Windows y Linux. Sugeriría máquinas virtuales sobre el rol de VM.
Con los roles Web y Worker, el sistema operativo y los parches relacionados están a su cargo; usted crea los componentes de su aplicación sin tener que administrar una máquina virtual.
Con los roles de VM, crea una imagen completa de Windows Server, le agrega los enlaces de Azure 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 elige una imagen del sistema operativo de una galería, que se crea para usted y se almacena como un vhd en el almacenamiento de blobs. Luego, RDP / ssh y lo configura como desee.
Con el sombrero de arquitecto, aquí es donde se vuelve divertido e interesante. Puede ejecutar servicios web en un rol web o un rol de trabajador (y poder abrir puertos en cualquiera de ellos); Puede alojar Tomcat u otros servidores web en un rol de trabajador. puede optar por combinar un sitio web más servicios en un solo rol, o dividirlos en múltiples roles para diferentes necesidades de escalabilidad.
Para un buen comienzo, eche un vistazo al Platform Training Kit y comience a recorrer los ejercicios.