Day 12 - Windows Azure Platform - Marketplace

by Kev Ritchie 12. December 2010 12:18

 

On the 12th day of Windows Azure Platform Christmas my true love gave to me the Windows Azure Marketplace.

What is the Windows Azure Marketplace?

You’ve probably heard of the Apple App Store; if not, it’s a central point for application developers to market and sell their applications.  The Windows Azure Marketplace is Microsoft’s way of allowing Windows Azure Application developers to do the same thing, but with one fundamental difference.  The Marketplace has an additional market; the DataMarket.

The DataMarket is a place that allows leading commercial data providers and authoritative public data sources to make data; such as image files, databases, reports on demographics and real-time feeds, readily available (at a price Wink) to business end users and application developers.  End users can consume this data using Microsoft Office tools like Excel or even use Business Intelligence tools like PowerPivot or SSRS (SQL Server Reporting Services) to mine this data and present it in a way that fits their business purposes.

Application developers can use data feeds to create real-time, content rich applications using a consistent RESTful approach.  This means that developers can consume this data using tools like Visual Studio; well basically any development tools that support HTTP.

Here’s a tad more info on both Markets http://www.microsoft.com/windowsazure/marketplace/

Well, this brings an end to the 12 days of Windows Azure Platform Christmas.  For anyone that has been reading and is new to the Windows Azure Platform, I hope this has given you a good insight into what each component of the platform provides and why you should think about using it.

If anything, it has also been a good learning exercise for me Laughing

I have only one thing left to say Merry Christmas!

Oh and here are some links for more detail on the platform:

Windows Azure Platform - http://msdn.microsoft.com/en-us/library/dd163896.aspx

The latest development SDKs - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1089b6-4050-4307-86c4-9dadaa5ed018

Some express downloads to get you developing - http://www.microsoft.com/express/downloads/

Day 11 - Windows Azure Platform - Azure AppFabric Caching

by Kev Ritchie 11. December 2010 00:01

 

On the 11th day of Windows Azure Platform Christmas my true love gave to me the Windows Azure AppFabric Caching Service.

What is the Windows Azure AppFabric Caching Service?

The Caching Service is a collection of distributed in-memory caches that contain frequently accessed data from your Windows Azure application, the key being to improve application performance.

So how do you use it?

Well, to be able to use caching you first need to store data, to do this you need to programmatically insert the data into the caches using the Caching API.  With your frequently accessed data stored in the cache, you use a pattern called cache-aside to access it.  What this means is that you first check the cache for data before going to the database to retrieve it; here’s our performance improvement Smile.  What if the data isn’t in the cache?  Easy, retrieve it from the database and store it in the cache, so the next time your application needs the data, it gets it directly from the cache.

The great thing about using the Caching Service is that because it’s in the Cloud, your cache is distributed to multiple Windows Azure Instances giving you scalability, availability and fault tolerance, all of which is automatically configured and administered for you.  Less Work! Smile

Caching is not a new concept, but the provision of caching through the Cloud is and is a welcome feature to the increasingly popular Platform as a Service.

Tomorrow’s installment:  The Azure Marketplace, links and stuff

P.S. If you have any questions, corrections or suggestions to make please let me know. 

Day 10 - Windows Azure Platform - Azure AppFabric Access Control

by Kev Ritchie 10. December 2010 00:01

 

On the 10th day of Windows Azure Platform Christmas my true love gave to me Windows Azure AppFabric Access Control.

What is Windows Azure AppFabric Access Control?

It’s very common these days to have an application that integrates with other services like Facebook, Google, Windows Live ID, AD FS (Active Directory Federation Services) 2.0 and Yahoo.  The complexity of this comes in when you have to control the different types of identity tokens that the Identity Service Providers of these services return when you attempt to log in.  The Access Control Service was provided to allow your application to have a single point of sign on and authorisation, so that you don’t have to worry about the different types of tokens provided by these Identity Service Providers.

So how does it work?

Let’s say you’ve developed an application that integrates with Facebook.  The first thing your application would do is authenticate itself with the Facebook Identity Service Provider with the e-mail address and password you provided.  The Facebook Identity Service Provider would then pass back a token to your application which would then be passed on to the Access Control Service.  When Access Control receives the token, it validates it to make sure that it did come from Facebook, it then; based on rules defined by the application’s administrator in the Access Control Rule Engine, creates a new token which is passes to your application.  Finally, your application processes this token to make sure that it was sent from Access Control and completes the sign on process.

This does seem like a more complicated process, but what’s key here is that regardless of Identity Service Provider, Access Control will serve up one familiar defined token to your application.  As a developer, that is sooo much better! Smile  Think of all that complexity that’s just been removed.

For a bit more information and some samples, why not visit CodePlex

Tomorrow’s installment: Windows Azure AppFabric - Caching 

P.S. If you have any questions, corrections or suggestions to make please let me know. 

Day 9 - Windows Azure Platform - Azure AppFabric Service Bus

by Kev Ritchie 9. December 2010 00:08

 

