<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Buck Woody : Career, Cloud, SQL Azure</title><link>http://sqlblog.com/blogs/buck_woody/archive/tags/Career/Cloud/SQL+Azure/default.aspx</link><description>Tags: Career, Cloud, SQL Azure</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>“I could use a little help here” or “I can do it myself, thank you” for Cloud Projects</title><link>http://sqlblog.com/blogs/buck_woody/archive/2012/04/03/i-could-use-a-little-help-here-or-i-can-do-it-myself-thank-you-for-cloud-projects.aspx</link><pubDate>Tue, 03 Apr 2012 13:20:55 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42665</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/42665.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=42665</wfw:commentRss><description>&lt;p&gt;Windows Azure allows you to write code in languages within the .NET stack, you can use Java, C++, PHP, NodeJS and others. Code is code - other than keeping things stateless, using a Web or Worker Role in Azure is not all that different from working with an on-premises system. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;However….&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Working in a scalable, component-based stateless architecture that can use federated security is not all that common for many developers. Some are used to owning the server, scaling up, and state-full paradigms that have a single security domain. Making the transition whilst trying to create a new software application or even port a previous one can be daunting. &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2010/11/16/windows-azure-learning-plan.aspx" target="_blank"&gt;Sure, we have absolutely tons of free training, kits, videos, online books and more to learn on your own&lt;/a&gt;, but some things like architecture can be pivotal as you move along. &lt;/p&gt;  &lt;p&gt;So the question is, should you just strike out on your own for a Cloud project, or get &lt;a href="http://www.microsoft.com/microsoftservices/en/us/journey_to_the_cloud.aspx" target="_blank"&gt;Microsoft Consulting Services&lt;/a&gt; or another partner to work with you on your first one? I use a few decision points to help guide the projects I assist in.&lt;/p&gt;  &lt;p align="center"&gt;&lt;em&gt;&lt;font color="#c0504d"&gt;Note: I’m a huge fan of having help that ends up giving you training and leaves you in charge. If you do engage with someone to help you, make sure you keep this clear and take more and more ownership yourself as the project progresses.&lt;/font&gt;&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How much time do you have?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Usually the first thing I ask is about the timeline for the project. It doesn’t matter how skilled you are, if you have a short window to get things done it’s better to get help - especially if this is your first cloud project. Having someone that knows the platform well can save you amazing amounts of time. If you have longer, then start with the training in the link above and once you feel confident, jump in. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How complex is the project?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;I&lt;/strong&gt;f there are a lot of moving parts, it’s best to engage a partner. The reason is that certain interactions - particularly things like Service Bus or Data Integration&amp;#160; - can be quite different than what you may have encountered before. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How many people do you have?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I have a “pizza rule” about projects I’ve used in my career - if it takes over two pizzas to feed everyone on the project, it’s too big and will fail. &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/8780.wlEmoticon_2D00_smile_5F00_2.png" /&gt; That being said, one developer and a one-week deadline does not a good project make, usually. It’s best to have at least one architect (or someone in that role) guiding the project along, and at least two developers to work on a cloud project. That’s a generalization of course, since I’ve seen great software on Azure with one developer writing code all by herself, but for more complex projects, more (to a point) is better. The nice thing about bringing on a partner is that you don’t have to hire them full time - they help you and then they go away. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How critical is the project?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There’s no shame in using some help. If the platform is new, if the project is large and complex, and if it is critical to the business, you should engage a partner. That’s regardless of Cloud or anything else - get some help. You don’t want to hit your company’s bottom line in a negative way, but you have to innovate and get them a competitive advantage. Do your research, make sure the partner is qualified to help you, and get it done.&lt;/p&gt;  &lt;p&gt;Don’t let these questions scare you off. There are lots of projects you can implement on Windows and SQL Azure with nothing other than the Software Development Kit (SDK) that you get for free with Windows Azure. And assistance comes in many forms - sometimes just phone support, a friend you can ask. Microsoft Consulting Services or any of our great partners. You can get help on just the architecture piece or have them show you how to write the code. They’ll get involved as little or as much as you like. &lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42665" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Career/default.aspx">Career</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Design/default.aspx">Design</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Help/default.aspx">Help</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Planning/default.aspx">Planning</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Tips/default.aspx">Tips</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Big Data and the Cloud - More Hype or a Real Workload?</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/10/18/big-data-and-the-cloud-more-hype-or-a-real-workload.aspx</link><pubDate>Tue, 18 Oct 2011 13:57:36 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:39156</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/39156.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=39156</wfw:commentRss><description>&lt;p&gt;Last week Microsoft announced several new offerings for “Big Data” - and since I’m a stickler for definitions, I wanted to make sure I understood what that really means. What is “Big Data”? What size hard drive is that? After all, my laptop has 1TB of storage - is my laptop “Big Data”?&lt;/p&gt;  &lt;p&gt;There are actually a few definitions for this term, most notably those involving the &lt;a href="http://nosql.mypopescu.com/post/9621746531/a-definition-of-big-data" target="_blank"&gt;“Four V’s” Volume, Velocity, Variety and Variability&lt;/a&gt;. Others &lt;a href="http://nosql.mypopescu.com/post/10120087314/big-data-and-the-4-vs-volume-velocity-variety" target="_blank"&gt;disagree with this&lt;/a&gt; definition. I tend to try and get things into their simplest form, so I’m using this definition for myself:&lt;/p&gt;  &lt;p align="center"&gt;&lt;font color="#c0504d" size="3"&gt;Big data is defined as a &lt;em&gt;large set &lt;/em&gt;of &lt;em&gt;computationally expensive &lt;/em&gt;data that is &lt;em&gt;worked on simultaneously&lt;/em&gt;.&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;Let me flesh that out a&amp;#160; little. To be sure, “Big Data” has a larger size than say a few megabytes. The reason this is important is that it takes special hardware to be able to move large sets of data around, store it, process it and so on. (&lt;font color="#c0504d"&gt;large set&lt;/font&gt;)&lt;/p&gt;  &lt;p&gt;If you store a LOT of data, but only use a small portion of it at a time, that really isn’t super-hard to do. It’s mainly a storage issue at that point. But, if you do need to work with a large portion of the data at one time, then the memory, CPU and transfer components of the system have to adapt to be responsive - new ways to work with that data (game theory, knot-algorithms, map-reduce, etc.) need to be brought into play. (&lt;font color="#c0504d"&gt;computationally expensive&lt;/font&gt;)&lt;/p&gt;  &lt;p&gt;Once that data is loaded into the processing area (memory or whatever other mechanism is used) it must be worked on in parallel to come back in a reasonable time. You have two options here - you can scale the system up with more internal hardware (CPU’s, memory and so on) or you can scale it out to have multiple systems work on it at the same time using paradigms such as map/reduce and so on. Actually, when you lay this out in an architecture diagram, scale up or out doesn’t actually change the logical structure of the process - in scale out the network becomes the bus, and the nodes become more RAM and computing power. Of course, there are changes in code for how you stitch the workload back together. (&lt;font color="#c0504d"&gt;worked on simultaneously&lt;/font&gt;)&lt;/p&gt;  &lt;p&gt;So back to the original question. Is Big Data, as I have defined it here, a workload for Windows and SQL Azure? Absolutely! In fact, it’s probably one of the main workloads, and I believe it represents the latest, and perhaps also the earliest frontier of computing. Jim &lt;a href="http://research.microsoft.com/en-us/um/people/gray/" target="_blank"&gt;Gray, a former researcher here at Microsoft and a hero of mine, was working on this very topic.&lt;/a&gt; I believe as he did - all computing is simply an interface over data. &lt;/p&gt;  &lt;p&gt;Microsoft has multiple offerings on the topic of Big Data. In posts that follow from myself and my co-workers, we’ll explore when and where you use each one. Whether you are a data professional or a developer, this is the new frontier - &lt;a href="http://www.straightpathsql.com/archives/2011/10/microsoft-loves-your-big-data/" target="_blank"&gt;don’t wait to educate yourself&lt;/a&gt; on how to leverage Big Data for your organization. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Hadoop on Windows Azure and SQL Server&amp;#160; &lt;/strong&gt;- Microsoft’s &lt;a href="http://www.hortonworks.com/the-whys-behind-the-microsoft-and-hortonworks-partnership/" target="_blank"&gt;partnership to include Hadoop workloads on Windows Azure&lt;/a&gt; and &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27584" target="_blank"&gt;SQL Server/Parallel Data Warehouse (PDW)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;LINQ to HPC &lt;/strong&gt;- Microsoft’s High-Performance Computing SKU of &lt;a href="http://blogs.technet.com/b/windowshpc/archive/2011/05/20/dryad-becomes-linq-to-hpc.aspx" target="_blank"&gt;HPC is now in Azure&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure Table Storage &lt;/strong&gt;- A &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh508997.aspx" target="_blank"&gt;key/value pair type storage with full partitioning&lt;/a&gt; that is immediately consistent, able to handle huge loads of data and works with any REST-compatible language&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;Other offerings &lt;/strong&gt;- Including the new &lt;a href="http://www.microsoft.com/en-us/sqlazurelabs/default.aspx" target="_blank"&gt;Data Explorer&lt;/a&gt;, &lt;a href="http://research.microsoft.com/en-us/news/headlines/daytona-071811.aspx" target="_blank"&gt;Project Daytona (with a Big Data Toolkit for Scientists and researchers)&lt;/a&gt;, &lt;a href="http://www.microsoft.com/sqlserver/en/us/future-editions/SQL-Server-2012-breakthrough-insight.aspx" target="_blank"&gt;Power View&lt;/a&gt; and more. &lt;/p&gt;  &lt;p&gt;The era of Big Data is here. And you can use Windows and SQL Azure to bring it to your organization. &lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=39156" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure+Use+Cases/default.aspx">Azure Use Cases</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Career/default.aspx">Career</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Concepts/default.aspx">Concepts</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Conferences/default.aspx">Conferences</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Data/default.aspx">Data</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Data+Professional/default.aspx">Data Professional</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/DBA/default.aspx">DBA</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Developer/default.aspx">Developer</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/PASS/default.aspx">PASS</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Policy+Based+Management/default.aspx">Policy Based Management</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SQLServer/default.aspx">SQLServer</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Storage/default.aspx">Storage</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Book Review (Book 1) - Programming Windows Azure by Siriram Krishnan</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/06/28/book-review-programming-windows-azure-by-siriram-krishnan.aspx</link><pubDate>Tue, 28 Jun 2011 17:18:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:36520</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/36520.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=36520</wfw:commentRss><description>&lt;div style="float:none;margin:0px;padding:4px 0px 4px 0px;" class="wlWriterHeaderFooter"&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;As part of my professional development, I&amp;rsquo;ve created a list of books to read throughout the year, starting in June of 2011. This a review of the first one, called &lt;a href="http://www.amazon.com/Programming-Windows-Azure-Microsoft-Cloud/dp/0596801971/ref=sr_1_1?ie=UTF8&amp;amp;qid=1307850128&amp;amp;sr=8-1" target="_blank"&gt;Programming Windows Azure by Siriram Krishnan&lt;/a&gt;. You can find my entire list of books I&amp;rsquo;m reading for my career here: &lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/06/07/head-in-the-clouds-eyes-on-the-books.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/06/07/head-in-the-clouds-eyes-on-the-books.aspx&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:x-small;"&gt;Why I Chose This Book:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;As part of my learning style, I try to read multiple books about a single subject. I&amp;rsquo;ve found that at least 3 books are necessary to get the right amount of information to me. This is a &amp;ldquo;technical&amp;rdquo; work, meaning that it deals with technology and not business, writing or other facets of my career. I&amp;rsquo;ll have a mix of all of those as I read along. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;I chose this work in addition to others I&amp;rsquo;ve read since it covers everything from an introduction to more advanced topics in a single book. It also has some practical examples of actually working with the product, particularly on storage. Although it&amp;rsquo;s dated, many examples normally translate. I also saw that it had pretty good reviews.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;strong&gt;What I learned:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;I learned a great deal about storage, and many useful code snippets. I do think that there could have been more of a focus on the application fabric - but of course that wasn&amp;rsquo;t as mature a feature when this book was written. I learned some great architecture examples, and in one section I learned more about encryption. In that example, however, I would rather have seen the examples go the other way - the book focused on moving data from on-premise to Azure storage in an encrypted fashion. Using the Application Fabric I would rather see sensitive data left in a hybrid fashion on premise, and connect to for the Azure application. Even so, the examples were very useful.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;If you&amp;rsquo;re looking for a good &amp;ldquo;starter&amp;rdquo; Azure book, this is a good choice. I also recommend the last chapter as a quick read for a DBA, or Database Administrator. It&amp;rsquo;s not very long, but useful. Note that the limits described are incorrect - which is one of the dangers of reading a book about any cloud offering. The services offered are updated so quickly that the information is in constant danger of being &amp;ldquo;stale&amp;rdquo;. Even so, I found this a useful book, which I believe will help me work with Azure better. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;strong&gt;Raw Notes:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;I take notes as I read, calling that process &amp;ldquo;reading with a pencil&amp;rdquo;. I find that when I do that I pay attention better, and record some things that I need to know later. I&amp;rsquo;ll take these notes, categorize them into a OneNote notebook that I synchronize in my Live.com account, and that way I can search them from anywhere. I can even read them on the web, since the Live.com has a OneNote program built in. Note that these are the raw notes, so they might not make a lot of sense out of context - I include them here so you can watch my though process.&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#e36c0a;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1;tab-stops:list .5in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;a href="http://www.amazon.com/Programming-Windows-Azure-Microsoft-Cloud/dp/0596801971/ref=sr_1_1?ie=UTF8&amp;amp;qid=1307850128&amp;amp;sr=8-1" target="_blank"&gt;&lt;span style="color:#e36c0a;mso-bidi-font-family:arial;"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="font-family:Arial;font-size:x-small;"&gt;Programming Windows Azure by Siriram Krishnan&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;: Learning about how to select applications suitable for Distributed Technology. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ol&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Application Fabric gets the least attention; probably because it was newer at the time. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Very clear (Chapter One) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Good foundation &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Background and history, but not too much &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;I normally arrange my descriptions differently, starting with the use-cases and moving to physicality, but this difference helps me. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Interesting that I am reading this using Safari Books Online, which uses many of these concepts. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;Taught me some new aspects of a Hypervisor &lt;/span&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:'Courier New';mso-ansi-language:en;"&gt;&amp;ndash;&lt;/span&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt; very low-level information about the Azure Fabric (not to be confused with the Application Fabric feature) (Chapter Two) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Good detail of what is included in the SDK. Even more is available now. CS = Cloud Service (Chapter 3) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Place Storage info in the configuration file, since it can be streamed in-line with a running app. Ditto for logging, and keep separated configs for staging and testing. Easy-switch in and switch out.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;(Chapter 4) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;There are two Runtime API&amp;rsquo;s, one of external and one for internal. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Realizing how powerful this paradigm really is. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Some places seem light, and to drop off but perhaps that&amp;rsquo;s best. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Managing API is not charged, which is nice. I don&amp;rsquo;t often think about the price, until it comes to an actual deployment (Chapter 5) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Csmanage is something I want to dig into deeper. API requires package moves to Blob storage first, so it needs a URL. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Csmanage equivalent can be written in Unix scripting using openssl. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Upgrades are possible, and you use the upgradeDomainCount attribute in the Service-Definition.csdef file &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;Always use a low-privileged account to test on the dev fabric, since Windows Azure runs in partial trust. Full trust is available, but can be dangerous and must be well-thought out. (Chapter 6) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;Learned how to run full CMD commands in a web window &lt;/span&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:'Courier New';mso-ansi-language:en;"&gt;&amp;ndash;&lt;/span&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt; not that you would ever do that, but it was an interesting view into those links. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;This leads to a discussion on hosting other runtimes (such as Java or PHP) in Windows Azure. I got an expanded view on this process, although this is where the book shows its age a little. Books can be a problem for Cloud Computing for this reason &lt;/span&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:'Courier New';mso-ansi-language:en;"&gt;&amp;ndash;&lt;/span&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt; things just change too quickly. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;Windows Azure storage is not eventually consistent &lt;/span&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:'Courier New';mso-ansi-language:en;"&gt;&amp;ndash;&lt;/span&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt; it is instantly consistent with multi-phase commit. Plumbing for this is internal, not required to code that. (Chapter 7) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;REST API makes the service interoperable, hybrid, and consistent across code architectures. Nicely done. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Use affinity groups to keep data and code together. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Side note: e-book readers need a common &amp;ldquo;notes&amp;rdquo; feature. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;There&amp;rsquo;s a decent quick description of REST in this chapter. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;Learned about CloudDrive code &lt;/span&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:'Courier New';mso-ansi-language:en;"&gt;&amp;ndash;&lt;/span&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt; PowerShell sample that mounts Blob storage as a local provider. Works against Dev fabric by default, can be switched to Account. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Good treatment in the storage chapters on the differences between using Dev storage and Azure storage. These can be mitigated. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;No, blobs are not of any size or number. Not a good statement (Chapter 8) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Blob storage is probably Azure&amp;rsquo;s closest play to Infrastructure as a Service (Iaas). &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Blob change operations must be authenticated, even when public. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Chapters on storage are pretty in-depth. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Queue Messages are base-64 encoded (Chapter 9) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;The visibility timeout ensures processing of message in a disconnected system. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Order is not guaranteed for a message, so if you need that set an increasing number in the queue mechanism. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;While Queues are accessible via REST, they are not public and are secured by default. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Interesting &amp;ndash; the header for a queue request includes an estimated count. This can be useful to create more worker roles in a dynamic system. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Each Entity (row) in the Azure Table service is atomic &amp;ndash; all or nothing. (Chapter 10) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;An entity can have up to 255 Properties &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;Use &amp;ldquo;ID&amp;rdquo; for the class to indicate the key value, or use the [DataServiceKey] Attribute. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;LINQ makes working with the Azure Table Service much easier, although Interop is certainly possible. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Good description on the process of selecting the Partition and Row Key. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;When checking for continuation tokens for pagination, include logic that falls out of the check in case you are at the last page. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;On deleting a storage object, it is instantly unavailable, however a background process is dispatched to perform the physical deletion. So if you want to re-create a storage object with the same name, add retry logic into the code. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Interesting approach to deleting an index entity without having to read it first &amp;ndash; create a local entity with the same keys and apply it to the Azure system regardless of change-state. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;Although the &amp;ldquo;Indexes&amp;rdquo; description is a little vague, it&amp;rsquo;s interesting to see a Folding and Stemming discussion a-la the Porter Stemming Algorithm. (Chapter 11) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;Presents a better discussion of indexes (at least inverted indexes) later in the chapter. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Great treatment for DBA&amp;rsquo;s in Chapter 11. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;We need to work on getting secondary indexes in Table storage. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;There is a limited form of transactions called &amp;ldquo;Entity Group Transactions&amp;rdquo; that, although they have conditions, makes a transactional system more possible. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Concurrency also becomes an issue, but is handled well if you&amp;rsquo;re using Data Services in .NET. It watches the Etag and allows you to take action appropriately. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;I do not recommend using Azure as a location for secure backups. In fact, I would rather have seen the examples in (Chapter 12) go the other way, showing how data could be brought back to a local store as a DR or HA strategy. Good information on cryptography and so on even so. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;Chapter seems out of place, and should be combined with the Blob chapter. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;(Chapter 13) on SQL Azure is dated, although the base concepts are OK. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="line-height:13.5pt;margin:0in 0in 0pt;background:white;color:#00b050;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo1;tab-stops:list 1.0in;" class="MsoNormal"&gt;&lt;span style="font-family:'Bookman Old Style','serif';mso-bidi-font-family:arial;mso-ansi-language:en;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;Nice example of simple ADO.NET access to a SQL Azure (or any SQL Server Really) database. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=36520" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Book+Review/default.aspx">Book Review</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Career/default.aspx">Career</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Computer books are dead. Well, some of them, anyway.</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/05/10/computer-books-are-dead-well-some-of-them-anyway.aspx</link><pubDate>Tue, 10 May 2011 13:58:23 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:35551</guid><dc:creator>BuckWoody</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/35551.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=35551</wfw:commentRss><description>&lt;p&gt;I read a lot. I mean a LOT. It seems that computer professionals have much in common with medical professionals – we have to read in order to stay on top of our game. For me, this used to mean web sites, magazines, and other print medium, and of course lots of books. I’ve even &lt;a href="http://buckwoody.com/BResume.html#Publications_and_Communications" target="_blank"&gt;written several computer books myself and had them published&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Whenever I teach a class, do a presentation, or hold an architectural design session on a new (or new to that person) technology, they usually follow up with “what’s a good book for learning X technology?” This happens so often that I have a list I keep of the titles I like for a particular subject – &lt;a href="http://www.facebook.com/apps/application.php?id=2397701323&amp;amp;ref=appd" target="_blank"&gt;you probably have similar book lists&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Windows, SQL Server, and other Microsoft products change on an average of around three or four year cycles. That’s enough time to play with a beta product, wait until it releases, and write a solid book about it, and have that in a decent market for sales, and allow people to read and recommend it. &lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="3"&gt;Enter “the Cloud” – Distributed Computing.&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;Windows Azure and SQL Azure don’t release every three years. Changes – some of them dramatic – release &lt;em&gt;every three or four months&lt;/em&gt;. You can’t even write a book that fast, much less update it that quickly and re-sell it. So what is a technical professional to do?&lt;/p&gt;  &lt;p&gt;Well, although I really like a couple of books I’ve read so far (especially this one, &lt;a href="http://oreilly.com/catalog/0790145308795/" target="_blank"&gt;print and e-book version here&lt;/a&gt;), they are out of date almost by the time they publish. Instead, I rely on blogs, the web, documentation from the vendor and how-to articles published online. Many of these, ironically, are stored, hosted or delivered using – wait for it – Windows Azure. That’s interesting because it’s a medium that describes itself – “reflection”, anyone? &lt;/p&gt;  &lt;p&gt;This brings up an interesting conundrum. Books have a version, are arranged, thought-out and categorized. Since I’m now getting information off of the web, it’s difficult to figure out whether that material is correct at the time, what level it’s aimed at – and forget about any coherent structure. It’s topic-by-topic. &lt;/p&gt;  &lt;p&gt;So, like most of you, I use links and favorites to arrange things. And I found myself making “virtual books” by essentially creating my own Table-Of-Contents. I’ve shared some of those, &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2010/11/16/windows-azure-learning-plan.aspx" target="_blank"&gt;such as my Windows and SQL Azure Learning Plan&lt;/a&gt;. The key is that I have to update that to ensure that the latest information is there – otherwise it becomes an organized list that is not authoritative.&lt;/p&gt;  &lt;p&gt;Don’t get me wrong – I still have tons of&amp;#160; (e-book format) books, especially on “conceptual” topics like development paradigms and so on. But when it comes to specifics and how-to’s – electronic medium is best for me. It’s more current, adaptable, searchable, interactive and immersive than books. But how long will I retain regular print-type books? We’ll see. Times, they are a changing – fast.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=35551" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Book+Review/default.aspx">Book Review</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Career/default.aspx">Career</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Concepts/default.aspx">Concepts</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Personal/default.aspx">Personal</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Planning/default.aspx">Planning</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Process/default.aspx">Process</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Rant/default.aspx">Rant</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Tutorials/default.aspx">Tutorials</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Web/default.aspx">Web</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item></channel></rss>