Further Azure Thoughts
The Azure SDK comes with a number of samples including the default Hello and the more interesting Distributed Sort sample.
The Distributed Sort is interesting since it provides an easy to follow example of an ASP.NET front end connecting to the work item (Azure service) via a queue (persistent messaging between services). AJAX is used to provide the “real-time” update on the web page. The sample itself is configured to use only one worker role instance, but changing the .cscfg file allows more workers to be created – when I run on my local Development Fabric I’m only running across my two CPU cores, how do the Worker’s get distributed in the Azure Services Developer Portal?
Fabric services need one or more roles:
- A web role is a web application accessible via an HTTP and/or an HTTPS endpoint. A web role is hosted in an environment designed to support a subset of ASP.NET and Windows Communication Foundation technologies.
- A worker role is a background processing application. A worker role may communicate with storage services and with other Internet-based services. It does not expose any external endpoints. A worker role can read requests from a queue defined in the Queue storage service.
SDS, how will it work in the financial world given the regulatory requirements we have to adhere to? i.e. certain data can’t cross certain country borders etc
If the Service Bus is Microsoft’s equivalent of Lightstreamer/Liberator (firewall-friendly, Internet-scale pub-sub messaging system), then I guess I can hook it up to my Silverlight/WPF trading application?
Assuming I wanted to build an algo trading service, if I can feed my Azure service with market data (using the Service Bus) I just have to decide how to auto execute my trade strategies – the making of an Azure Automated Strategy Trader? So the final piece of the possible jigsaw is what do I use to execute the trade strategies? There is always SLinq and CLinq, or even F#. Or go for a “wild card” WF implementation? I’m not sure this is possible, or even feasible given the performance requirements, but given the Check Score Workflow sample that comes with the .NET Services SDK, if I had a trading strategy that specified that if the market conditions meet a certain criteria, I should sell a Bund, and then following the sell, wait for certain market conditions to buy a Schatz and Bobl, you can kind of see the workflow 🙂