On the 9th day of Windows Azure Platform Christmas my true love gave to me the Windows Azure AppFabric Service Bus.

What is the Windows Azure AppFabric Service Bus?

Before I jump in and waffle on about the Service Bus.  I’ll mention a little bit about Windows Azure AppFabric; what it is and what it does.

Windows Azure AppFabric is a platform made up of three services; Service Bus, Access Control and Caching.  The purpose of this platform is to provide you with a way of building and managing, reliable, secure applications that run on Windows Azure.

So, back to today’s topic; Service Bus.

It’s quite common these days to expose services to the internet that allow applications; that either you or a third-party has created, to access data within a secure network.  To allow this kind of infrastructure to work you would need to set up your service on a public facing server with ports and holes punched through a firewall and maybe some NAT policies to allow connections in and out.

The Service Bus was built to relieve the aches and pains of setting up such an infrastructure.   So, how does it work?

Let’s say for an example you want to expose data using a WCF Service.  First, you would register an endpoint between your service and the Service Bus.  When this endpoint is created, the Service bus automatically creates its own corresponding endpoint.  The Service Bus then assigns you a URI (Uniform Resource Identifier) root, below which you can create any hierarchy you like.  This allows your endpoints to be assigned specific discoverable URIs.

Now, if an application; either in the Cloud or somewhere else, contacts the Service Bus with a specific endpoint URI, the Service Bus takes that URI and finds the appropriate endpoint registered with your service.  This request process uses the Atom Publishing Protocol (http://bitworking.org/projects/atom/rfc5023.html) which returns an AtomPub service document with references to the endpoints the Service Bus exposes.  Once the application has this document it can invoke calls to the Service Bus which in turn relays these calls through to the appropriate service; the WCF Service registered at the start of this example

This all sounds great, but how does this get past setting up firewalls etc.?

The service that you register with the Service Bus opens a TCP connection with the Service Bus (this is important).  This connection is then held open by the Service Bus, which fixes two issues raised earlier; NAT and Firewalls.  NAT is no longer an issue because traffic on the open connection with Service Bus will always be routed to the service/application.  Firewalls are no longer an issue because the connection was initiated from inside the network; an important point made earlier.

For all you security peeps out there, the Service Bus only exposes one IP Address which means you don’t have to expose multiple addresses, limiting the surface for attacks.

In this post I’ve talked about using WCF Services to expose data to the outside world, but you can also use other technologies like Java to expose data or application functionality; you just need to make sure you communicate with TCP, HTTP or HTTPS.  Simples Smile

The Service Bus also provides a message buffer service, which allows the queuing of messages up to 256 kilobytes, which are persisted to disk and can be read by the service at a later point; they’re also replicated which means fault tolerance, a major feature of the Windows Azure Platform.

Exposing services or applications is never a simple task, but what I’ve tried to show you is that it’s very simple to implement with the Service Bus.  This is the one feature that keeps appearing in each component of the Windows Azure Platform; simplicity!  It’s there to make your job simpler, so all you focus on as a developer is the application.

Tomorrow’s installment: Windows Azure AppFabric – Access Control

P.S. If you have any questions, corrections or suggestions to make please let me know.

Day 8 - Windows Azure Platform - SQL Azure Data Sync

by Kev Ritchie 8. December 2010 00:12

 

On the 8th day of Windows Azure Platform Christmas my true love gave to me SQL Azure Data Sync.

What is SQL Azure Data Sync?

SQL Azure Data Sync (current release, CTP 1) is the technology; built using the robust Sync Framework, that allows you to synchronise your SQL Azure databases to other SQL Azure databases within the same data centre or to multiple data centres around the world!

You can access CTP 1 here http://www.sqlazurelabs.com/

So, let’s say you have a web application that is used all around the world and you need to provide your users with high performance; this should always be the case Wink.  Well first, you would make sure that your application is running in Microsoft Data Centres close to the originating source (for example you may have your application hosted in one data centre in Europe and one in North America), but to make sure that the data your users are seeing is correct and up to date, you need Data Sync!  This was what it was built for.

Data Sync also gives you the ability to schedule the transfer of data between your databases, so you don’t need to control it manually.

Also, coming soon is CTP 2 (http://connect.microsoft.com/sqlazurectps), which you’ll need to register for.

A nice feature; coming in CTP 2 of Data Sync and one that I think will be used a lot, is Data Sync is not just restricted to synchronising data between SQL Azure Databases; you can also synchronise data to on-premise SQL Server databases.  This is very beneficial if you are required to keep on-premise backups of your databases for security and resilience/disaster recovery purposes.

What you get when you use SQL Azure Data Sync is a reliable, efficient way of synchronising your data, without having to write a single piece of Sync code.  So, put Visual Studio down Smile

Tomorrow’s installment: Windows Azure AppFabric - Service Bus

P.S. If you have any questions, corrections or suggestions to make please let me know.

Powered by BlogEngine.NET 2.5.0.6
Theme by Mads Kristensen | Modified by Mooglegiant