December 2011 - Posts
Microsoft announced a price update for several Azure services. Many customers asked about the pricing policy of the new features in service bus (e.g. Queues and Topics). This announcement provide a clear answer. No more connection package. From now on a simple Time and Payload model.
- Reduced price for data transfers:
- $0.12 per GB for outbound data transfers for Zone 1 (Europe and North America)
- $0.19 per GB for outbound data transfers for Zone 2 (all other locations)
- Service Bus is free for a promotional period:
- Service Bus is migrating to a new billing model based on relay hours and messages. To help customers get a feel for this new model, Service Bus is offered at no charge (except for standard data transfer fees) for billing months beginning before April 1, 2012.
- For billing periods beginning on or after April 1, 2012, Service Bus will be charged as follows:
- $0.10 per 100 relay hours
- $0.01 per 10,000 messages
- Access Control’s period of free service has been extended:
- Access Control’s period of free service has been extended through November 30, 2012.
- For billing periods beginning on or after December 1, 2012, Access Control will be charged at $1.99 per 100,000 transactions.
- SQL Azure database size limit increased to 150 GB:
- Size limit on a SQL Azure Business Edition database has increased from 50 GB to 150 GB.
- Maximum charge for an individual database remains unchanged and is capped at $499.95 per billing month. It means that the price per GB is reduced in 66.66%.
So things get a little cheaper and simpler.
Enjoy the cloud
One of the most important features released in WCF 4.0 is Routing.
With WCF routing you can create a simple service that will listen to all messages and forward them to the appropriate backend service according to a specified policy.
The question I want to discuss here is what happens to the security context when forwarding the message to the appropriate service.
It turns out that the WCF team did not provide a very good solution here. The only use case that supports security context forwarding is message security with Windows credentials. The reason is that Kerberos supports delegation and WCF is not responsible for the security negotiation. So It is possible to use for example wsHttpBinding with Windows credentials both at the router and at the backend service and the service will have access to the Identity object of the caller.
Other use cases such as username password , X.509 or federated credentials does not allow security context forwarding. It means that the router can be configured to enforce message security but the service must be configured to disable security and it cannot access the security context such as the user's Identity.
So what can be done?
1. Configure the router to enforce the security policy
2. If your service needs to know who is the user (after she was authenticated and authorized by the router) you have to put that information in the message itself. One way to do that is to have the client embed a custom header with that info.
3. The message will be forwarded to the service and a partial security context can be built using a custom behavior.
Hope this helps
"TPL Dataflow (TDF) is a new .NET library for building concurrent applications. It promotes actor/agent-oriented designs through primitives for in-process message passing, dataflow, and pipelining. TDF builds upon the APIs and scheduling infrastructure provided by the Task Parallel Library (TPL) in .NET 4, and integrates with the language support for asynchrony provided by C#, Visual Basic, and F#."
If you are using the asynchronous queuing pattern within your process you want to look at this exiting framework. TPL Dataflow provides all the queuing and scheduling mechanism we had to implement manually for distributing workloads between tasks. It provides 12 basic blocks (such as ActionBlock<T>, BufferBlock<T>) for queuing and dispatching messages and executing appropriate tasks.
I am listing here a list of resources you want to look at:
- Introduction To Dataflow
- Inside TPL Dataflow Video
Today I gave a talk about advanced WCF features.
We spoke subjects such as: logging and monitoring, instancing and concurrency, custom behaviors and extensibility, Rest capabilities.
The samples I showed can be found here. Credit must be given to my friend Ido Flatow for creating the material.
Hope you enjoyed the show…
Today I gave a session about the windows azure platform
In the session we spoke about cloud computing. What is the cloud and why we are moving towards it.
We spoke about cloud economics and defined the different types of clouds.
We introduced Windows Azure. We spoke about compute, storage, management and diagnostics.
We introduced AppFabric. We spoke about Cache, Relay connectivity, Queues, Topics, Access Control Service, Composite apps and the App Manager.
We Spoke about SQL Azure today and its future release.
Hope you enjoyed the show