Today I put some time aside to work through the various tutorials recommended by the PHP on Azure contest team.
The tutorials I used:
Cover the following steps:
1) Sign up for a Windows Azure Free account. http://tinyurl.com/freeazureaccount
2) Install the Azure PHP SDK using the web platform installer.
3) Install the Azure PHP command line tools from codeplex.
4) Deploy a test page to the local development cloud.
5) Deploy the test page to Windows Azure.
I worked through the tutorials with relative ease and managed to produce the following screen shot at the end:
A summary of the Good and bad points:
The Web platform installer is made of awesome. It is like a visual version of aptitude for the windows platform. It manages all the dependencies required to install a set of tools. When I needed to install the Windows Azure PHP tools it also took care of all the IIS configuration, downloading and installing PHP and installing SQL server. It did this quickly and flawlessly.
The Windows Azure command line tools for PHP are also very good. Packaging an existing application or a new application is achieved with a few lines on the command line.
The free Windows Azure package comes with a tiny 25 hours of run time (per month) before you start paying for the service. When you compare this to Amazons Free Tier which comes with enough hours to run an instance continuously for a month you are left feeling short changed. I think Microsoft need to expand their free usage to this level before developers will consider testing PHP on Azure over other Linux based cloud providers.
Some screens on the Azure control panel where quite suseptable to time outs.
Deploying a one page application did take some time (roughly 15 min of various ‘loading’ screens).
Things I Need To Research
The deployment process packages up all the files needed to run your application into a deployment. The deployment is then uploaded to Azure and you can install it on staging then move it into production. This is all very well when creating a test application with one page. However my real application will utilize Zend Framework and Doctrine. I don’t want to upload these to Azure every time I deploy. There must be some way to set up the libraries on Azure so I can just upload application files.
My application will likely utilise tools like memchache and PHPeanstalk. I need to investigate support for these tools on Azure. In the instance that they aren’t supported (particularly likely in the case of memcache) I need to look at integrating an Azure instance with some linux ones.