PHP on Azure contest

Lately i have been learning a lot of new things like development techniques, best practices and design patterns. Now obviously the best way to make all this information persist in my head is to bring it into practice immediately!

To start doing this i’ve started contributing to open source software projects like the Zend Framework. And besides helping to improve the quality of the framework framework you’ll  automatically become part of a large worldwide community of developers. To talk and share ideas with developers all over the world is an experience on itself and very inspiring too.

So, about Windows Azure and the contest

Now two weeks ago i was at the PHPbenelux conference where Maarten Balliauw announced the PHP on Azure contest. At first, this contest didn’t really get my attention because i wasn’t aware of what all the cloud computing ‘hype’ is all about in the first place.

After reading about Windows Azure and the concept of cloud computing in general i was surprised by it’s simplicity. It sounds like something very complicated, but in fact, from a developer perspective it is not.

From my perception running applications on Windows Azure, or cloud platforms in general is a developers’ playground full of possibilities, how awesome is that?!
How close to reality my perception will be has yet to be seen though, because i’m participating on the contest!

About the project

The project i’ll be working on for this contest is one that i’ve been playing with in my mind for a while now. It is an online (collaborative) documentation publishing platform.
Now this is actually a pretty simple concept. It’s a platform where people can collaborate on an information collection. Whether it be an online book, reference guide, manual or what other type of information you want to present online.
The added value of when presenting information on the web is that you can add something very imporant to the content: metadata. This metadata can be anything, really. You can add or embed pictures, video’s, files and links. Or, to improve interaction even more it is possible to start discussions or share the information on social platforms.

Now you might associate this concept with Wikipedia, but in fact it is nothing like it.
I’ll list some of the features of my concept, and you’ll see why it is not to be compared with Wikipedia:

  • Each information collection (or project) is presented seperately. They are all seperate projects, like with books.
  • It is possible to use a traditional publishing workflow: Writer > Reviewer > Editor
  • Content version control might be implemented
  • The look-and-feel of every individual information collection (or project) can be altered. Consider each project a seperate website.

It is just an idea, yet

For now, all of the above are just ideas. During the development my idea of the concept might change and i have to see what is possible to develop before the contest deadline.
However to me this project is a great way to put all the new interesting things that i’ve learned in the past months into practice. And for some reason, the project being an entry for a contest makes it easier to motivate myself ;-)

I think the project is a perfect fit for a cloud platform like Azure. Because with applications that *could* have a lot of users, an unknown amount of content (both textual and binary) it is really awesome that you do not have to worry about scaling options, but just focus on the application itself: It actually makes designing the application easier from the ground up!

Development platform and software

One of the first things that really caught my attention about Windows Azure, is that it comes with it’s own local development environment. You can use this environment by installing the Windows Azure SDK. I will use this environment, along with IIS7, SQL Server Express 2008 R2 and PHP 5.3 to develop the application. As you might expect, the framework i’ll use for developing this project will be the Zend Framework.

I think this setup is the best way to deploy my project on the Windows Azure platform, and to make full use of all the components it offers.

Are you in?

So that describes my project for the contest. If you’re still reading this blog post it looks like you might be interested in taking a shot at the PHP on Azure contest as well.
If so, i would like to get in contact! Let’s share idea’s, approaches and practices about Windows Azure or PHP apps in the cloud in general. Post a link to your blog in the comments or find me on Twitter!

If you want to start right away, you can find more information about the contest, and you can start right away with these Windows Azure introductionary account offers.

Over the next couple of weeks i’ll be writing some more (technical) blogposts about the PHP on Azure contest. So if you’re interested, take a regular look on my weblog, subscribe to the RSS feed or follow me on Twitter!