Wednesday, June 27, 2012

PeThe in Azure

  
And finally there it is, PeThe Cloud is in Azure Clouds with full security, just two months after.
It was a painful process; ACS is not straightforward and not really obvious.

I’ll write a series of posts on all components of the system, but here they are, just numbered:
  1. 1. Welcome page and future classic web site– Not Secured
  2. 2. Pethe Backend REST Web Service – Secured with ACS
  3. 3. Invitation System – Secured with ACS
  4. 4. Three separate desktop applications with connection to Pethe Backend Service

Looking from architecture point of view, most important part is Pethe Backend Web Service, REST Web Service with Azure Tables and Blobs in behind.
We’ve omitted using Azure SQL because we could, and because it is a right thing to do, regarding economical and stability reasons.

Besides just implementing security using ACS and all available public OAuth providers, biggest pain was implementing Web Service in REST flavor. Coming from years of WCF SOAP infrastructure on Microsoft platform, I definitely see all the benefits of REST, but feel all the downsides of freestyle type safety and huge number of issues regarding upload of large data chunks, downloading them, multiple serialization / deserializations using range of serialization libraries, resulting in many intimate “what the hell is that” moments.
 
But now we support secured REST service using ACS with OAuth infrastructure in hybrid environment covering almost all scenarious - web/desktop, secure/unsecure, ACS/OAuth.
Coming next, each pain I’ve suffered will be reviled with appropriate solution in future postings…