Windows Azure AppFabric Services June CTP
So services are finally getting shape in the latest CTP release of the Windows Azure AppFabric (June CTP). You can sign up for the service, but, just as Office 365, there are limited beta places.
We basically had two new releases, stumbling over each other. The first one in May, and now the second one in June. But what did this all add?
The first change is, that it now says “AppFabric Services” on the bottom left of the Azure portal. I think that’s indeed a better name for this part of Azure. And it adds the “Applications” menu item to your menu on the left.
Before you can use the new features, you must download the latest release of the Software Development Kit from the Microsoft site.
Queues
Hmz, yeah sure. This is what we already had, kinda. But this is not the same as Windows Azure Queues. Those queues are part of the Windows Azure Storage and are actually the Azure variant of named pipes and mailslots. The AppFabric queues are actually equivalent to MSMQ. You can put a message on a queue and the other side can read from this queue. Interesting, but this is clearly only 1-on-1 communication. We want to broadcast messages on a service bus. Send out one message and have other applications subsribe to them, just like a normal service bus, just like we do in BizTalk.
Topics
And that’s where topics come in. Topics were added in the May CTP release. Basically you can send a message to a topic and multiple applications can subscribe to that same message. I would want to say “Isn’t that cool?”, but really, this is basic ESB stuff and I expect this functionality. The amount of subscriptions is 2000 at the moment.
You can do many things with queues and topics. You can set a few properties, such as maximum Time To Live and if duplicate messages are supported. Sessions are also very helpful for big messages, this enables you to chunk your messages. You receive pieces of the messages until you have the received the entire message.
Filters
Subscribing to messages is just as easy as writing a SQL statement, maybe because it’s actually almost the same as a SQL statement. It’s actually called a SQLFilter in code. You can add these filters on subscribing applications, avoiding that these applications receive messages they don’t want to receive. So this responsibility lies with the client and not the server.
Applications
Applications, those were added also added in the June CTP. IMHO one of the major releases which will help you build your Windows Azure applications more rapidly.
Composition model
One of the main features of building applications in AppFabric, is the composition model. This came along with the new SDK you’ve installed. It gives you tools to compose applications for AppFabric, it is the glue that ties your stuff together. It also gives you is a nice overview of your application. Just to make it clear, this is not a workflow model. But it’s really added value, as you are able to see what your application uses and which services it calls.
Orchestrations
This though, is workflow. It looks alot like BizTalk orchestrations, but also like some workflow foundation. As you can see the toolbox contains all the necessary objects we need for workflow development. We can use WCF imports and even use the BizTalk mapper. Now this can be really added value!
Scaling & role management
And what about scaling and role management? Everything is scalable. You are able to scale everything your application uses within Azure. If you have a webrole included, you can scale out the Web Role, if your WCF services aren’t running as smoothly as expected, you can also scale that out. Just keep in mind, AppFabric is almost instantly scalable, for Web Roles you have to wait a couple of mins (pretty long minutes), it will deploy a new instance of the Web Role, somewhere in the Azure infrastructure.
Metrics & logging
There are also metrics available. Still not very detailed, but it’s enough. It’s a bit like the BizTalk administrator, you can see which services are running and metrics like service duration and latency are included. You can add your own metrics as well. Logs can be downloaded and read them with Trace Viewer.
There are still a few bugs and you will still miss some things, but keep in mind, this is a CTP and most of the annoying bugs will be gone by the time it goes live. Ofcourse there will be enough updates the upcoming period.
To see and hear what I’ve just been telling you (and typing this is time consuming), you can take a look at this video: