Great video! It helps show why some newer frameworks like node.js focus on event driven or asynchronous programming to limit the amount of time a thread spends being blocked. It really is amazing how many requests you can server if you avoid blocking in your threads.
I am curious as to if/when you think something like lightweight threads (aka fibers, wikipedia) with co-operative multitasking should be used in a server architecture. SQL Server is the only Microsoft server product that I am aware of that can be configured to use fibers instead of full threads, and even they don't recommend it except for in very special situations. In what situation should a highly specialized tool like fibers be used?
I was stoked to see the icon for PhraseMeme Scanner come up in the keynote when he searched for apps related to Amazon. We've had the option to scan barcodes and price check on Amazon since the first version, but have been waiting for access to the video stream to do realtime scanning. Glad to see that will be coming in the next release, and the multiple live tiles idea is awesome!
Keep up the great work! I can't wait to start working with the new SDK.
Actually I was recently trying to figure out a way to do atomic increments using queues or table storage, so this gives me some good ideas. I really wanted a way that did not require proxying the requests through a web role to reduce scale-out costs, but after watching the show and seeing steve's response it looks like your approach would be best.
Thanks... can't wait to watch what is new next week at MIX!
@WadeWegner: Probably Notification Services first, then queues, then SQL Azure. The last two could always be accessed via custom proxy, and I see queues used much more from the client then SQL Azure. SQL Azure would probably be accessed via WCF service with Entity Framework, not directly from client.
There is no primary use case yet, but it seems like queues are the best method for scheduling work. Example: upload picture to blob storage and then add an entry to a queue to process it. From the Phone they would usually just be adding entries to a queue, not consuming them, but there may be situations where a queue would work well for rate-limiting clients or matching players in a multiplayer online game.
Looks Awesome! I was thinking of using Table Storage and Blobs in a WP7 app, but wasn't sure how to keep the keys private. Looks like the proxy service is the way to go, althought I may end up initially hosting it on an existing VPS (with commercial SSL cert) instead of in Azure to keep costs low.
Sounds like the Shared Access Signature means that using blob storage would go directly to Azure, but using Tables would be piped through the proxy. Any plans to add support for Queues?