In keeping with the Windows Azure Evangelism Team’s mission of providing samples that demonstrate how to use various aspects of the Windows Azure platform, I’d like to introduce you to the PhluffyFotos application. The idea behind PhluffyFotos is to offer an image-sharing application that allows users to upload, tag, and share images on line. The MyPictures application sample introduced you to the idea of storing images in Windows Azure Blob Storage via Web API, but PhluffyFotos takes the idea of an image-sharing application a few steps further architecturally. Take a look at this sample if you want to see how various Windows Azure components – Web Sites, Cloud Services, and Windows Azure Storage – to see how to add background processing to your web application, all hosted in the cloud.
The PhluffyFotos application runs as a Windows Azure Web Site used to let visitors upload images. Those images and their metadata are sent over to Windows Azure for processing. The Cloud Service picks up information stored in Windows Azure Storage Queues, and processes that information so it can be stored in Windows Azure Table Storage. The image content itself, like was done in MyPictures, is stored in binary blobs using Windows Azure Blob Storage. The web site allows for multiple user profiles, which are stored in a Windows Azure SQL Database and accessed using the Universal Profile Providers, which are available via NuGet. Everything image-centric is actually stored in Windows Azure Storage, once it has been processed via the Cloud Service.
Links and Video
As with all the other Windows Azure Evangelism Team samples and demonstrations, the source code for PhluffyFotos is stored in its very own GitHub.com repository. If you notice any issues with the code, please feel free to use repository’s Issues feature to let me know what you find. Likewise, if you feel you have a change that’d improve the sample, feel free to make your own fork in which you can change the code, and submit a pull request. The sample is available on the MSDN samples site, too, so you can use that link to submit questions and to download a zip file containing the code for the sample. I’ve also published a Channel9 video that demonstrates how you can get the sample running, step-by-step.
I and the rest of the Windows Azure Evangelism Team hope you enjoy this example of what's possible with Windows Azure! Happy Coding!