La notizia è stata diffusa tramite una recente
intervista fatta a
Teoni Valois, uno sviluppatore indipendente PHP e .NET, occupato presso una public company del governo brasiliano:
l'ultimo passo di Microsoft per ridurre i contrasti con i sostenitori dell'Open Source è stato il supporto a PHP. E' pur vero che sono molti gli sviluppatori PHP che lavorano in ambiente Windows e questo certamente ha il suo peso.
Nel passato, configurare PHP per lavorare con il server web IIS di Microsoft era un'impresa ardua; viceversa fare la stessa cosa con il server libero Apache richiede non più di qualche minuto. Ma ora le cose sono migliorate, ci spiega
Valois. Ne è un esempio il progetto
Phalanger, a cui ha partecipato brevemente anche lo stesso
Valois:
un compilatore PHP per ambiente .NET, che rende possibile la creazione di assembly .NET a partire da codice PHP.
Sulla stessa filosofia si basa la strada intrapresa con Windows Azure: quest'ultimo ha come principale obiettivo la creazione di un'infrastruttura affidabile e robusta, altamente scalabile con i servizi necessari a ospitare applicazioni web.
E da qualche tempo in Azure è stato aggiunto il supporto a PHP, rendendo possibile far girare applicazioni PHP nei server di cloud computing di Microsoft, già integrati con la loro piattaforma di
cloud storage, denominata
Table e
Blob Storage.
E' stato distribuito quindi il Microsoft PHP SDK,
PHPAzure, che
mette a disposizione un gruppo di classi PHP per gestire file e dati fino a 50GB. Inoltre sarà possibile l'interazione delle applicazioni scritte in PHP con gli altri linguaggi supportati dal framework .NET, aumentando così la potenza del servizio reso agli utenti.
Parlando poi dei vantaggi di cui uno sviluppatore può godere sviluppando sull'ambiente Windows Azure,
Teoni Valois mette in risalto la capacità di Azure di gestire in modo nativo un elevato numero di richieste, con sicurezza e affidabilità, una cosa certamente importante nel caso di applicazioni
mission-critical. Ad oggi, PHP non è supportato dalla
Google App Engine, il motore di cloud computing di Google. E' possibile utilizzare PHP in questo ambiente solo compilando prima PHP in Java. Al contrario
su Azure PHP viene eseguito utilizzando FastCGI: basta creare una struttura standard del progetto, utilizzando le librerie
FastCGI, e poi fare l'upload ai server Azure per il deployment. Come spiegato quindi, PHP su Azure non è compilato direttamente in assembly .NET, ma viene eseguito su
FastCGI, in modo analogo a quanto farebbe su un server IIS locale.
Esistono naturalmente anche degli svantaggi nell'utilizzo di questa tecnologia, il primo dei quali è che
la manipolazione di file deve essere fatta utilizzando AzureBlobs:
non si possono effettuare scritture con PHP direttamente. Inoltre
non è possibile chiamare query SQL standard, ma bisogna utilizzare le classi del PHP Azure SDK per comporle, con codice come:
$query->where("qui la condizione")->orderBy("nome campi")
L'utilizzo di Azure per ora è gratuito anche per gli sviluppatori PHP che utilizzano la Community Technology Preview. Esiste poi un
listino variabile in base al numero di processori richiesti e allo spazio di storage.