Questa serie di post in n parti descriverà la mia esperienza di sviluppo con Umbraco CMS su Windows Azure, acquisita durante la creazione di questo blog. Sentitevi liberi di commentare, criticare e suggerire miglioramenti!
Introduzione
Umbraco è un sistema di gestione contenuti (CMS) gratuito e open-source, sviluppato con tecnologia ASP.NET e fortemente supportato sia da un'attiva comunità mondiale di utenti e da un'organizzazione commerciale che fornisce supporto e strumenti professionali. Il sistema ha la flessibilità di poter eseguire qualunque cosa, da piccole landing page e siti di presentazione ad alcuni dei più grandi e visitati siti mediatici del web. È facile da imparare e da usare, rendendolo perfetto per sviluppatori, web designer e autori di contenuti. Un sito può essere configurato, stilizzato e messo online in pochi minuti, usando il semplice installer e gli starter kit di base. Ma se volete e avete tempo, è possibile personalizzarlo in tutte le sue parti: dalla grafica a sezioni personalizzate, inclusi nuovi moduli o plug-in.
Windows Azure è la piattaforma cloud aperta e flessibile di Microsoft. Vi permette di generare, pubblicare e gestire rapidamente applicazioni attraverso una rete mondiale di datacenter gestiti da Microsoft. Windows Azure permette di creare applicazioni ad elevata disponibilità senza bisogno di focalizzarsi sull'infrastruttura: fornisce aggiornamenti automatici del sistema operativo, load-balancing nativo e resistenza a problemi hardware*.* Inoltre permette di scalare facilmente le proprie applicazioni a qualunque dimensione: è una piattaforma self-service a cui chiedere e ottenere risorse in pochi minuti, aumentando o riducendo la potenza e la disponibilità a seconda delle necessità. Si paga solo quello che si utilizza effettivamente.
Umbraco e Windows Azure
Umbraco è un'applicazione web. Windows Azure, tra le sue tante caratteristiche, è una valida piattaforma di hosting. Perché non usarla per il vostro sito Umbraco? Girando in Windows Azure, le applicazioni Umbraco beneficerebbero di un sistema automatico di gestione del servizio, amministrazione ridotta, alta disponibilità e scalabilità. Da dove si inizia?
Per pubblicare un sito web su Windows Azure, di solito bisogna partire con:
- Visual Studio 2010
- un progetto "Web
application"
- un progetto "Windows Azure", con
un Web Role
Per lavorare con Umbraco poi, si potrebbe procedere come segue:
- scaricare l'ultima versione dal
sito ufficiale di Umbraco
- dopo averla estratta nella
cartella di lavoro, importare i file necessari nel progetto Web Application
- modificare e configurare i
parametri della Web Application (debug/release, web.config, Connection String, etc.)
- configurare il Web Role di
Windows Azure (tipo e numero di istanze, storage, credenziali, certificati, etc.)
- generare il package di
deploy
- creare su SQL Azure due database
vuoti per il backend di Umbraco
- fare il deploy tramite Visual
Studio o tramite il portale di Windows Azure
Una volta effettuato il deploy e avviato il Web Role su Windows Azure, si potrà finalmente procedere con l'installazione e la configurazione del sito Umbraco direttamente online, dal layout ai contenuti. Procedura abbastanza semplice e lineare. No?
Ma poi… vi imbattereste in un interessante problema: cosa succede se la vostra istanza su Windows Azure si blocca per qualche motivo? Certo, la piattaforma la farà ripartire in automatico ma… al ripristino, questa sarà ritornata al suo stato originale, com'era all'istante del deploy! Non è una bella cosa. Inoltre, se avevate configurato più di un'istanza, queste sarebbero state tutte copie indipendenti, con seri problemi di sincronizzazione e persistenza dei dati.
Fortunatamente, è possibile evitare tutto questo! Grazie al gruppo Microsoft DPE, esiste una soluzione più semplice: il Windows Azure Accelerator for Umbraco.
Nel prossimo post, analizzeremo il progetto.