<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>domgreen.com &#187; Windows Azure</title>
	<atom:link href="http://domgreen.com/tag/windows-azure/feed/" rel="self" type="application/rss+xml" />
	<link>http://domgreen.com</link>
	<description>The geek will inherit the Earth</description>
	<lastBuildDate>Mon, 07 Jun 2010 08:42:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Learning&#8217;s From The Ash Cloud</title>
		<link>http://domgreen.com/2010/04/24/learnings-from-the-ash-cloud/</link>
		<comments>http://domgreen.com/2010/04/24/learnings-from-the-ash-cloud/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 14:17:56 +0000</pubDate>
		<dc:creator>domgreen</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Ash Cloud]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://domgreen.com/2010/04/24/learnings-from-the-ash-cloud/</guid>
		<description><![CDATA[I&#8217;m sure everyone is aware of the recent volcanic eruption in Iceland and the cloud of ash that has been spewed out and more importantly the knock on effects this ash cloud has had on not just Europe but the whole world.
 
Clouds can Spread …
The ash cloud started out in Iceland where it eventually [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sure everyone is aware of the recent volcanic eruption in Iceland and the cloud of ash that has been spewed out and more importantly the knock on effects this ash cloud has had on not just Europe but the whole world.</p>
<h2><a href="http://domgreen.com/wp-content/uploads/2010/04/image2.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://domgreen.com/wp-content/uploads/2010/04/image_thumb2.png" width="526" height="386" /></a> </h2>
<h2>Clouds can Spread …</h2>
<p>The ash cloud started out in Iceland where it eventually moved and spread out to cover the UK and Europe, even some reports say that it got as far as Canada. Grounding planes and crippling transport for a number of weeks.</p>
<p>This got me thinking, not all clouds are nice white clouds, some are evil volcanic clouds that actually do more harm than good especially when not contained to where we want them to be.&#160; (the ash cloud would have been fine if it had not strayed into European airspace).</p>
<p>The same is true in your applications, when developing for the cloud you can find that the cloud can end up spreading throughout your applications and if your not careful touching every section of code you write.</p>
<p>This can then be a real problem when the underlying SDK to interact with the cloud changes and you have to go through all of your application looking where to refractor and make changes.</p>
<h2>Contain Your Cloud</h2>
<p>To combat this I contain any code that will access the cloud within few specialised “cloud” projects within my application.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2010/04/image3.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://domgreen.com/wp-content/uploads/2010/04/image_thumb3.png" width="263" height="189" /></a> </p>
<p>This means that throughout the application if I want to access the Azure message queue, I call a single method from one of my cloud project that will return me a message, meaning that no other part of you application needs to know how to deal with the cloud.</p>
<h2>Added Benefits</h2>
<p>Containing your cloud not only allows you to keep to the DRY principles and code re-use it, makes maintenance of your application easier and can reduce code smells. One of the biggest benefits is that it also allows you to easier test your applications without having to rely on the cloud or developer fabric, as you can create your cloud methods in a mock-able way.</p>
]]></content:encoded>
			<wfw:commentRss>http://domgreen.com/2010/04/24/learnings-from-the-ash-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WCF Hot Fix &#8211; Don&#8217;t be showing your nodes</title>
		<link>http://domgreen.com/2010/01/25/wcf-hot-fix-dont-be-showing-your-nodes/</link>
		<comments>http://domgreen.com/2010/01/25/wcf-hot-fix-dont-be-showing-your-nodes/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 20:40:41 +0000</pubDate>
		<dc:creator>domgreen</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://domgreen.com/2010/01/25/wcf-hot-fix-dont-be-showing-your-nodes/</guid>
		<description><![CDATA[When browsing to a WCF endpoint hosted in an Azure web role you normally get back a web page for the service showing the location of the individual node / web role that is serving up your request (seen blurred out here) instead of the actual endpoint.
This isn&#8217;t great as you don&#8217;t want everyone knowing [...]]]></description>
			<content:encoded><![CDATA[<p>When browsing to a WCF endpoint hosted in an Azure web role you normally get back a web page for the service showing the location of the individual node / web role that is serving up your request (seen blurred out here) instead of the actual endpoint.</p>
<p>This isn&#8217;t great as you don&#8217;t want everyone knowing about your internal system and especially the URL of one of your web roles, with which they could do who know what.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2010/01/image4.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://domgreen.com/wp-content/uploads/2010/01/image_thumb4.png" width="593" height="368" /></a> </p>
</p>
<p>This can easily be fixed with this <a href="http://code.msdn.microsoft.com/KB977420" target="_blank">patch for WCF</a> that will now show the expected endpoint. This endpoint is actually the address of the load balancer that will then forward your request to an web role.</p>
<p>Once the patch is download and installed you can then simply add the following xml snippet into your behaviour for the WCF service:</p>
<p><a href="http://domgreen.com/wp-content/uploads/2010/01/image5.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://domgreen.com/wp-content/uploads/2010/01/image_thumb5.png" width="595" height="176" /></a> </p>
<p>With this snippet added into your web.config you can browse back to the previous service and will now see that the correct URL is displayed for your service.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2010/01/image6.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://domgreen.com/wp-content/uploads/2010/01/image_thumb6.png" width="600" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://domgreen.com/2010/01/25/wcf-hot-fix-dont-be-showing-your-nodes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paying or Not Paying?</title>
		<link>http://domgreen.com/2010/01/24/paying-or-not-paying/</link>
		<comments>http://domgreen.com/2010/01/24/paying-or-not-paying/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 23:00:35 +0000</pubDate>
		<dc:creator>domgreen</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[billing]]></category>

		<guid isPermaLink="false">http://domgreen.com/2010/01/24/paying-or-not-paying/</guid>
		<description><![CDATA[
I have recently been asked a number of questions both internally and from customers about when you will be billed for Azure usage.
As Eric Nelson’s recent post describes, if you suspend a service you will still be paying this is due to the fact you will still have your application deployed on the server ready [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://domgreen.com/wp-content/uploads/2010/01/azurepayment.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Dom Green - azurepayment" border="0" alt="Dominic Green - azurepayment" src="http://domgreen.com/wp-content/uploads/2010/01/azurepayment_thumb.png" width="661" height="295" /></a>
<p>I have recently been asked a number of questions both internally and from customers about when you will be billed for Azure usage.</p>
<p>As Eric Nelson’s recent <a href="http://geekswithblogs.net/iupdateable/archive/2010/01/19/qanda-when-do-i-get-charged-for-compute-hours-on.aspx" target="_blank">post</a> describes, if you <u><strong>suspend</strong></u> a service you <strong>will still be paying </strong>this is due to the fact you will still have your application deployed on the server ready to start again. With your application utilizing the server others will not be able to provision its usage.</p>
<p>When you select <strong><u>delete</u></strong> you will <strong>stop paying</strong> as you will no longer have servers provisioned for your application and the recourses will be freed up for others to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://domgreen.com/2010/01/24/paying-or-not-paying/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Azure Memcached-ed</title>
		<link>http://domgreen.com/2010/01/18/windows-azure-memcached-ed/</link>
		<comments>http://domgreen.com/2010/01/18/windows-azure-memcached-ed/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 07:57:49 +0000</pubDate>
		<dc:creator>domgreen</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[Memcached]]></category>

		<guid isPermaLink="false">http://domgreen.com/2010/01/18/windows-azure-memcached-ed/</guid>
		<description><![CDATA[
Memcached is a distributed cache used to help speeding up large scale web applications by taking pressure off the database. Memcached is used by many of the internets biggest sites, including Twitter, Wikipedia, and YouTube to name just a few.
A distributed cache is one of the things that I’ve been hoping to see released for [...]]]></description>
			<content:encoded><![CDATA[</p>
<p><a href="http://memcached.org/" target="_blank">Memcached</a> is a distributed cache used to help speeding up large scale web applications by taking pressure off the database. Memcached is used by many of the internets biggest sites, including Twitter, Wikipedia, and YouTube to name just a few.</p>
<p>A distributed cache is one of the things that I’ve been hoping to see released for Windows Azure for quite a while, and I am hoping that <a href="http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx" target="_blank">AppFabric Caching</a> will make the move to the cloud in the coming year. However, until that happens I was determined to find a way to get a distributed cache and this great <a href="http://code.msdn.microsoft.com/winazurememcached" target="_blank">Windows Azure Memcached</a> sample showed me how.</p>
<h2>“Brad Fitzpatrick, I love your ass!&quot;</h2>
<p>Sorry, I just couldn&#8217;t help myself. I found this great quote on in the <a href="http://code.google.com/p/memcached/wiki/TutorialCachingStory" target="_blank">Caching Story</a> page of the Memcached wiki.</p>
<p>After installing and setting up Memcached you will be able to cache any data, including data that is retrieved from your database so that the next time you need it you can get it from cache and not need to re-query your database. Therefore, reduce the pressure on the database and earning the love of our DBA.</p>
<h2>Azure Memcached sample</h2>
<p>You can download the sample code for Windows Azure from the <a href="http://code.msdn.microsoft.com/winazurememcached/Release/ProjectReleases.aspx?ReleaseId=3551" target="_blank">codeplex download page</a> you then need to download a Windows friendly version of Memcached (<a href="http://labs.northscale.com/memcached-packages/" target="_blank">here is where I got mine</a>). With the sample code from codeplex just add the memcached exe to your worker roles. You will now be able to run the sample code either on the dev fabric or in the cloud.</p>
<p>One thing to watch out for, the Memcached exe’s seem to take an age to get up and running. I actually left mine to set up overnight (glad I&#8217;m still on a CTP account) as the Memcached Worker Roles were all showing busy for a long time, during which the sample would not work correctly.</p>
<p>After the servers have started up you can easily set and retrieve values from the cache as shown in the screenshots below.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2010/01/memchacedset.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Dom Green - memchacedset" border="0" alt="Dominic Green - memchacedset" src="http://domgreen.com/wp-content/uploads/2010/01/memchacedset_thumb.png" width="388" height="317" /></a><a href="http://domgreen.com/wp-content/uploads/2010/01/memchacedget.png"><img style="border-right-width: 0px; margin: 0px auto; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Dom Green - memchacedget" border="0" alt="Dominic Green - memchacedget" src="http://domgreen.com/wp-content/uploads/2010/01/memchacedget_thumb.png" width="382" height="320" /></a>&#160; </p>
<h2>&#160;</h2>
<h2>Under the hood</h2>
<p>Now that we have got our distributed cache working lets have a look how the sample code works.</p>
<h3>Memcached Server</h3>
<p>On the server side we set up an internal endpoint that will be used to connect the clients to the Memcached server. When the node is created we launch the Memcached server that we downloaded before, passing in the nodes cache size and endpoint as arguments.</p>
<pre class="brush: c-sharp" name="code">          string arguments = 	&quot;-m &quot; + cacheSize +
				&quot; -l &quot; + endpoint.Address +
				&quot; -p &quot; + endpoint.Port;

            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.CreateNoWindow = false;
            startInfo.UseShellExecute = false;
            startInfo.FileName = &quot;memcached.exe&quot;;
            startInfo.WindowStyle = ProcessWindowStyle.Hidden;
            startInfo.Arguments = arguments;</pre>
<p>This node is now exposing a Memcached server, which can be used by the client nodes to cache data.</p>
<h3>Utilizing Memcached &#8211; Clients</h3>
<p>The client node in the example looks a lot more complicated that it actually is. The most important part is adding the configuration for our memcached client within the settings tab of the node.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2010/01/image3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Dom Green - client settings" border="0" alt="Dominic Green - client settings" src="http://domgreen.com/wp-content/uploads/2010/01/image_thumb3.png" width="467" height="255" /></a> </p>
<p>Then comes the interesting bit using the <em>Enyim</em> caching library (others libraries are available) and creating a <em>MemcachedClient </em>object, allowing us to get and set objects in the cache. </p>
<p>Each time a new MemcacedClient is needed the program loads a configuration based upon the data within the settings (picture above) and then loops through all of the instances of memcached servers nodes that we are running in our hosted service getting their endpoint, to add this to the configuration of available servers.</p>
<pre class="brush: c-sharp" name="code">            _endpoints = new Dictionary<string , ipendpoint>();

            foreach (var endpoint in RoleEnvironment.Roles[_memcachedRoleName].Instances)
            {
                foreach (var epi in endpoint.InstanceEndpoints)
                  {
                    if (epi.Key == &quot;memcached&quot;)
                    {

                        _endpoints.Add(epi.Value.RoleInstance.Id.ToString(),epi.Value.IPEndpoint);
                    }
                }
            }</string></pre>
<p>Now that the connection to our memcached nodes we can use the caching library to set and get values in the cache.</p>
<pre class="brush: c-sharp" name="code">AzureMemcached.Client.Store(StoreMode.Set, key, value);          

AzureMemcached.Client.Get(key);</pre>
<p>With this code we now have distributed caching on Windows Azure, and can use the example to build out much bigger applications. <img src='http://domgreen.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> &#160; </p>
]]></content:encoded>
			<wfw:commentRss>http://domgreen.com/2010/01/18/windows-azure-memcached-ed/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Service management API &#8211; REST on REST</title>
		<link>http://domgreen.com/2010/01/11/service-management-api-rest-on-rest/</link>
		<comments>http://domgreen.com/2010/01/11/service-management-api-rest-on-rest/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 23:39:29 +0000</pubDate>
		<dc:creator>domgreen</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[service management API]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[WCF REST]]></category>

		<guid isPermaLink="false">http://domgreen.com/2010/01/11/service-management-api-rest-on-rest/</guid>
		<description><![CDATA[In a previous post I mentioned using the Service Management API sample library to call out to the Azure fabric from within a C# application.
The natural progression from here was to get the code working from within a web or worker role instance hosted within the cloud. Using a web role, I used the OnStart [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://domgreen.com/2010/01/06/azure-service-management-api-via-c/" target="_blank">previous post</a> I mentioned using the Service Management API <a href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=windowsazuresamples&amp;ReleaseId=3233" target="_blank">sample library</a> to call out to the Azure fabric from within a C# application.</p>
<p>The natural progression from here was to get the code working from within a web or worker role instance hosted within the cloud. Using a web role, I used the OnStart method to set up a IServiceManagent class that could then be shared with the remainder of the classes within the role.</p>
<p>When tracing the hosted services from either the OnStart method or from within default.aspx.cs I could successfully print out all of the services within my account. However, when I set up a WCF REST service to return these hosted services in an array I started to get an error with the connection to the Management API. Giving a argument error stating that a property with the name “httpRequest” is not present. This was even happening when I was using <strong>exactly</strong> the same code as I was elsewhere.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2010/01/image1.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Dom Green - httpRequest" border="0" alt="Dominic Green - httpRequest" src="http://domgreen.com/wp-content/uploads/2010/01/image_thumb1.png" width="642" height="209" /></a> </p>
<p>After a push in the right direction from <a href="http://blogs.msdn.com/simondavies/default.aspx" target="_blank">Simon Davies</a> we found out&#160; that the issue was in the WCF REST service already having an OperationContext from the original REST call before calling out to the Service Management API. This <a href="http://blogs.msdn.com/pedram/archive/2008/07/19/webchannelfactory-inside-a-wcf-service.aspx" target="_blank">handy blog post</a>, help solve all my issues, all that was needed was to create a second OperationalContext before calling the management service.</p>
<pre class="brush: c-sharp" name="code">using(new OperationContextScope((IContextChannel)WebRole.serviceManagement))
{
  var hostedServices = WebRole.serviceManagement.ListHostedServices(subscriberID);

  foreach (HostedService service in hostedServices)
  {
    Trace.TraceInformation(&quot;Hosted Service: {0}&quot;, service.ServiceName);
  }
}
            </pre>
<p>Ta dar … everything now works, we can use the above code snippet to retrieve back all our hosted services by calling our own web role.</p>
]]></content:encoded>
			<wfw:commentRss>http://domgreen.com/2010/01/11/service-management-api-rest-on-rest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keeping an Eye on Earth</title>
		<link>http://domgreen.com/2009/11/23/keeping-an-eye-on-the-earth/</link>
		<comments>http://domgreen.com/2009/11/23/keeping-an-eye-on-the-earth/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 13:51:07 +0000</pubDate>
		<dc:creator>domgreen</dc:creator>
				<category><![CDATA[EyeOnEarth]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[EEA]]></category>
		<category><![CDATA[Eye On Earth]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://domgreen.com/2009/11/23/keeping-an-eye-on-the-earth/</guid>
		<description><![CDATA[Over the past few months I have been part of an extremely exciting project, I am pleased that I am finally able to share it with you.
Eye On Earth is a new application that provides air and water quality to more than 500 million people across Europe, using both measurement stations and modelling data, along [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few months I have been part of an extremely exciting project, I am pleased that I am finally able to share it with you.</p>
<p><strong>Eye On Earth</strong> is a new application that provides air and water quality to more than 500 million people across Europe, using both measurement stations and modelling data, along with social observations from people around not only Europe, but the whole world.</p>
<p>This is one of the first applications to be built and run on Windows Azure and SQL Azure allowing near real-time data to be presented at air stations and in a Europe wide air quality model.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2009/11/image9.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Eye on Earth - Dom Green" border="0" alt="Eye on Earth - Dominic Green" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb8.png" width="643" height="359" /></a></p>
<h3>Environmental issues, Bleeding Edge Solution</h3>
<p>Eye On Earth uses a number of bleeding edge technologies including Windows Azure, SQL Azure and Silverlight to bring a rich user experience that can be scaled on demand whilst still processing all the near real-time data.</p>
<p>One of the first things that you notice when you visit Eye on Earth is how great it looks- it really shows off what you can do with <a href="http://silverlight.net/" target="_blank">Silverlight</a> and the latest <a href="http://www.microsoft.com/maps/developers/" target="_blank">Bing Maps Silverlight Control</a>.</p>
<p><a href="http://www.microsoft.com/windowsazure/" target="_blank">Windows Azure</a> is at the core of Eye On Earth and is not only used to host the front end, but also on the back end sits on it too &#8211; with a number of worker roles that are used to process compute intense tasks, without effecting the performance of the front end.</p>
<p>Eye on Earth is heavily focused on data, all of which is stored and queried using <a href="http://www.microsoft.com/windowsazure/sqlazure/" target="_blank">SQL Azure</a>, along with this the application has large volumes of data being entered at near real-time from the European Environmental Agency.</p>
<h3>But I Don&#8217;t Have Silverlight …</h3>
<p>Eye On Earth will still love you. While it was primarily designed to be run as a Silverlight application, but with not everyone being able to use this technology, a parallel site has also been created using ASP.NET (along with some blood, sweat and tears). The ASP.NET version not only allows you to run the application anywhere &#8211; it gives you the vast majority of the features you would see in the Silverlight version.</p>
<p>Along with ASP.NET the team utilized <a href="http://jquery.com/" target="_blank">jQuery</a> and the recently released Microsoft AJAX Content Delivery Network (<a href="http://www.asp.net/ajaxlibrary/cdn.ashx" target="_blank">CDN</a>) to give all the rich user interactions without the power of Silverlight. When being re-directed to <a href="http://eyeonearth.eu/home.aspx" target="_blank">this version</a> of the site you can hardly tell the difference between what you would have experienced in Silverlight and what you see in ASP.NET</p>
<p>Quick Tip – <a href="http://domgreen.com/2009/11/20/turning-off-silverlight-without-uninstalling/" target="_blank">turn off Silverlight and check it out</a>.</p>
<h3>Lighting up Europe</h3>
<p>&#160;</p>
<p><a href="http://domgreen.com/wp-content/uploads/2009/11/image10.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Light map showing stations across Europe - Dom Green" border="0" alt="Light map showing stations across Europe - Dominic Green" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb9.png" width="618" height="296" /></a> </p>
<p>Eye on Earth has a number of “light maps” that are overlaid on a Bing Map controls to show a visual representation of both the air and water stations as well as user feedback.</p>
<p>Different coloured dots are used to visualise where the measurement stations are and allows users to zoom in and view more fine grained data.</p>
<p>User feedback, for both air and water quality can be turned on and off at the top of the map control and will show a colour coded display of where users have rated the air or water in a given location. These user ratings are coloured differently to the official readings, so that the user will be able view the social rating of given areas.</p>
<p>As more users rate the air and water quality around the world the light map will automatically re-generate and show an updated view of the social ratings.</p>
<p>Each of the light map tiles in the application have been generated using using a number complex algorithms, and processed on Azure worker roles before being stored in blobs for retrieval when a user views the site. This makes it much easier to create the tiles in parallel over multiple nodes, ensuring that the process is both fast and efficient.</p>
<h3>Modelling Air Quality</h3>
<p>&#160;</p>
<p><a href="http://domgreen.com/wp-content/uploads/2009/11/image11.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Air Quality Model - Dom Green" border="0" alt="Air Quality Model - Dominic Green" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb10.png" width="601" height="337" /></a> </p>
<p>You can also see air quality models put together by the European Environmental Agency on an hourly basis. With this model, users can be given a overview of the quality of the air around Europe from either a heat map, or placing push pins. </p>
<p>As this data arrives it is directly input into SQL Azure and processed, and passing the a number of compute tasks to Azure worker roles so that the images are generated correctly and displayed in the fastest possible manner.</p>
<h3>Station to Station</h3>
<p>&#160;<a href="http://domgreen.com/wp-content/uploads/2009/11/image12.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Eye On Earth, measurement stations - Dom Green" border="0" alt="Eye On Earth, measurement stations - Dominic Green" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb11.png" width="587" height="350" /></a> </p>
<p>As you zoom into the map within the Eye on Earth application measurement station appear as icons. Round icons represent water stations and the square icons with a wind-sock represent the air stations.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2009/11/image13.png"><img style="border-right-width: 0px; margin: 10px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Station Data - Dom Green" border="0" alt="Station Data - Dominic Green" align="left" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb12.png" width="264" height="239" /></a>You can mouse over or click on individual measurement stations, to view more in depth data about the given station. On the left hand side the station will show the official EEA rating and a break down of the measurements that give the station this rating. On the right social user ratings are displayed, giving an idea of how the general public rate the air or water quality at the given location.</p>
<p>As you can see in the image this station has a <em>good</em> user rating, but a rating of <em>very good </em>from the EEA.</p>
<p>As more users rate the station or the air in surrounding areas, the word cloud on the left will update giving an idea of keywords that users have selected when rating the quality at this location.</p>
<p>Eye on Earth also displays historical water data on the water stations, allowing the user to see what the station has measured the water to be like over the past couple of years. Along with a yearly update seasonal updates will be displayed, showing how the current water season has been for the location.</p>
<h3>We Live in a Social Environment</h3>
<p>It’s not just the EEA that get to put data on the site – as a user, you can rate the quality of air and water in your region too.</p>
<p>Rating a location is simple, all you need to do is identify how good the air or water quality is at this location and then select one or more rating keywords that best describe the area.</p>
<p>Sharing the data at a given location can be via a number of social networks, including Facebook, Twitter and Live Spaces.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2009/11/image14.png"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Eye On Earth, Rate - Dom Green" border="0" alt="Eye On Earth, Rate - Dominic Green" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb13.png" width="282" height="186" /></a><a href="http://domgreen.com/wp-content/uploads/2009/11/image15.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Eye On Earth, Share - Dom Green" border="0" alt="Eye On Earth, Share - Dominic Green" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb14.png" width="279" height="187" /></a> </p>
<h3>&#160;</h3>
<h3>I Can See my House from Up Here</h3>
<p>Viewing the air data within Europe is not restricted only to the measurement stations within the application. Using the air model we allow users to place pushpins anywhere on the map, and if this is within the data areas for the model it will return what the quality of air is at that location.</p>
<p>The user will then be able to rate or share the information at this pushpin location as if they had viewed the data from a measurement station.</p>
<p>If the pushpin is placed outside of the air model for Europe no air data will be retrieved, however you will still be able to rate the air at the location, using the rate button. This allows something that doesn&#8217;t exit anywhere else &#8211; a worldwide air quality indication generated by users.</p>
<h3>Data On the Go, via SMS<a href="http://domgreen.com/wp-content/uploads/2009/11/image16.png"><img style="border-right-width: 0px; margin: 0px 0px 0px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SMS - Dom Green" border="0" alt="SMS - Dominic Green" align="right" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb15.png" width="278" height="160" /></a></h3>
<p>Users wont always be in the comfort of their own home or workplace&#160; and therefore not always have access to a computer – and so it was a logical step to build a mobile solution into the application for the user to get data on the move.</p>
<p>Eye On Earth has a SMS service that allows users to text in their location, and retrieve an automated response showing what the quality is like at the given location.&#160; </p>
<h3>Je Ne Comprends Pas</h3>
<p>It’s always easy to forget that English isn’t everyone’s first language – and over the next couple of weeks we’ll be adding 24 additional languages to the Eye On Earth site, enabling more and more individuals to benefit from the site via Silverlight, ASP.NET and SMS.</p>
<p>Eye on Earth will automatically detect your locale as it loads, and switch not only to the correct language but also giving you localized map controls.</p>
<h3>And Finally…</h3>
<p>Eye on Earth is a stunning, elegant and full featured application that allows businesses, governments and individuals from around Europe to view and rate the air and water quality where they are, using the latest technologies such as Azure and Silverlight. All of this data contributes to the biggest, most up-to-date Europe wide map of air and water quality publicly available on the Internet.</p>
<p>Go to <a href="http://www.eyeonearth.eu">www.eyeonearth.eu</a> and try the site yourself.</p>
]]></content:encoded>
			<wfw:commentRss>http://domgreen.com/2009/11/23/keeping-an-eye-on-the-earth/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Azure TCO and ROI Calculator</title>
		<link>http://domgreen.com/2009/11/22/azure-tco-and-roi-calculator/</link>
		<comments>http://domgreen.com/2009/11/22/azure-tco-and-roi-calculator/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 17:36:00 +0000</pubDate>
		<dc:creator>domgreen</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Calculator]]></category>

		<guid isPermaLink="false">http://domgreen.com/2009/11/22/azure-tco-and-roi-calculator/</guid>
		<description><![CDATA[PDC brought a lot of new cloud content to Azure, however one great feature that has been added to the Windows Azure portal seems to have been slightly overlooked. 
The total cost of ownership (TCO) and return on investment (ROI) calculator allows end users and organisations see how much money they are likely to save [...]]]></description>
			<content:encoded><![CDATA[<p>PDC brought a lot of new cloud content to Azure, however one great feature that has been added to the Windows Azure portal seems to have been slightly overlooked. </p>
<p>The total cost of ownership (TCO) and return on investment (ROI) calculator allows end users and organisations see how much money they are likely to save / spend when migrating or developing an application on the Azure Platform.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2009/11/image4.png"><img style="border-right-width: 0px; margin: 0px auto 10px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="TCO &amp; ROI Calculator Questions - Dom Green" border="0" alt="TCO &amp; ROI Calculator Questions - Dominic Green" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb3.png" width="592" height="460" /></a> The TCO &amp; ROI Calculator takes the user through a number of steps, starting with a number of questions about the application. Selecting such things as the type of business / application, use of SQL Azure and how you expect to see the service fluctuate over time.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2009/11/image5.png"><img style="border-right-width: 0px; margin: 0px auto 10px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="TCO &amp; ROI Calculator Azure Services - Dom Green" border="0" alt="image" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb4.png" width="590" height="458" /></a> Answers from this questionnaire can then be used to calculate an estimate on the total cost and nodes needed for the application.</p>
<p>This can then be seen over a number of years to see what the cost would be over a longer time period as well as a comparison to how much would be spent hosting the application on premise.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2009/11/image6.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="TCO &amp; ROI Calculator Cost - Dom Green" border="0" alt="TCO &amp; ROI Calculator Cost - Dominic Green" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb5.png" width="591" height="458" /></a>&#160; </p>
<p><a href="http://domgreen.com/wp-content/uploads/2009/11/image7.png"><u></u><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="TCO &amp; ROI Calculator Comparison - Dom Green" border="0" alt="TCO &amp; ROI Calculator Comparison - Dominic Green" src="http://domgreen.com/wp-content/uploads/2009/11/image_thumb6.png" width="585" height="456" /></a></p>
<p>&#160;</p>
<p>Check out the TCO &amp; ROI Calculator <a href="http://www.microsoft.com/windowsazure/tco/" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://domgreen.com/2009/11/22/azure-tco-and-roi-calculator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eye on Earth &#8211; Video Demo</title>
		<link>http://domgreen.com/2009/11/17/eye-on-earth-video-demo/</link>
		<comments>http://domgreen.com/2009/11/17/eye-on-earth-video-demo/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 23:46:54 +0000</pubDate>
		<dc:creator>domgreen</dc:creator>
				<category><![CDATA[EyeOnEarth]]></category>
		<category><![CDATA[Eye On Earth]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://domgreen.com/2009/11/17/eye-on-earth-video-demo/</guid>
		<description><![CDATA[As part of the Eye On Earth (link) launch today, we have a video demonstration of the project by Ludo de Bock&#160; (Senior Director &#8211; Microsoft)along with a discussion about how the project can engage both European citizens and governments using real time environmental data by Rob Bernard (Chief Environmental Strategist &#8211; Microsoft) and Prof. [...]]]></description>
			<content:encoded><![CDATA[<p>As part of the Eye On Earth (<a href="http://eyeonearth.eu/">link</a>) launch today, we have a <a href="http://www.microsoft.com/emea/presscentre/pressreleases/EuropeanEnvironmentAgencyPR_041109.mspx">video</a> demonstration of the project by Ludo de Bock&#160; (Senior Director &#8211; Microsoft)along with a discussion about how the project can engage both European citizens and governments using real time environmental data by Rob Bernard (Chief Environmental Strategist &#8211; Microsoft) and Prof. Jacqueline McGlade (European Environmental Agency).</p>
<p> <center>
<p><iframe height="638" marginheight="0" src="http://www.microsoft.com/emea/pressCentre/slMediaPlayers/mediaplayer_EuropeanEnvironmentAgencyPR_041109.htm?Auto=false" frameborder="0" width="469" marginwidth="0" scrolling="no"></iframe></p>
<p> </center></p>
]]></content:encoded>
			<wfw:commentRss>http://domgreen.com/2009/11/17/eye-on-earth-video-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UK MSDN Flash &#8211; 4th November 2009</title>
		<link>http://domgreen.com/2009/11/14/uk-msdn-flash-4th-november-2009/</link>
		<comments>http://domgreen.com/2009/11/14/uk-msdn-flash-4th-november-2009/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 17:36:00 +0000</pubDate>
		<dc:creator>domgreen</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[MS Build]]></category>
		<category><![CDATA[MSDN]]></category>
		<category><![CDATA[UK MSDN Flash]]></category>

		<guid isPermaLink="false">http://domgreen.com/2009/11/14/uk-msdn-flash-4th-november-2009/</guid>
		<description><![CDATA[Last week I had an article featured in the UK MSDN Flash magazine, the article was describing how I have set up your automated builds to deploy to Windows Azure using the recently released management services.

The article “Deploying to the Cloud as Part of Your Daily Build” can be found here.
 You can also find [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I had an article featured in the UK MSDN Flash magazine, the article was describing how I have set up your automated builds to deploy to Windows Azure using the recently released management services.</p>
<p><a href="http://domgreen.com/wp-content/uploads/2009/11/msdnflash0.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="msdnflash0" border="0" alt="msdnflash0" src="http://domgreen.com/wp-content/uploads/2009/11/msdnflash0_thumb.png" width="622" height="73" /></a></p>
<p><a href="http://domgreen.com/wp-content/uploads/2009/11/msdnflash1.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="msdnflash1" border="0" alt="msdnflash1" src="http://domgreen.com/wp-content/uploads/2009/11/msdnflash1_thumb.png" width="615" height="167" /></a>The article “Deploying to the Cloud as Part of Your Daily Build” can be found <a href="http://domgreen.com/2009/09/29/deploying-to-the-cloud-as-part-of-your-daily-build/">here</a>.</p>
<p> You can also find out more information and subscribe to the UK MSDN Flash <a href="http://msdn.microsoft.com/en-gb/aa570311.aspx">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://domgreen.com/2009/11/14/uk-msdn-flash-4th-november-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Is Azure? &#8211; Reading Geek Night</title>
		<link>http://domgreen.com/2009/11/13/what-is-azure-reading-geek-night/</link>
		<comments>http://domgreen.com/2009/11/13/what-is-azure-reading-geek-night/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 09:32:50 +0000</pubDate>
		<dc:creator>domgreen</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://domgreen.com/2009/11/13/what-is-azure-reading-geek-night/</guid>
		<description><![CDATA[I mentioned in my last post that I presented on “What Is Windows Azure?” at the first Reading Geek Night. This presentation was aimed at people who are new to the world of Windows Azure and aimed to be a quick introduction to wet their appetites.

What Is Windows Azure
View more presentations from domgreen.


&#160;
In good presentation [...]]]></description>
			<content:encoded><![CDATA[<p>I mentioned in my last post that I presented on “What Is Windows Azure?” at the first <a href="http://readinggeeknight.com/">Reading Geek Night</a>. This presentation was aimed at people who are new to the world of Windows Azure and aimed to be a quick introduction to wet their appetites.</p>
<div align="center">
<div style="text-align: left; width: 425px" id="__ss_2490604"><a style="margin: 12px 0px 3px; display: block; font: 14px helvetica,arial,sans-serif; text-decoration: underline" title="What Is Windows Azure" href="http://www.slideshare.net/domgreen/what-is-windows-azure-2490604">What Is Windows Azure</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=whatiswindowsazure-091113024751-phpapp02&amp;stripped_title=what-is-windows-azure-2490604" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=whatiswindowsazure-091113024751-phpapp02&amp;stripped_title=what-is-windows-azure-2490604" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-family: tahoma,arial; height: 26px; font-size: 11px; padding-top: 2px">View more <a style="text-decoration: underline" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration: underline" href="http://www.slideshare.net/domgreen">domgreen</a>.</div>
</p></div>
</p></div>
<p>&#160;</p>
<p>In good presentation style (or was that lack of time) my presentation contained minimal text and relied on my presentation skills and images to convey the message, so here is a quick run down of my presentation:</p>
<p><strong>Cloud Platform – </strong>Windows Azure is a cloud based platform for built from commodity machines, that allows you to develop and deploy, scalable, available applications in Microsoft&#8217;s&#160; data centres across the world.</p>
<p><strong>Utility Computing</strong> – Much like your gas and electricity you are only charged for what you consume, therefore giving a very small barrier to entry and making it ideal for small to mid-size businesses. When you need more compute power all you have to do is spin up more servers, no more buying servers based on your peak load, just scale and pay for what you use.</p>
<p><strong>Web &amp; Worker Roles</strong> &#8211; This is possibly my favourite slide, and where I think the whole concept of Windows Azure falls into place for everyone. Azure is build up on virtual machines consisting of worker and web roles I like to think of these much like the Barista and coffee makers in a coffee shop. Your order is taken by the Barista / web role and passed to the back end coffee makers / worker role for your order to be completed. If at any time either of these “fall over” there will be another role to step into its place and continue the order.</p>
<p><strong>Azure Storage</strong> – There are three types of Azure storage <strong>Blobs</strong>, for binary data, <strong>Queues</strong> for queuing up messages to be processed by the worker roles, and <strong>tables</strong> which are flat file databases which will easily scale as needed.</p>
<p><strong>Relational Database</strong> – although Windows Azure ships with table storage, you can also use a relational database structure using SQL Azure and SQL Management studio.</p>
<p><strong>Developer Experience</strong> – Windows Azure offers a familiar developer experience for any .NET developer with plug-in’s for Visual Studio and a local developer fabric to develop on dev machines. Azure also offers SDKs for both Java and php.</p>
<p>Thanks for everyone who attended the talk and I hope you enjoyed it as much as I did. You can find more information about Windows Azure at <a title="http://www.microsoft.com/windowsazure/" href="http://www.microsoft.com/windowsazure/">http://www.microsoft.com/windowsazure/</a> along with the SDK and developer tools that you will need to get started.</p>
]]></content:encoded>
			<wfw:commentRss>http://domgreen.com/2009/11/13/what-is-azure-reading-geek-night/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
