EDIT 3/3/2013 - aggiornato per fare riferimento a endpoint UDP, macchine virtuali e altre lingue
EDIT 6/6/2013 - aggiornato per riflettere l'interruzione del ruolo VM e aggiornamento alle immagini del sistema operativo di base del ruolo Web / di lavoro a Windows Server 2012
Buon collegamento di @Vladimir. Qualche chiarimento in più: tutti i ruoli (web, worker) sono essenzialmente Windows Server. I ruoli Web e di lavoro sono quasi identici:
- I ruoli Web sono macchine virtuali Windows Server con IIS abilitato
- I ruoli di lavoro sono VM Windows Server con IIS disabilitato (e puoi abilitarlo manualmente)
- I ruoli delle macchine virtuali sono immagini di Windows Server 2008 costruite localmente tramite Hyper-V e caricate in Azure (e sono ora sospese e non più disponibili dal 31 maggio 2013
- Le macchine virtuali sono immagini Windows o Linux create in Azure, archiviate come vhd nella propria archiviazione e presentano numerosi miglioramenti rispetto al ruolo VM. Ad esempio: poiché il vhd si trova nel tuo account di archiviazione, puoi facilmente creare un modello di immagine dal tuo vhd, copiarlo su un nuovo vhd o persino caricarlo su VM Depot (solo Linux).
Per rispondere alla tua domanda su cosa fare con questi ruoli: Il kit di formazione sulla piattaforma (menzionato di seguito) ti fornirà molte buone idee ed esempi, ma qui ci sono alcuni casi d'uso semplici:
- È possibile eseguire qualsiasi codice che esponga un endpoint tcp, http, https o udp (applicazioni Web, servizi SOAP / REST, ecc.). Tuttavia, devi pensare al modo senza stato di fare le cose: se hai più di un'istanza VM in esecuzione, il traffico degli utenti viene distribuito tra quelle istanze. Il kit di formazione della piattaforma ti mostrerà come utilizzare l'archiviazione o la cache per affrontare questo problema.
- Puoi eseguire codice che vive di una coda o di un timer. Forse hai attività su richiesta come la generazione di miniature di foto o calcoli basati sull'input dell'utente. Questi non richiedono endpoint disponibili esternamente. È possibile inviare le richieste a una coda e quindi eseguire un'attività che semplicemente alimenta questa coda (ed è possibile ridimensionare questo processo su più istanze, con i messaggi della coda consumati da tutte le istanze).
- È possibile eseguire .NET, Java, php, python, node, ruby, ecc. È sufficiente distribuire il codice runtime appropriato insieme al codice del progetto. Tutte le lingue possono effettuare chiamate REST all'API di Azure e diverse lingue (comprese quelle menzionate sopra) dispongono di SDK che si occupano di questo per te. Tutti gli SDK della lingua sono qui , con il codice sorgente su GitHub, qui .
Con un ruolo VM, puoi installare ed eseguire software con installazioni molto complesse / che richiedono tempo, installazioni che richiedono un intervento manuale e installazioni che non possono essere automatizzate in modo affidabile. In questo caso è necessario occuparsi della manutenzione del sistema operativo. Oltre al ruolo VM, ora ci sono macchine virtuali, che forniscono la costruzione di VM basata su cloud insieme al supporto sia per Windows che per Linux. Suggerirei macchine virtuali su ruolo VM.
Con i ruoli Web e Lavoratore, il sistema operativo e le relative patch vengono gestite per te; costruisci i componenti della tua app senza dover gestire una VM.
Con i ruoli VM, si crea un'immagine completa di Windows Server, si aggiungono gli hook di Azure e si esegue il push dell'intera VM nel cloud (e quindi si mantiene l'immagine della VM nel tempo).
Con le macchine virtuali, scegli semplicemente un'immagine del sistema operativo da una galleria, che viene creata per te e archiviata come vhd nell'archivio BLOB. Quindi RDP / ssh e configurarlo come preferisci.
Indossando il cappello da architetto, è qui che diventa divertente e interessante. È possibile eseguire servizi Web in un ruolo Web o in un ruolo di lavoro (ed essere in grado di aprire le porte in entrambi); Puoi ospitare Tomcat o altri server Web in un ruolo di lavoro. puoi scegliere di combinare un sito Web più servizi in un unico ruolo o suddividerli in più ruoli per diverse esigenze di scalabilità.
Per un buon inizio, dai un'occhiata al Platform Training Kit e inizia a camminare attraverso gli esercizi.