<?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>Fabse-on-Blog &#187; Azure</title>
	<atom:link href="http://blog.fabse.net/category/azure/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fabse.net</link>
	<description>Was bewegt mich; was nicht!</description>
	<lastBuildDate>Fri, 20 Jan 2012 22:06:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ideas about NoSql on Windows Azure: Azure Storage</title>
		<link>http://blog.fabse.net/2011/08/02/ideas-about-nosql-on-windows-azure-azure-storage/</link>
		<comments>http://blog.fabse.net/2011/08/02/ideas-about-nosql-on-windows-azure-azure-storage/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 20:47:40 +0000</pubDate>
		<dc:creator>Fabse</dc:creator>
				<category><![CDATA[Azure]]></category>

		<guid isPermaLink="false">http://blog.fabse.net/?p=563</guid>
		<description><![CDATA[This article is the third and last in my small series about NoSql-Solutions on Windows Azure. You may want to read them in order. RavenDB Sql Azure Azure Storage Azure Storage Microsoft proposes Azure Storage as the most scalable solution &#8230; <a href="http://blog.fabse.net/2011/08/02/ideas-about-nosql-on-windows-azure-azure-storage/">Continue reading <span class="meta-nav">&#8594;</span></a><p><br /><br />---<br />
<a href="https://www.amazon.de/?&tag=fabsenetfabse-21">Unterst&uuml;tze mich und meinen Blog und kauf dir was Nettes (&uuml;ber diesen Link)</a></p>
]]></description>
			<content:encoded><![CDATA[<p><em>This article is the third and last in my small series about NoSql-Solutions on Windows Azure. You may want to read them in order.</em></p>
<ol>
<li><a href="http://blog.fabse.net/2011/07/13/ideas-about-nosql-on-windows-azure-ravendb/" target="_blank"><em>RavenDB</em></a> </li>
<li><a href="http://blog.fabse.net/2011/07/14/ideas-about-nosql-on-windows-azure-sql-azure/" target="_blank"><em>Sql Azure</em></a> </li>
<li><em>Azure Storage</em> </li>
</ol>
<h2>Azure Storage</h2>
<p>Microsoft proposes Azure Storage as the most scalable solution if you want to store data in the cloud. If you think of Windows Azure as an operating system for the cloud then Azure Storage is the supporting filesystem for it. It consist of three major parts: Tables, Queues and Blobs.</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="Blob" border="0" alt="Blob" align="left" src="http://blog.fabse.net/wp-content/uploads/Blob1.png" width="63" height="63" /></p>
<p>Azure Blobs are unstructured binary data just like files on a filesystem. You can&#160; store some additional metadata and you can control whether they are publicly available or protected.</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="Queue" border="0" alt="Queue" align="left" src="http://blog.fabse.net/wp-content/uploads/Queue.png" width="64" height="64" /></p>
<p>Azure Queues is a persistent Queue implementation. It gives you an async and decoupled way to comunicate between components of your distributed application.</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="Table" border="0" alt="Table" align="left" src="http://blog.fabse.net/wp-content/uploads/Table.png" width="64" height="64" /></p>
<p>Azure Tables is some kind of low level SQL table. In comparison to a real SQL table there are some limititions. Each table has only a partition key and a row key for efficient access. These two keys form a row identifier. There is no equivalent to a non-clustered index so querying with conditions which do not contain these two key columns are always expensive in terms of time. The flipside of this coin is very high scalability. An Azure Table is not limited in size and may span over several nodes.</p>
<p>Azure Storage is hosted for you so you do not have to worry about installing, configuring, managing, backups and scaling. All these points made me decline RavenDB as the candidate number one in the first article of this series.</p>
<p>It has <a href="http://weblogs.asp.net/vblasberg/archive/2009/02/17/azure-details-and-limitations-blobs-tables-and-queues.aspx" target="_blank">some small limitations</a> which I would consider a guideline for a correct usage of the services. The overall amount of data is not limited.</p>
<h2>Azure Storage pricing</h2>
<p>Azure Storage is not free (as well), but it costs much less than SQL Azure. Think of 10-times less depending on your usage behaviour! Azure storage costs you 0,106 € / GB and you also have to pay for every transaction on the storage. One million transactions cost you additional 0,71€.</p>
<p><a href="http://www.microsoft.com/windowsazure/pricing-calculator/" target="_blank"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Storage Pricing compared" border="0" alt="image" src="http://blog.fabse.net/wp-content/uploads/image47.png" width="630" height="208" /></a></p>
<p>&#160;</p>
<h2>Azure Storage for my project?</h2>
<p>I will use Azure Storage in all its flavors in my project. <strong>Why, you ask?</strong> It is the solution I have the least experience with but I have the desire to change this! It will also save money in the long run.</p>
<p>Because of the lack of the experience, I am not that sure, how well queries will work if they contain only the partition key but not the row key. This could become a performance killer. I was thinking about this for a longer time. I will wait for this to show up as a real bottleneck. </p>
<p>If performance really becomes critical then caching is my first choice here. If this is not going to work good enough I will implement secondary tables as some kind of persisted views on the data. This introduces more complexity in the data access but it will be the way to (re-)gain performance at the cost of some extra storage.</p>
<p><em></em></p>
<p><em><a href="http://davidpallmann.blogspot.com/2011/07/windows-azure-design-patterns-part-1.html#fbid=-PMTyp5hV-a" target="_blank">Source of the used Azure Icons</a></em></p>
<p><br /><br />---<br />
<a href="https://www.amazon.de/?&tag=fabsenetfabse-21">Unterst&uuml;tze mich und meinen Blog und kauf dir was Nettes (&uuml;ber diesen Link)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabse.net/2011/08/02/ideas-about-nosql-on-windows-azure-azure-storage/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ideas about NoSql on Windows Azure: Sql Azure</title>
		<link>http://blog.fabse.net/2011/07/14/ideas-about-nosql-on-windows-azure-sql-azure/</link>
		<comments>http://blog.fabse.net/2011/07/14/ideas-about-nosql-on-windows-azure-sql-azure/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 19:24:03 +0000</pubDate>
		<dc:creator>Fabse</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.fabse.net/?p=551</guid>
		<description><![CDATA[This is a direct follow-up to my earlier article “Ideas about NoSql on Windows Azure: RavenDB”. You should read it first. While I was considering RavenDB as an actual choice for my project I was stumbling about the bad performance &#8230; <a href="http://blog.fabse.net/2011/07/14/ideas-about-nosql-on-windows-azure-sql-azure/">Continue reading <span class="meta-nav">&#8594;</span></a><p><br /><br />---<br />
<a href="https://www.amazon.de/?&tag=fabsenetfabse-21">Unterst&uuml;tze mich und meinen Blog und kauf dir was Nettes (&uuml;ber diesen Link)</a></p>
]]></description>
			<content:encoded><![CDATA[<p><em>This is a direct follow-up to my earlier article </em><a href="http://blog.fabse.net/2011/07/13/ideas-about-nosql-on-windows-azure-ravendb/" target="_blank"><em>“Ideas about NoSql on Windows Azure: RavenDB”</em></a><em>. You should read it first.</em></p>
<p>While I was considering <a href="http://http://ravendb.net/" target="_blank">RavenDB</a> as an actual choice for my project I was stumbling about the bad performance on big (1-5 MB) blobs. Shortly after I learned about attachments in RavenDB which are designed for exactly this case except it is not possible to include them in transactions. This is fine for me anyway.</p>
<p><strong>Sql Azure</strong></p>
<p>The next best choice is <a href="http://www.microsoft.com/windowsazure/sqlazure/database/" target="_blank">Sql Azure</a>. It feels like having a SQL Server in the cloud with all its pros and cons. I have quite good knowledge in designing and using relational databases and especially storing blobs in them. But this is no NoSql at all <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://blog.fabse.net/wp-content/uploads/wlEmoticon-winkingsmile2.png" /></p>
<p>Some <a href="http://download.microsoft.com/download/9/E/9/9E9F240D-0EB6-472E-B4DE-6D9FCBB505DD/Windows%20Azure%20No%20SQL%20White%20Paper.pdf" target="_blank">whitepapers</a> suggest to use XML document columns to store schema-less documents inside SQL Azure to simulate a NoSql database. While technically possible I cannot imagine someone really doing this.</p>
<p><a href="http://www.microsoft.com/windowsazure/pricing-calculator/" target="_blank">Sql Azure is not free as well</a>. You don’t pay for licences but you pay for the size of your database. It costs about 7€ per month and GB. This is too much for me to use it to store my blobs and as of now I have no idea how much metadata I need to store to run my service.</p>
<p><strong>My decision</strong></p>
<p>Sql Azure could fulfil all my needs. I could store the blobs inside Azure Blob Service to reduce the database size and to use the tools in the way they work best. But I will not use Sql Azure. <em>Why?</em> I am quite sure that Sql Azure is much more capable of scaling than my application would need it. It basically comes down to my desire to learn something new and to design the service in the way it fits best into the cloud.</p>
<p><br /><br />---<br />
<a href="https://www.amazon.de/?&tag=fabsenetfabse-21">Unterst&uuml;tze mich und meinen Blog und kauf dir was Nettes (&uuml;ber diesen Link)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabse.net/2011/07/14/ideas-about-nosql-on-windows-azure-sql-azure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ideas about NoSql on Windows Azure: RavenDB</title>
		<link>http://blog.fabse.net/2011/07/13/ideas-about-nosql-on-windows-azure-ravendb/</link>
		<comments>http://blog.fabse.net/2011/07/13/ideas-about-nosql-on-windows-azure-ravendb/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 17:43:08 +0000</pubDate>
		<dc:creator>Fabse</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[NoSql]]></category>
		<category><![CDATA[RavenDB]]></category>

		<guid isPermaLink="false">http://blog.fabse.net/?p=547</guid>
		<description><![CDATA[I have a really great idea for a software product and I want to implement it as a software as a service. I am not going to tell more about the actual idea for now. Instead I want to focus &#8230; <a href="http://blog.fabse.net/2011/07/13/ideas-about-nosql-on-windows-azure-ravendb/">Continue reading <span class="meta-nav">&#8594;</span></a><p><br /><br />---<br />
<a href="https://www.amazon.de/?&tag=fabsenetfabse-21">Unterst&uuml;tze mich und meinen Blog und kauf dir was Nettes (&uuml;ber diesen Link)</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I have a really great idea for a software product and I want to implement it as a software as a service. I am not going to tell more about the actual idea for now. Instead I want to focus this post on deciding the way how I will implement the storage.</p>
<p><strong>Requirements</strong></p>
<p>Because of my .Net background I am going to use <a href="http://www.microsoft.com/windowsazure/" target="_blank">Windows Azure</a> anyway.     <br />Furthermore I want to have an architecture which is scalable as much as possible. The application should be able to run on only one extra small instance and should be able to scale using many instances in a seamless and efficient ways.</p>
<p><strong>RavenDB as a solution</strong></p>
<p>I am following <a href="http://ayende.com/blog" target="_blank">Ayende</a> for quite a long time now and I appreciate his skills and knowledge. He made me start diving into the NoSql-Space some time ago with his document database <a href="http://ravendb.net/" target="_blank">RavenDB</a>. I am quite impressed by it. I was thinking about using it for my service but there are some issues:</p>
<ul>
<li><a href="http://ravendb.net/licensing" target="_blank">RavenDB is not free</a>. It’s available under the AGPL license but I am not going to release the source of my own stuff so this is not an option. I have some money available and Ayende offers free licenses to startup companies as well so I basically could go for it nevertheless. </li>
<li>RavenDB uses the local filesystem as the underlying storage. Is this possible on Azure? Yes of course. The feature is called Windows Azure Drive. The compute instance gets a simulated local drive which is stored in the Azure Blob Storage. This is somehow great if you want to run some legacy stuff in the cloud but it feels like a huge crook doing this to run a software which is designed with Azure in mind. </li>
</ul>
<p>Think about scaling: RavenDB is able to <a href="http://ravendb.net/documentation/docs-sharding" target="_blank">shard</a> and <a href="http://ravendb.net/documentation/replication" target="_blank">replicate</a> but do you really want to setup another instance of RavenDB and Azure Drive just to scale up?    <br />Scaling down is even worse: You would either need a way to run both Raven-Instances on a single compute instance or you would need to copy the data to free one instance of RavenDB completely. I simply want to change the number of instances in the Azure configuration and it should “just work”.</p>
<p><strong>Solutions?</strong></p>
<p>Is running a database product on top of Azure compute instances a great idea at all? Particularly the last part about scaling leaves the opinion in my head that this is not what I want to deal with.</p>
<p>Should Ayende implement Azure Blob Storage as a supported underlying storage system for RavenDB? Probably not. You would still have the burden to setup and configure RavenDB instances.</p>
<p><strong>My decision</strong></p>
<p>It is a somewhat hard decision because I really like RavenDB but I think I will not use it.</p>
<p><br /><br />---<br />
<a href="https://www.amazon.de/?&tag=fabsenetfabse-21">Unterst&uuml;tze mich und meinen Blog und kauf dir was Nettes (&uuml;ber diesen Link)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabse.net/2011/07/13/ideas-about-nosql-on-windows-azure-ravendb/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mein Senf zu /dev/radio Podcast zu &#8220;Cloud Computing&#8221;</title>
		<link>http://blog.fabse.net/2009/02/23/mein-senf-zu-devradio-podcast-zu-cloud-computing/</link>
		<comments>http://blog.fabse.net/2009/02/23/mein-senf-zu-devradio-podcast-zu-cloud-computing/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 19:39:19 +0000</pubDate>
		<dc:creator>Fabse</dc:creator>
				<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Google AppEngine]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://blog.fabse.net/2009/02/23/mein-senf-zu-devradio-podcast-zu-cloud-computing/</guid>
		<description><![CDATA[Ich mache ja demnächst selbst einen Vortrag zu Cloud Computing und da hab ich mich schon gefreut, als in meinem ITunes unter /Dev/Radio ein Podcast zu diesem Thema erschien. Nun wollte ich den natürlich direkt hören und hab ihn mir &#8230; <a href="http://blog.fabse.net/2009/02/23/mein-senf-zu-devradio-podcast-zu-cloud-computing/">Continue reading <span class="meta-nav">&#8594;</span></a><p><br /><br />---<br />
<a href="https://www.amazon.de/?&tag=fabsenetfabse-21">Unterst&uuml;tze mich und meinen Blog und kauf dir was Nettes (&uuml;ber diesen Link)</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Ich mache ja demnächst selbst einen Vortrag zu Cloud Computing und da hab ich mich schon gefreut, als in meinem ITunes unter /Dev/Radio <a href="http://ulm.ccc.de/dev/radio/detail?id=124" target="_blank">ein Podcast zu diesem Thema</a> erschien. Nun wollte ich den natürlich direkt hören und hab ihn mir auf dem Heimweg und dann auch zu Hause komplett angehört.</p>
<p>Nur verstehen die <a href="http://de.wikipedia.org/wiki/Cloud_Computing" target="_blank">Cloud Computing</a> nicht bzw. ganz anders als ich das tue. Für mich gilt:</p>
<p>Cloud Computing = Amazon <a href="http://aws.amazon.com/ec2/" target="_blank">EC2</a>&amp;<a href="http://aws.amazon.com/s3/" target="_blank">S3</a> + <a href="http://code.google.com/intl/de-DE/appengine/" target="_blank">Google AppEngine</a> + <a href="http://www.microsoft.com/azure/default.mspx" target="_blank">Windows Azure</a>;</p>
<p>Während des kompletten Podcasts (fast 2h!) werden diese 3 Dienste aber nicht einmal erwähnt, was für mich eindeutig als Thema verfehlt gewertet wird! Schade und dabei mag ich /Dev/Radio eigentlich.</p>
<p>Cloud Computing ist doch gerade der Trend, </p>
<ul>
<li>diese ganzen hardwarenahen Geschichten (Security, Load Balancing, Netzwerkkonfiguration, Backups, …) an Dienstleister abzugeben, </li>
<li>nur noch dafür zu zahlen, was mach auch wirklich nutzt und </li>
<li>im Zweifelsfall auch mal mehr Power nehmen kann, als man mit eigenen Servern hätte haben können. (Scale-Out durch zusätzliche Server per Mausklick)</li>
</ul>
<p>Stattdessen gehen die beiden auf Themen wie Peer-to-Peer-Computing (kein Filesharing!), MapReduce und Grid Computing ein. Diese Aspekte sind sicher genauso interessant, sollten aber in der Themenstellung “Cloud Computing” höchstens eine Nebenrolle spielen.</p>
<p><br /><br />---<br />
<a href="https://www.amazon.de/?&tag=fabsenetfabse-21">Unterst&uuml;tze mich und meinen Blog und kauf dir was Nettes (&uuml;ber diesen Link)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabse.net/2009/02/23/mein-senf-zu-devradio-podcast-zu-cloud-computing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Azure: Minuspunkt!</title>
		<link>http://blog.fabse.net/2009/01/16/azure-minuspunkt/</link>
		<comments>http://blog.fabse.net/2009/01/16/azure-minuspunkt/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 15:14:07 +0000</pubDate>
		<dc:creator>Fabse</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://blog.fabse.net/2009/01/16/azure-minuspunkt/</guid>
		<description><![CDATA[Und der Minuspunkt des Tages geht an das Azure SDK bzw. die Azure Tools für Visual Studio wegen unzulässig einschränkender Systemanforderungen: Supported Operating Systems: Windows Server 2008; Windows Vista Service Pack 1 Dummerweise nutzen unsere Arbeits-PCs noch XP und ein &#8230; <a href="http://blog.fabse.net/2009/01/16/azure-minuspunkt/">Continue reading <span class="meta-nav">&#8594;</span></a><p><br /><br />---<br />
<a href="https://www.amazon.de/?&tag=fabsenetfabse-21">Unterst&uuml;tze mich und meinen Blog und kauf dir was Nettes (&uuml;ber diesen Link)</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Und der Minuspunkt des Tages geht an das <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=80e3eabf-0507-4560-aeb6-d31e9a70a0a6&amp;displaylang=en" target="_blank">Azure SDK</a> bzw. die <a href="http://www.microsoft.com/downloads/details.aspx?familyid=8E90B639-1EF0-4E21-BB73-FC22662911BC&amp;displaylang=en" target="_blank">Azure Tools für Visual Studio</a> wegen unzulässig einschränkender Systemanforderungen:</p>
<blockquote><p><b>Supported Operating Systems: </b>Windows Server 2008; Windows Vista Service Pack 1</p>
</blockquote>
<p>Dummerweise nutzen unsere Arbeits-PCs noch XP und ein Image vom 08er Server konnte ich so schnell auch nicht auftreiben.</p>
<p><br /><br />---<br />
<a href="https://www.amazon.de/?&tag=fabsenetfabse-21">Unterst&uuml;tze mich und meinen Blog und kauf dir was Nettes (&uuml;ber diesen Link)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fabse.net/2009/01/16/azure-minuspunkt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

