This is a presentation I put together for the Denver Azure User Group (DAUG). This explains how we built using open source and Azure to build a robust system for managing our Local Listing data at Location3.
2. AGENDA
• Why Azure?
• Map Application Architecture Overview w/Demo
• Things we learned
• The Future
• Tools
• Open Source Resources
3. WHY AZURE?
• .Net shop
• Bizspark discount/price
• Less maintenance/management for developers, we are a
small shop. (PaaS versus IaaS)
• TCO (Total Cost of Ownership)
• Existing Brownfield applications are .Net
• Lokad Cloud built on Azure (One core application was
designed with)
4. MAP APPLICATION ARCHITECTURE
Engine (Worker console, worker roles)
• MVC (Asp.net MVC 3)
• Generic Workers (Each worker is the identical)
• Auto and manual Provisioning (Horizontal scalability)
• Queues (Main source of work)
• Loosely coupled via durable messaging
• Idempotent work/Resilience (Will have no affect if message is reprocessed by different worker)
• RDMS(SQL Azure)
• Blob storage for generated reports
Web Application
• MVC (Asp.net MVC 3)
• Authentication(ACS with WIF for authentication against ADFS)
• RDMS (SQL Azure)
• UI(JQuery,JQuery UI, and Jqgrid)
Shared
Heavy use of open source(Lokad Cloud,AutoMapper,Autofac,Cassette,Elmah,Rhino Mocks,Fluent Assertions,JqGrid,
Windows Azure Accelerator)
8. THINGS WE LEARNED
• We had to learn how to handle DB Backups on our own in for SQL Azure. (Rolled our
own tool.)
• Deploying to Azure is really slow.
• Deploying web roles in current version of azure was painful so we used Azure web
accelerator (Allows multiple sites on 1 or more web roles)
• Azure SDK still doesn’t have abstractions over it making hard to test unless you run
the emulator.
• Learning curve to learn a framework and its nuances is better than trying to roll your
own. More time to focus on the domain problem you are trying to solve.
• Trying to figure out billing early on was very hard. We used a third-party beta SaSS
product called CloudValue for a long time. Subscriptions were all billed metered
separately, instead of rolled up across our account.
• ACS, hacks for Azure with Certificates and encryption issues.
9. THE FUTURE
• Going to migrate current web applications to new Azure
Websites
• Currently looking to move our Brownfield applications to the
new Azure persistent VM’s
• Recently involved in Hadoop on Azure Trial
• Team Foundation Server in Azure or Git
• We are hopeful within the next 1-2 years to have all IT
Infrastructure in Azure or some other cloud service