<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Carpe Datum</title><subtitle type="html">Computing Flotsam and Jetsam</subtitle><id>http://blogs.msdn.com/b/buckwoody/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/buckwoody/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2011-12-30T06:11:17Z</updated><entry><title>Windows Azure End to End Examples</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/05/29/windows-azure-end-to-end-examples.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/05/29/windows-azure-end-to-end-examples.aspx</id><published>2012-05-29T14:45:59Z</published><updated>2012-05-29T14:45:59Z</updated><content type="html">&lt;p&gt;I’m fascinated by the way people learn. I’m told there are several methods people use to understand new information, from reading to watching, from experiencing to exploring. &lt;/p&gt;  &lt;p&gt;Personally, I use multiple methods of learning when I encounter a new topic, usually starting with reading a bit about the concepts. I quickly want to put those into practice, however, especially in the technical realm. I immediately look for examples where I can start trying out the concepts. But I often want a “real” example – not just something that represents the concept, but something that is real-world, showing some feature I could actually use. &lt;/p&gt;  &lt;p&gt;And it’s no different with the Windows Azure platform – I like finding things I can do now, and actually use. So when I started learning Windows Azure, &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=8396" target="_blank"&gt;I of course began with the Windows Azure Training Kit&lt;/a&gt; – which has lots of examples and labs, presentations and so on. But from there, I wanted more examples I could learn from, and eventually teach others with. I was asked if I would write a few of those up, so here are the ones I use. &lt;/p&gt;  &lt;h2&gt;CodePlex&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/" target="_blank"&gt;CodePlex is Microsoft’s version of an “Open Source” repository&lt;/a&gt;. Anyone can start a project, add code, documentation and more to it and make it available to the world, free of charge, using various licenses as they wish. Microsoft also uses this location for most of the examples we publish, and sample databases for SQL Server. &lt;/p&gt;  &lt;p&gt;If you search in CodePlex for “Azure”, you’ll come back with a list of projects that folks have posted, including those of us at Microsoft. The source code and documentation are there, so you can learn using actual examples of code that will do what you need. There’s everything from a simple table query to &lt;a href="http://blobshare.codeplex.com/" target="_blank"&gt;a full project that is sort of a “Corporate Dropbox” that uses Windows Azure Storage&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The advantage is that this code is immediately usable. It’s searchable, and you can often find a complete solution to meet your needs. The disadvantage is that the code is pretty specific – it may not cover a huge project like you’re looking for. Also, depending on the author(s), you might not find the documentation level you want. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Link: &lt;a href="http://azureexamples.codeplex.com/site/search?query=Azure&amp;amp;ac=8"&gt;http://azureexamples.codeplex.com/site/search?query=Azure&amp;amp;ac=8&lt;/a&gt;&amp;#160;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Tailspin&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/practices/default" target="_blank"&gt;Microsoft Patterns and Practices&lt;/a&gt; is a group here that does an amazing job at sharing standard ways of doing IT – from operations to coding. If you’re not familiar with this resource, make sure you read up on it. Long before I joined Microsoft I used their work in my daily job – saved a ton of time. It has resources not only for Windows Azure but other Microsoft software as well. &lt;/p&gt;  &lt;p&gt;The Patterns and Practices group also publishes full books – you can buy these, but many are also online for free. There’s an end-to-end example for Windows Azure using a company called “Tailspin”, and the work covers not only the code but the design of the full solution. If you really want to understand the thought that goes into a Platform-as-a-Service solution, this is an excellent resource. &lt;/p&gt;  &lt;p&gt;The advantages are that this is a book, it’s complete, and it includes a discussion of design decisions. The disadvantage is that it’s a little over a year old – and in “Cloud” years that’s a lot. So many things have changed, improved, and have been added that you need to treat this as a resource, but not the only one. Still, highly recommended. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Link: &lt;a href="http://msdn.microsoft.com/en-us/library/ff728592.aspx"&gt;http://msdn.microsoft.com/en-us/library/ff728592.aspx&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;Azure Stock Trader&lt;/h2&gt;  &lt;p&gt;Sometimes you need a mix of a CodePlex-style application, and a little more detail on how it was put together. And it would be great if you could actually play with the completed application, to see how it really functions on the actual platform.&lt;/p&gt;  &lt;p&gt;That’s the Azure Stock Trader application. There’s a place where you can read about the application, and then it’s been published to Windows Azure – the production platform – and you can use it, explore, and see how it performs. &lt;/p&gt;  &lt;p&gt;I use this application all the time to demonstrate Windows Azure, or a particular part of Windows Azure.&lt;/p&gt;  &lt;p&gt;The advantage is that this is an end-to-end application, and online as well. The disadvantage is that it takes a bit of self-learning to work through.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Links: Learn it: &lt;a href="http://msdn.microsoft.com/en-us/netframework/bb499684"&gt;http://msdn.microsoft.com/en-us/netframework/bb499684&lt;/a&gt; Use it: &lt;a href="https://azurestocktrader.cloudapp.net/"&gt;https://azurestocktrader.cloudapp.net/&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10311331" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Downloads" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Downloads/" /><category term="Tutorials" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Tutorials/" /><category term="Walkthroughs" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Walkthroughs/" /><category term="MSDN" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/MSDN/" /><category term="Technet" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Technet/" /><category term="Documentation" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Documentation/" /><category term="Web" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Web/" /><category term="Developer" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Developer/" /><category term="Development" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Development/" /><category term="Design" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Design/" /><category term="Links" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Links/" /><category term="Planning" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Planning/" /><category term="Tips" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Tips/" /><category term="Link Lists" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Link+Lists/" /><category term="SQL Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/SQL+Azure/" /><category term="Learning" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Learning/" /><category term="How I work" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/How+I+work/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /><category term="Concepts" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Concepts/" /><category term="Presentations" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Presentations/" /></entry><entry><title>Windows Azure Myths</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/05/22/windows-azure-myths.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/05/22/windows-azure-myths.aspx</id><published>2012-05-22T14:56:00Z</published><updated>2012-05-22T14:56:00Z</updated><content type="html">&lt;p&gt;Windows Azure is part of the Microsoft "stack" - the suite of software and services we offer. Because we have so many products in almost every part of technology, it's hard to know everything about all parts of what we do - even for those of us who work here. So it's no surprise that some folks are not as familiar with Windows and SQL Azure as they are, say Windows Server or XBox.&lt;/p&gt;
&lt;p&gt;As I chat with folks about a solution for a business or organization need, I put Windows Azure into the mix. I always start off with "What do you already know about Windows Azure?" so that I don't bore folks with information they already have. I some cases they've checked out the product ahead of time and have specific questions, in others they aren't as familiar, and in still others there is a fair amount of mis-information. Sometimes that's because of a marketing failure, sometimes it's hearsay, and somtetimes it's active misinformation.&lt;/p&gt;
&lt;p&gt;I thought I might lay out a few of these misconceptions. As always - do your fact-checking! Never take anyone's word alone (including mine) as gospel. Make sure you educate yourself on your options. Your company or your clients depend on you to have the right information on IT, so make sure you live up to that.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Myth 1: Nobody uses Windows Azure&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;It's true that we don't give out numbers on the amount of clients on Windows and SQL Azure. But lots of folks are here - companies you may have heard of like Boeing, NASA, Fujitsu, The City of London, Nuedesic, and many others. I deal with firms small and large that use Windows Azure for mission-critical applications, sometimes totally on Windows and/or SQL Azure, sometimes in conjunction with an on-premises system, sometimes for only a specific component in Windows Azure like storage.&lt;/p&gt;
&lt;p&gt;The interesting thing is that many sites you visit have a Windows Azure component, or are running on Windows Azure. They just don't announce it. Just like the other cloud providers, the companies have asked to be completely branded themselves - they don't want you to be aware or care that they are on Windows Azure. Sometimes that's for security, other times it's for different reasons. It's just like the web sites you visit. For the most part, they don't advertise which OS or Web Server they use. It really just shouldn't matter. The point is that they just use what works to solve a given problem.&lt;/p&gt;
&lt;p&gt;Check out a few public case studies here: &lt;a href="https://www.windowsazure.com/en-us/home/case-studies/"&gt;https://www.windowsazure.com/en-us/home/case-studies/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Myth 2: It's only for Microsoft stuff - can't use Open Source&lt;/h2&gt;
&lt;p&gt;This is the one I face the most, and am the most dismayed by. We work just fine with many open source products, including Java, NodeJS, PHP, Ruby, Python, Hadoop, and many other languages and applications. You can quickly deploy a Wordpress, Umbraco and other "kits". We have software development kits (SDK's) for iPhones, iPads, Android, Windows phones and more. We have an SDK to work with FaceBook and other social networks.&lt;/p&gt;
&lt;p&gt;In short, we play well with others.&lt;/p&gt;
&lt;p&gt;More on the languages and runtimes we support here: &lt;a href="https://www.windowsazure.com/en-us/develop/overview/"&gt;https://www.windowsazure.com/en-us/develop/overview/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;More on the SDK's here: &lt;a href="http://www.wadewegner.com/2011/05/windows-azure-toolkit-for-ios/,"&gt;http://www.wadewegner.com/2011/05/windows-azure-toolkit-for-ios/,&lt;/a&gt; &lt;a href="http://www.wadewegner.com/2011/08/windows-azure-toolkits-for-devices-now-with-android/,"&gt;http://www.wadewegner.com/2011/08/windows-azure-toolkits-for-devices-now-with-android/,&lt;/a&gt; &lt;a href="http://azuretoolkit.codeplex.com/"&gt;http://azuretoolkit.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Myth 3: Microsoft expects me to switch everything to "the cloud"&lt;/h2&gt;
&lt;p&gt;No, we don't. That would be disasterous, unless the only things you run in your company uses works perfectly in Azure. Use Windows Azure&amp;nbsp; - or any cloud for that matter - where it works.&lt;/p&gt;
&lt;p&gt;Whenever I talk to companies, I focus on two things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Something that is broken and needs to be re-architected&lt;/li&gt;
&lt;li&gt;Something you want to do that is new&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If something is broken, and you need new tools to scale, extend, add capacity dynamically and so on, then you can consider using Windows or SQL Azure. It can help solve problems that you have, or it may include a component you don't want to write or architect yourself.&lt;/p&gt;
&lt;p&gt;Sometimes you want to do something new, like extend your company's offerings to mobile phones, to the web, or to a social network.&lt;/p&gt;
&lt;p&gt;More info on where it works here: &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Myth 4: I have to write code to use Windows and SQL Azure&lt;/h2&gt;
&lt;p&gt;If Windows Azure is a PaaS - a Platform as a Service - then don't you have to write code to use it?&lt;/p&gt;
&lt;p&gt;Nope.&lt;/p&gt;
&lt;p&gt;Windows and SQL Azure are made up of various components. Some of those components allow you to write and deploy code (like Compute) and others don't. We have lots of customers using Windows Azure storage as a backup, to securely share files instead of using DropBox, to distribute videos or code or firmware, and more. Others use our High Performance Computing (HPC) offering to rent a supercomputer when they need one. You&amp;nbsp;can even throw workloads at that using Excel!&lt;/p&gt;
&lt;p&gt;In addition there are lots of other components in Windows Azure you can use, from the Windows Azure Media Services to others. More here: &lt;a href="https://www.windowsazure.com/en-us/home/scenarios/saas/"&gt;https://www.windowsazure.com/en-us/home/scenarios/saas/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Myth 5: Windows Azure is just another form of "vendor lock-in"&lt;/h2&gt;
&lt;p&gt;Windows Azure uses .NET, OSS languages and standard interfaces for the code. Sure, you're not going to take the code line-for-line and run it on a mainframe, but it's standard code that you write, and can port to something else.&lt;/p&gt;
&lt;p&gt;And the data is yours - you can bring it back whever you want. It's either in text or binary form, that you have complete control over.&lt;/p&gt;
&lt;p&gt;There are no licenses - you can "pay as you go", and when you're done, you can leave the service and take all your code, data and IP with you.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So go out there, read up, try it. Use it where it works. And don't believe everything you hear - sometimes the Internet doesn't get it all correct. :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10308930" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /></entry><entry><title>Book Review (Book 11) - Applied Architecture Patterns on the Microsoft Platform</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/05/15/book-review-book-11-applied-architecture-patterns-on-the-microsoft-platform.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/05/15/book-review-book-11-applied-architecture-patterns-on-the-microsoft-platform.aspx</id><published>2012-05-15T17:50:34Z</published><updated>2012-05-15T17:50:34Z</updated><content type="html">&lt;p&gt;This is a continuation of the books I challenged myself to read to help my career - one a month, for year. &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/06/28/book-review-programming-windows-azure-by-siriram-krishnan.aspx"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="color: #0066cc;" color="#0066cc"&gt;You can read my first book review here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;, and &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/06/07/head-in-the-clouds-eyes-on-the-books.aspx" target="_blank"&gt;the entire list is here&lt;/a&gt;. The book I chose for April 2012 was: &lt;a href="http://www.amazon.com/Applied-Architecture-Patterns-Microsoft-Platform/dp/184968054X" target="_blank"&gt;Applied Architecture Patterns on the Microsoft Platform&lt;/a&gt;. I was traveling at the end of last month so I&amp;rsquo;m a bit late posting this review here.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why I chose this book: &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I actually know a few of the authors on this book, so when they told me about it I wanted to check it out. The premise of the book is exactly as it states in the title - to learn how to solve a problem using products from Microsoft.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What I learned:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I liked the book - a lot. They've arranged the content in a "Solution Decision Framework", that presents a few elements to help you identify a need and then propose alternate solutions to solve them, and then the rationale for the choice. But the payoff is that the authors then walk through the solution they implement and what they ran into doing it.&lt;/p&gt;
&lt;p&gt;I really liked this approach. It's not a huge book, but one I've referred to again since I've read it. It's fairly comprehensive, and includes server-oriented products, not things like Microsoft Office or other client-side tools. In fact, I would LOVE to have a work like this for Open Source and other vendors as well - would make for a&amp;nbsp;great library for a Systems Architect. This one is unashamedly aimed at the Microsoft products, and even if I didn't work here, I'd be fine with that. As I said, it would be interesting to see some books on other platforms like this, but I haven't run across something that presents other systems in quite this way.&lt;/p&gt;
&lt;p&gt;And that brings up an interesting point - This book is aimed at folks who create solutions within an organization. It's not aimed at Administrators, DBA's, Developers or the like, although I think all of those audiences could benefit from reading it. The solutions are made up, and not to a huge level of depth - nor should they be. It's a great exercise in thinking these kinds of things through in a structured way.&lt;/p&gt;
&lt;p&gt;The information is a bit dated, especially for Windows and SQL Azure. While the general concepts hold, the cloud platform from Microsoft is evolving so quickly that any printed book finds it hard to keep up with the improvements.&lt;/p&gt;
&lt;p&gt;I do have one quibble with the text - the chapters are a bit uneven. This is always a danger with multiple authors, but it shows up in a couple of chapters. I winced at one of the chapters that tried to take a more conversational, humorous style. This kind of academic work doesn't lend itself to that style.&lt;/p&gt;
&lt;p&gt;I recommend you get the book - and use it. I hope they keep it updated - I'll be a frequent customer. :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10305486" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Career" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Career/" /><category term="Design" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Design/" /><category term="Tips" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Tips/" /><category term="Book Review" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Book+Review/" /><category term="Best Practices" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Best+Practices/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /><category term="Application Architecture" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Application+Architecture/" /><category term="Concepts" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Concepts/" /></entry><entry><title>BlobShare: Corporate Filesharing with Security and Control</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/05/08/blobshare-corporate-filesharing-with-security-and-control.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/05/08/blobshare-corporate-filesharing-with-security-and-control.aspx</id><published>2012-05-08T13:49:21Z</published><updated>2012-05-08T13:49:21Z</updated><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:none; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://blogs.msdn.com/b/buckwoody/archive/2012/05/08/blobshare-corporate-filesharing-with-security-and-control.aspx" scrolling="no" frameborder="0" style="border:none; width:450px; height:80px"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p&gt;We’ve all done it. We have a file we need to transfer to someone&amp;#160; - but it’s big. Really big. “Big”, in this case, is defined as “bigger than my corporate e-mail will let me send.” So of course we scout around, and find a free file share location. We plop it in, and send a link to the other person. Problem solved!&lt;/p&gt;  &lt;p&gt;No, problem created. You see, many of these file-sharing sites have some…interesting…language in their terms. Sure, for a picture of aunt Sally riding that llama on the vacation, who cares if someone else steals it and puts it on an advertisement for a &lt;a href="http://en.wikipedia.org/wiki/Elbonia#Elbonia" target="_blank"&gt;shipping company from Elbonia&lt;/a&gt;? But most of these offerings were not designed for a corporation with private or secure information - sometimes your private or secure information. &lt;/p&gt;  &lt;p&gt;So what’s a company to do? You have to let people send files - they are just going to work around IT if you don’t - but you need a way to keep it secure, and maintain a chain of custody in some cases. There is a solution.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blobshare.codeplex.com/" target="_blank"&gt;There’s a free Codeplex project called “BlobShare” that we have for you here&lt;/a&gt;. You pull it down, follow the instructions, and deploy it to Windows and SQL Azure. From there, you have a clean, safe, secure, controlled interface to let your folks share files. &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-26-94-metablogapi/7870.image_5F00_3558ACBA.png" /&gt;&lt;/p&gt;  &lt;p&gt;There’s a full post on the inner-workings and the design of this code - and it’s just code. You can change it, use your own logo, restrict it further, loosen it up, whatever you like. That’s the point of Platform as a Service - control and ease. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/vbertocci/archive/2011/10/31/blobshare-sample-acs-protected-file-sharing.aspx"&gt;http://blogs.msdn.com/b/vbertocci/archive/2011/10/31/blobshare-sample-acs-protected-file-sharing.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10302227" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Web" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Web/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /><category term="Azure Use Cases" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure+Use+Cases/" /></entry><entry><title>Preparation is key to a successful cloud deployment</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/05/01/preparation-is-key-to-a-successful-cloud-deployment.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/05/01/preparation-is-key-to-a-successful-cloud-deployment.aspx</id><published>2012-05-01T14:09:16Z</published><updated>2012-05-01T14:09:16Z</updated><content type="html">&lt;p&gt;If you want to be wise, watch the actions and outcomes of others. Emulate the successful actions, and avoid the actions that cause failure. That’s true in life in general - and in technology projects in specific.&amp;#160; &lt;/p&gt;  &lt;p&gt;I’ve worked with several clients who have created or migrated an application to “the cloud” - meaning using Microsoft Windows Azure or another provider. Although the statement in the title of this post is trite, I cannot over-emphasize how accurate it is. In every case of those who had a great experience with a distributed computing environment (which is thankfully the vast majority of my projects), &lt;/p&gt;  &lt;p&gt;What kind of preparation do you need to do? Here are some tips I’ve learned in the successful (and not-so-successful) deployments I’ve seen: &lt;/p&gt;  &lt;h3&gt;Follow standard recommendations for successful projects in general &lt;/h3&gt;  &lt;p&gt;You and your organization have probably done a few projects before - this one should have the same general attributes: a well-defined goal, a small, motivated team, a realistic timeline, and an adequate budget. I know, I know, you *never* seem to get those things - but if you don’t, you’ll fail. Simple as that. &lt;/p&gt;  &lt;h3&gt;Educate yourself&lt;/h3&gt;  &lt;p&gt;Computing technology started out on a single set of hardware for a single purpose - and realizing the limits of the hardware at hand, systems designers quickly realized that scale-out and virtualization was key. No, that’s not new - mainframes almost always worked on the concept of scale-out and virtual machines. But we switched in the 1980’s to single-user systems again, and we’ve been there ever since. By that I mean you install an OS on the things you work on. Now we move back to distributed system concepts, and there are some real differences. You’ll need to learn how those work, and do things a new way. Hey, we’re IT - we LOVE learning new things, right? &lt;/p&gt;  &lt;h3&gt;Get a partner if needed&lt;/h3&gt;  &lt;p&gt;There are a few of us white-haired Gandalf’s around that remember how to work in a distributed system, but if it’s new to you, that’s completely OK. You can save yourself a world of trouble by working with someone who’s done this before - a partner you hire, someone from Microsoft Consulting, whatever. &lt;/p&gt;  &lt;p&gt;And don’t forget support - who will handle each issue, what is the escalation model, who are your contacts at Microsoft, and what is your “light’s out” strategy?&lt;/p&gt;  &lt;p&gt;“A new broom sweeps clean”, the old adage goes, but the old brooms know where the dirt is. &lt;/p&gt;  &lt;h3&gt;Build a model&lt;/h3&gt;  &lt;p&gt;Take some time to do a Proof of Concept on your local system and using your Azure hours from your MSDN account if you have one. Going through this build - and being willing to throw it away and try it a different way - is invaluable. &lt;/p&gt;  &lt;h3&gt;Test your theories&lt;/h3&gt;  &lt;p&gt;Three statisticians are walking in a field. They see a rabbit - the first guy raises his gun, firing far in front of the rabbit. The second guy simultaneously raises his gun and fires far behind the rabbit. The third guy yells “We got him!”&lt;/p&gt;  &lt;p&gt;Not every theory is correct - not every attempt is the right one. Build in your success tests while you’re building your model. Then check them - don’t leave this step out. &lt;/p&gt;  &lt;h3&gt;Rinse, lather, repeat&lt;/h3&gt;  &lt;p&gt;This is advice from a shampoo bottle - which I’ve never used (I don’t really have that much hair - especially now). But in a “Cloud” project, it’s important. It’s an evolving system, that gains new improvements at an amazing rate. As soon as you deploy and stabilize you need to start the process over again. If you created your system in a Services model, with contracts for the APIs and abstracted code, this is far easier. &lt;/p&gt;  &lt;p&gt;It’s not hard to do a cloud project right. But it’s really simple to do it wrong. Follow these guidelines and you’ll learn from the successes - and mistakes - of others. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10299499" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Process" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Process/" /><category term="Development" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Development/" /><category term="Design" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Design/" /><category term="Customer Contact" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Customer+Contact/" /><category term="Planning" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Planning/" /><category term="Tips" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Tips/" /><category term="SOA" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/SOA/" /><category term="Best Practices" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Best+Practices/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /><category term="Concepts" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Concepts/" /></entry><entry><title>How I work: Standing Desk Update</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/04/24/how-i-work-standing-desk-update.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/04/24/how-i-work-standing-desk-update.aspx</id><published>2012-04-24T14:30:43Z</published><updated>2012-04-24T14:30:43Z</updated><content type="html">&lt;p align="center"&gt;&lt;em&gt;&lt;font color="#c0504d"&gt;&amp;lt;This is a non-technical post, at least mostly&amp;gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Back in January &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2012/01/09/stand-up-cloud-computing.aspx" target="_blank"&gt;I wrote a post on switching to a stand-up desk arrangement&lt;/a&gt;. Since then folks have asked me if I stuck with it, how it worked out, and will I go back to sitting down to work. I thought I would post a few thoughts here on what I’ve done and what I’ve learned. &lt;/p&gt;  &lt;p&gt;I’m still at the stand-up desk - but not working it quite the same way. &lt;/p&gt;  &lt;p&gt;You can see the setup I created in that link above. I didn’t spend a lot of money, and I didn’t have to do that much re-arranging to make it work. The first day was fine - no problems at all. The second day…not so much. My feet and my back hurt. That continued for the first week after I started….&lt;/p&gt;  &lt;p&gt;But then things got better. It wasn’t so bad. In fact, I went to a couple of meetings, and I found sitting down for a long time was uncomfortable. But the standing thing wasn’t perfect, so I added a pad to stand on as I mentioned in the post. That made a world of difference. But it still wasn’t perfect, so….&lt;/p&gt;  &lt;p&gt;I added a barstool. I had a wooden one first, but just didn’t use it because it didn’t adjust correctly and it wasn’t very comfortable. &lt;a href="http://www.target.com/p/Marni-Barstool-Charcoal/-/A-12257919" target="_blank"&gt;So I bought this one&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/6646.P1030845.jpg"&gt;&lt;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="P1030845" border="0" alt="P1030845" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/3426.P1030845_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And that’s been WAY better. Now, every hour or so, I sit down. If I get tired, I sit down. If I can’t move around because I’m trapped on a phone call, I sit down. It’s never for more than a few minutes or so, but I do take those breaks. &lt;/p&gt;  &lt;p&gt;With one more exception - some days I’m physically tired, &lt;a href="http://buckwoody.wordpress.com/" target="_blank"&gt;like when I’ve hiked on the weekends or something like that&lt;/a&gt;. In that case, I take more breaks. I bought some Ethernet-over-power adaptors to run my network out to the yard, and I sit out on the porch swing and work for a while. I need the connected wire since I use VoIP and need a fast connection.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0218.P1030849.jpg"&gt;&lt;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="P1030849" border="0" alt="P1030849" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/7230.P1030849_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/3426.P1030851.jpg"&gt;&lt;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="P1030851" border="0" alt="P1030851" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/5657.P1030851_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’ve also moved my office around a bit, and have a &lt;a href="http://windows.microsoft.com/en-US/windows/products/windows-media-center" target="_blank"&gt;Windows Media PC&lt;/a&gt; (that &lt;a href="http://office.microsoft.com/en-us/onenote/" target="_blank"&gt;and OneNote&lt;/a&gt; are Microsoft’s best-kept secrets) so I can watch &lt;a href="http://www.ted.com/" target="_blank"&gt;Ted Talks&lt;/a&gt;, listen to&amp;#160; &lt;a href="http://www.windowsmedia.com/radioui/home.aspx" target="_blank"&gt;Windows Media Player Internet Radio&lt;/a&gt;, watch the &lt;a href="http://www.uwtv.org/" target="_blank"&gt;University of Washington when they have Computer Science lessons&lt;/a&gt; and so on in the background. In fact, I hooked up my computer’s speakers to the pass-through of that Windows Media Center PC, with it’s good speakers. I have the video camera set up for Lync calls, and I use &lt;a href="http://blogs.technet.com/b/next/archive/2011/09/09/microsoft-garage-download-mouse-without-borders.aspx" target="_blank"&gt;Mouse Without Borders&lt;/a&gt; to move the keyboard and screen on the other PC. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/3021.P1030848.jpg"&gt;&lt;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="P1030848" border="0" alt="P1030848" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2746.P1030848_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So I’m pretty happy with the setup. I’ve now heard three separate reports on the radio about how sitting is bad for you, so I feel vindicated in the choice. And I think I’ll work this way from now on, if I have the choice.&amp;#160; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10297173" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="How I work" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/How+I+work/" /></entry><entry><title>I was going to call this post “Windows Azure Best Practices” but I’m not allowed to</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/04/18/i-was-going-to-call-this-post-windows-azure-best-practices-but-i-m-not-allowed-to.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/04/18/i-was-going-to-call-this-post-windows-azure-best-practices-but-i-m-not-allowed-to.aspx</id><published>2012-04-18T14:08:59Z</published><updated>2012-04-18T14:08:59Z</updated><content type="html">&lt;p&gt; &lt;/p&gt;  &lt;p style="margin: 0in; font-family: calibri; font-size: 11pt"&gt;For reasons I don't completely understand, I'm not allowed to call the following advice &amp;quot;Best Practices&amp;quot; - apparently there is some liability or something there. So let's say these are &amp;quot;really good ideas&amp;quot; for developing applications for Windows Azure. (Did you see how I worked it into the title anyway so the search engines find it? Always thinking. :) )&lt;/p&gt;  &lt;p style="margin: 0in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;p style="margin: 0in; font-family: calibri; font-size: 11pt"&gt;And of course these are by no means comprehensive - just a few notes I've made as I've been involved with projects. So here they are, in no particular order:&lt;/p&gt;  &lt;p style="margin: 0in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Understand the platform - never stop learning, it changes all the time: SDK and Training Kit are the best resources. &lt;/span&gt;&lt;a href="http://channel9.msdn.com/Blogs/pdc2008/ES03"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://channel9.msdn.com/Blogs/pdc2008/ES03&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt; &lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&lt;span style="font-style: italic"&gt;It may sound pedantic, but it's just true. You need to learn how the platform works. The most issues I run into are things that are documented - most of the time very clearly. &lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Follow standard best practices for your language&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&lt;span style="font-style: italic"&gt;Windows Azure code does have some differences, but in large part it's just code. If you write Java to run on Azure, write good Java. Learn the best practices for your codeset and apply those - it will not only make your code faster and less error-prone, it will be cheaper to run. &lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Keep a backup of your deployments&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&lt;span style="font-style: italic"&gt;Things happen. Make sure you have your latest deployment checked into source code. If someone were to perhaps stop paying the bill and the Role is deleted, Microsoft does not have a secret backup of your application. Do not ask me how I know this. &lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Batch up calls - fewer calls are usually more efficient (and cheaper) than lots of smaller calls.&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&lt;span style="font-style: italic"&gt;This is typical for distributed computing environments - include the retry logic tip as well to ensure the call is successful.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Use Cache and max out the instance wherever you can - you're paying for it, use it!&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Use the Windows Azure Diagnostics and monitor those counters accordingly: &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/09/06/plan-for-diagnostics-in-cloud-computing-from-the-git-go.aspx"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/09/06/plan-for-diagnostics-in-cloud-computing-from-the-git-go.aspx&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt; &lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Implement retry logic: &lt;/span&gt;&lt;a href="http://www.davidaiken.com/tag/best-practices/"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://www.davidaiken.com/tag/best-practices/&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt; &lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&lt;span style="font-style: italic"&gt;In a distributed computing environment, you may have a lag in time between operations. Make your code less brittle to failures for a given call, and ensure that you include retry logic.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Use multiple instances: &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2012/03/20/why-do-i-need-two-roles-in-windows-azure.aspx"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://blogs.msdn.com/b/buckwoody/archive/2012/03/20/why-do-i-need-two-roles-in-windows-azure.aspx&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt; &lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&lt;span style="font-style: italic"&gt;This article is a must-read.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Have a backup strategy&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&lt;span style="font-style: italic"&gt;Microsoft keeps three copies of your data at all times in a datacenter, and backs up those three copies to another for safety. But that's at the latest moment - if you need point-in-time restore, make sure you code that into your architecture.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Use affinity groups: &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/11/28/windows-and-sql-azure-best-practices-affinity-groups.aspx"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/11/28/windows-and-sql-azure-best-practices-affinity-groups.aspx&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt; &lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&lt;span style="font-style: italic"&gt;Affinity groups are a way of keeping your data and code together. This is usually a great idea from a performance standpoint, although there are applications that can break this rule for centralization or seldom-accessed data.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Have a lights-out strategy&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&lt;span style="font-style: italic"&gt;Anything that a human makes can fail. That includes entire datacenters, routers, the Internet. So make sure you know what to do if everything is unavailable. Perhaps that's just a notification system, a full fallback to an on-premises system, something. But plan. &lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Security best practices are here: &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/usisvde/archive/2012/03/07/windows-azure-security-best-practices-part-1-the-challenge"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://blogs.msdn.com/b/usisvde/archive/2012/03/07/windows-azure-security-best-practices-part-1-the-challenge&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;s-defense-in-depth.aspx and here &lt;/span&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=7253"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=7253&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt; &lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Denial of Service best practices here: &lt;/span&gt;&lt;a href="http://blog.ehuna.org/2012/04/how_to_stop_a_denial_of_servic.html"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://blog.ehuna.org/2012/04/how_to_stop_a_denial_of_servic.html&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt; &lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 11pt"&gt;&amp;#160;&lt;/p&gt;  &lt;ul style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in" type="disc"&gt;   &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;Blob Storage Best Practices: &lt;/span&gt;&lt;a href="http://acloudyplace.com/2012/01/8-essential-best-practices-in-windows-azure-blob-storage/"&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://acloudyplace.com/2012/01/8-essential-best-practices-in-windows-azure-blob-storage/&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: calibri; font-size: 11pt"&gt; &lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10294943" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Tips" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Tips/" /><category term="Best Practices" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Best+Practices/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /></entry><entry><title>Pay in the future should make you think in the present</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/04/10/pay-in-the-future-should-make-you-think-in-the-present.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/04/10/pay-in-the-future-should-make-you-think-in-the-present.aspx</id><published>2012-04-10T14:53:50Z</published><updated>2012-04-10T14:53:50Z</updated><content type="html">&lt;p&gt;Distributed Computing - and more importantly “-as-a-Service” models of computing have a different cost model. This is something that sounds obvious on the surface but it’s often forgotten during the design and coding phase of a project. &lt;/p&gt;  &lt;p&gt;In on-premises computing, we’re used to purchasing a server and all of the hardware infrastructure and software licenses needed not only for one project, but several. This is an up-front or “sunk” cost that we consume by running code the organization needs to perform its function. Using a direct connection over wires you’ve already paid for, we don’t often have to think about bandwidth, hits on the data store or the amount of compute we use - we just know more is better. In a pay-as-you-go model, however, each of these architecture decisions has a potential cost impact. The amount of data you store, the number of times you access it, and the amount you send back all come with a charge. The offset is that you don’t buy anything at all up-front, so that sunk cost is freed up. And financial professionals know that money &lt;em&gt;now &lt;/em&gt;is worth more than money &lt;em&gt;later&lt;/em&gt;. Saving that up-front cost allows you to invest it in other things. &lt;/p&gt;  &lt;p&gt;It’s not just that you’re using things that now cost money - it’s that the design itself in distributed computing has a cost impact. That can be a really good thing, such as when you dynamically add capacity for paying customers. If you can tie back the cost of a series of clicks to what a user will pay to do so, you can set a profit margin that is easy to track. &lt;/p&gt;  &lt;p&gt;Here’s a case in point: Assume you are using a large instance in Windows Azure to compute some data that you retrieve from a SQL Azure database. If you don’t monitor the path of the application, you may not know what you are really using. Since you’re paying by the size of the instance, it’s best to maximize it all the time. Recently I evaluated just this situation, and found that downsizing the instance and adding another one where needed, adding a caching function to the application, moving part of the data into Windows Azure tables not only increased the speed of the application, but reduced the cost and more closely tied the cost to the profit. &lt;/p&gt;  &lt;p&gt;The key is this: from the very outset - the design - make sure you include metrics to measure for the cost/performance (sometimes these are the same) for your application. Windows Azure opens up awesome new ways of doing things, so make sure you study distributed systems architecture before you try and force in the application design you have on premises into your new application structure. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10292249" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Tips" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Tips/" /><category term="Best Practices" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Best+Practices/" /><category term="SQL Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/SQL+Azure/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /><category term="Application Architecture" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Application+Architecture/" /></entry><entry><title>Book Review (Book 10) - The Information: A History, a Theory, a Flood </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/04/05/book-review-book-10-designing-data-visualizations.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/04/05/book-review-book-10-designing-data-visualizations.aspx</id><published>2012-04-05T15:24:00Z</published><updated>2012-04-05T15:24:00Z</updated><content type="html">&lt;p&gt;This is a continuation of the books I challenged myself to read to help my career - one a month, for year. &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/06/28/book-review-programming-windows-azure-by-siriram-krishnan.aspx"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="color: #0066cc;" color="#0066cc"&gt;You can read my first book review here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;, and &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/06/07/head-in-the-clouds-eyes-on-the-books.aspx" target="_blank"&gt;the entire list is here&lt;/a&gt;. The book I chose for March 2012 was: &lt;a href="http://www.amazon.com/The-Information-History-Theory-ebook/dp/B004DEPHUC/ref=sr_1_2?ie=UTF8&amp;amp;qid=1333637893&amp;amp;sr=8-2" target="_blank"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="color: #0066cc;" color="#0066cc"&gt;The Information: A History, a Theory, a Flood by James Gleick&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;. I was traveling at the end of last month so I&amp;rsquo;m a bit late posting this review here.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why I chose this book: &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;My personal belief about computing is this: All computing technology is simply re-arranging data. We take data in, we manipulate it, and we send it back out. That&amp;rsquo;s computing. I had heard from some folks about this book and it&amp;rsquo;s treatment of data. I heard that it dealt with the basics of data - and the semantics of data, information and so on.&lt;/p&gt;
&lt;p&gt;It also deals with the earliest forms of history of information, which fascinates me. It&amp;rsquo;s similar I was told, to &lt;a href="http://www.amazon.com/G%C3%B6del-Escher-Bach-Eternal-Golden/dp/0465026567/ref=sr_1_1?ie=UTF8&amp;amp;qid=1333638803&amp;amp;sr=8-1" target="_blank"&gt;GEB which&amp;nbsp;a favorite book of mine&lt;/a&gt; as well, so that was a bonus.&lt;/p&gt;
&lt;p&gt;Some folks I talked to liked it, some didn&amp;rsquo;t - so I thought I would check it out.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What I learned:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I liked the book. It was longer than I thought - took quite a while to read, even though I tend to read quickly. This is the kind of book you take your time with. It does in fact deal with the earliest forms of human interaction and the basics of data.&lt;/p&gt;
&lt;p&gt;I learned, for instance, that the genesis of the binary communication system is based in the invention of telegraph (far-writing) codes, and that the earliest forms of communication were expensive. In fact, many ciphers were invented not to hide military secrets, but to compress information. A sort of early &amp;ldquo;lol-speak&amp;rdquo; to keep the cost of transmitting data low!&lt;/p&gt;
&lt;p&gt;I think the comparison with GEB is a bit over-reaching. GEB is far more specific, fanciful and so on. In fact, this book felt more like something fro Richard Dawkins, and tended to wander around the subject quite a bit. I imagine the author doing his research and writing each chapter as a book that followed on from the last one. This is what possibly bothered those who tended not to like it, I think.&lt;/p&gt;
&lt;p&gt;Towards the middle of the book, I think the author tended to be a bit too fragmented even for me. He began to delve into memes, biology and more - I think he might have been better off breaking that off into another work. The existentialism just seemed jarring.&lt;/p&gt;
&lt;p&gt;All in all, I liked the book. I recommend it to any technical professional, specifically ones involved with data technology in specific. And isn&amp;rsquo;t that all of us? :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10291143" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Career" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Career/" /><category term="Book Review" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Book+Review/" /><category term="Learning" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Learning/" /></entry><entry><title>“I could use a little help here” or “I can do it myself, thank you” for Cloud Projects</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/04/03/i-could-use-a-little-help-here-or-i-can-do-it-myself-thank-you-for-cloud-projects.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/04/03/i-could-use-a-little-help-here-or-i-can-do-it-myself-thank-you-for-cloud-projects.aspx</id><published>2012-04-03T14:20:55Z</published><updated>2012-04-03T14:20:55Z</updated><content type="html">&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;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10290355" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Help" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Help/" /><category term="Career" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Career/" /><category term="Design" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Design/" /><category term="Planning" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Planning/" /><category term="Tips" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Tips/" /><category term="Best Practices" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Best+Practices/" /><category term="SQL Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/SQL+Azure/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /></entry><entry><title>SQL Azure and Trust Services</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/03/27/sql-azure-and-trust-services.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/03/27/sql-azure-and-trust-services.aspx</id><published>2012-03-27T13:32:17Z</published><updated>2012-03-27T13:32:17Z</updated><content type="html">&lt;p&gt;Microsoft is working on a new Windows Azure service called &amp;ldquo;Trust Services&amp;rdquo;. Trust Services takes a certificate you upload and uses it to encrypt and decrypt sensitive data in the cloud. Of course, like any security service, there&amp;rsquo;s a bit more to it than that. I&amp;rsquo;ll give you a quick overview of how you can use this product to protect data you send to SQL Azure.&lt;/p&gt;
&lt;p&gt;The primary issue with storing data in the cloud is that you are in an environment that isn&amp;rsquo;t under your control &amp;ndash; in fact, that&amp;rsquo;s the benefit of being in a distributed computing environment in the first place. On premises you&amp;rsquo;re able to encrypt data you don&amp;rsquo;t want anyone else to see, using various methods such as passwords (not very strong) or certificates (stronger). When you use a certificate, it&amp;rsquo;s vital that you create (or procure) and protect it yourself.&lt;/p&gt;
&lt;p&gt;When you store data remotely, regardless of IaaS, PaaS or SaaS, you don&amp;rsquo;t own the machines where the data lives. That means if you use a certificate from the cloud vendor to encrypt the data, you have to trust that the data won&amp;rsquo;t be accessed by the vendor. In some cases having a signed agreement with the vendor that they won&amp;rsquo;t access your data is sufficient, in other cases that doesn&amp;rsquo;t meet the requirements your system has for security.&lt;/p&gt;
&lt;p&gt;With the new Trust Services service, the basic process is that you use a Portal to create a Trust Server using&amp;nbsp;policies and other controls. You place a X.509 Certificate you create or procure in that server. Using the Software&amp;nbsp;development Kit (SDK), the developer has access to an Application Layer Encryption Framework to set fields of data they want to encrypt. From there, the data can be stored in SQL Azure as a standard field &amp;ndash; only it is encrypted before it ever arrives. The portion of the client software that decrypts the data uses the same service, so the authenticated user sees the data if they are allowed to do so. The data remains encrypted &amp;ldquo;at rest&amp;rdquo;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/2625.TrustServices1.png"&gt;&lt;img alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/2625.TrustServices1.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can learn more about this product and check it out in the SQL Azure labs at &lt;a href="http://www.microsoft.com/en-us/sqlazurelabs/labs/trust-services.aspx"&gt;Microsoft Codename "Trust Services"&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10287995" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Security/" /><category term="SQL Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/SQL+Azure/" /></entry><entry><title>Why do I need two Instances in Windows Azure?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/03/20/why-do-i-need-two-roles-in-windows-azure.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/03/20/why-do-i-need-two-roles-in-windows-azure.aspx</id><published>2012-03-20T14:23:00Z</published><updated>2012-03-20T14:23:00Z</updated><content type="html">&lt;div style="float: none; margin: 0px; padding: 4px 0px 4px 0px;" class="wlWriterHeaderFooter"&gt;&lt;iframe style="border: none; width: 450px; height: 80px;" src="http://www.facebook.com/widgets/like.php?href=http://blogs.msdn.com/b/buckwoody/archive/2012/03/20/why-do-i-need-two-roles-in-windows-azure.aspx" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;p&gt;Windows Azure as a Platform as a Service (PaaS) means that there are various components you can use in it to solve a problem:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Compute &amp;ldquo;Roles&amp;rdquo;&lt;/strong&gt; - Computers running an OS and optionally IIS - you can have more than one "Instance" of a given Role&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Storage&lt;/strong&gt; - Blobs, Tables and Queues for Storage&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Other Services&lt;/strong&gt; - Things like the Service Bus, Azure Connection Services, SQL Azure and Caching&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It&amp;rsquo;s important to understand that some of these services are &lt;em&gt;Stateless&lt;/em&gt; and others &lt;em&gt;maintain State&lt;/em&gt;. &lt;em&gt;Stateless &lt;/em&gt;means (at least in this case) that a system might disappear from one physical location and appear elsewhere. You can think of this as a cashier at the front of a store. If you&amp;rsquo;re in line, a cashier might take his break, and another person might replace him. As long as the order proceeds, you as the customer aren&amp;rsquo;t really affected except for the few seconds it takes to change them out. The cashier function in this example is stateless.&lt;/p&gt;
&lt;p&gt;The Compute Role Instances in Windows Azure are Stateless. To upgrade hardware, because of a fault or many other reasons, a Compute Role's Instance&amp;nbsp;might stop on one physical server, and another will pick it up. This is done through the controlling fabric that Windows Azure uses to manage the systems.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s important to note that storage in Azure &lt;em&gt;does &lt;/em&gt;maintain State. Your data will not simply disappear - it is maintained - in fact, it&amp;rsquo;s maintained three times in a single datacenter and all those copies are replicated to another for safety. Going back to our example, storage is similar to the cash register itself. Even though a cashier leaves, the record of your payment is maintained.&lt;/p&gt;
&lt;p&gt;So if a Compute Role Instance can disappear and re-appear, the things running on that first Instance would stop working. If you wrote your code in a Stateless way, then another Role Instance simply re-starts that transaction and keeps working, just like the other cashier in the example.&lt;/p&gt;
&lt;p&gt;But if you only have one Instance of a Role, then when the Role Instance is re-started, or when you need to upgrade your own code, you can face downtime, since there&amp;rsquo;s only one. That means you should deploy at least two of each Role Instance not only for scale to handle load, but so that the first &amp;ldquo;cashier&amp;rdquo; has someone to replace them when they disappear. It&amp;rsquo;s not just a good idea - to gain the Service Level Agreement (SLA) for our uptime in Azure it&amp;rsquo;s a requirement. We point this out right in the Management Portal when you deploy the application:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2703.Uptime1_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Uptime1" border="0" alt="Uptime1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/7180.Uptime1_5F00_thumb.jpg" width="587" height="362" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Click to enlarge)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When you deploy a Role Instance you can also set the &amp;ldquo;Upgrade Domain&amp;rdquo;. Placing Roles on separate Upgrade Domains means that you have a continuous service whenever you upgrade&amp;nbsp;(more on upgrades in another post) - the process looks like this for two Roles. This example covers the scenario for upgrade, so you have four roles total&amp;nbsp;- One Web and one Worker running the "older" code, and one of each running the new code. In all those Roles you want at least two instances, and this example shows that you're covered for High Availability and upgrade paths:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i.msdn.microsoft.com/dynimg/IC345880.png" /&gt;&lt;/p&gt;
&lt;p&gt;The take-away is this - always plan for forward-facing Roles to have at least two copies. For Worker Roles that do background processing, there are ways to architect around this number, but it does affect the SLA if you have only one.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10285440" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Web" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Web/" /><category term="Best Practices" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Best+Practices/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /><category term="Concepts" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Concepts/" /><category term="Compute" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Compute/" /></entry><entry><title>Java Resources for Windows Azure</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/03/12/java-resources-for-windows-azure.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/03/12/java-resources-for-windows-azure.aspx</id><published>2012-03-13T01:45:00Z</published><updated>2012-03-13T01:45:00Z</updated><content type="html">&lt;p&gt;Windows Azure is a Platform as a Service &amp;ndash; a PaaS &amp;ndash; that runs code you write. That code doesn&amp;rsquo;t just mean the languages on the .NET platform &amp;ndash; you can run code from multiple languages, including Java. In fact, you can develop for Windows and SQL Azure using not only Visual Studio but the Eclipse Integrated Development Environment (IDE) as well.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Although not an exhaustive list, here are several links that deal with Java and Windows Azure:&lt;/p&gt;
&lt;table style="width: 909px; height: 1151px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;&lt;span style="color: #ff0000; font-size: medium;"&gt;&lt;b&gt;Resource&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;span style="color: #ff0000; font-size: medium;"&gt;&lt;b&gt;Link&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Windows Azure Java Development Center&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://www.windowsazure.com/en-us/develop/java/"&gt;http://www.windowsazure.com/en-us/develop/java/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Java Development Guidance&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh690943(VS.103).aspx"&gt;http://msdn.microsoft.com/en-us/library/hh690943(VS.103).aspx&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Running a Java Environment on Windows Azure&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/b/port25/archive/2010/10/28/running-a-java-environment-on-windows-azure.aspx"&gt;http://blogs.technet.com/b/port25/archive/2010/10/28/running-a-java-environment-on-windows-azure.aspx&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Running a Java Environment on Windows Azure&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/b/port25/archive/2010/10/28/running-a-java-environment-on-windows-azure.aspx"&gt;http://blogs.technet.com/b/port25/archive/2010/10/28/running-a-java-environment-on-windows-azure.aspx&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Run Java with Jetty in Windows Azure&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/dachou/archive/2010/03/21/run-java-with-jetty-in-windows-azure.aspx"&gt;http://blogs.msdn.com/b/dachou/archive/2010/03/21/run-java-with-jetty-in-windows-azure.aspx&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Using the plugin for Eclipse&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/craig/archive/2011/03/22/new-plugin-for-eclipse-to-get-java-developers-off-the-ground-with-windows-azure.aspx"&gt;http://blogs.msdn.com/b/craig/archive/2011/03/22/new-plugin-for-eclipse-to-get-java-developers-off-the-ground-with-windows-azure.aspx&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Run Java with GlassFish in Windows Azure&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/dachou/archive/2011/01/17/run-java-with-glassfish-in-windows-azure.aspx"&gt;http://blogs.msdn.com/b/dachou/archive/2011/01/17/run-java-with-glassfish-in-windows-azure.aspx&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Improving experience for Java developers with Windows&lt;br /&gt;&amp;nbsp; Azure&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/interoperability/archive/2011/02/23/improving-experience-for-java-developers-with-windows-azure.aspx"&gt;http://blogs.msdn.com/b/interoperability/archive/2011/02/23/improving-experience-for-java-developers-with-windows-azure.aspx&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Java Access to SQL Azure via the JDBC Driver for SQL&lt;br /&gt;&amp;nbsp; Server&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/brian_swan/archive/2011/03/29/java-access-to-sql-azure-via-the-jdbc-driver-for-sql-server.aspx"&gt;http://blogs.msdn.com/b/brian_swan/archive/2011/03/29/java-access-to-sql-azure-via-the-jdbc-driver-for-sql-server.aspx&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;How to Get Started with Java, Tomcat on Windows Azure&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/usisvde/archive/2011/03/04/how-to-get-started-with-java-tomcat-on-windows-azure.aspx"&gt;http://blogs.msdn.com/b/usisvde/archive/2011/03/04/how-to-get-started-with-java-tomcat-on-windows-azure.aspx&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Deploying Java Applications in Azure&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/mariok/archive/2011/01/05/deploying-java-applications-in-azure.aspx"&gt;http://blogs.msdn.com/b/mariok/archive/2011/01/05/deploying-java-applications-in-azure.aspx&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Using the Windows Azure Storage Explorer in Eclipse&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/brian_swan/archive/2011/01/11/using-the-windows-azure-storage-explorer-in-eclipse.aspx"&gt;http://blogs.msdn.com/b/brian_swan/archive/2011/01/11/using-the-windows-azure-storage-explorer-in-eclipse.aspx&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Windows Azure Tomcat Solution Accelerator&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://archive.msdn.microsoft.com/winazuretomcat"&gt;http://archive.msdn.microsoft.com/winazuretomcat&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Deploying a Java application to Windows Azure with&lt;br /&gt;&amp;nbsp; Command-line Ant&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant"&gt;http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Video: Open in the Cloud: Windows Azure and Java&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/Events/PDC/PDC10/CS10"&gt;http://channel9.msdn.com/Events/PDC/PDC10/CS10&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;AzureRunMe&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://azurerunme.codeplex.com/"&gt;http://azurerunme.codeplex.com/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Windows Azure SDK for Java&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://www.interoperabilitybridges.com/projects/windows-azure-sdk-for-java"&gt;http://www.interoperabilitybridges.com/projects/windows-azure-sdk-for-java&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;AppFabric SDK for Java&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://www.interoperabilitybridges.com/projects/azure-java-sdk-for-net-services"&gt;http://www.interoperabilitybridges.com/projects/azure-java-sdk-for-net-services&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Information Cards for Java&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://www.interoperabilitybridges.com/projects/information-card-for-java"&gt;http://www.interoperabilitybridges.com/projects/information-card-for-java&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Apache Stonehenge&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://www.interoperabilitybridges.com/projects/apache-stonehenge"&gt;http://www.interoperabilitybridges.com/projects/apache-stonehenge&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="223"&gt;
&lt;p&gt;Channel 9 Case Study on Java and Windows Azure&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="348"&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/casestudies/Windows-Azure/Gigaspaces/Solution-Provider-Streamlines-Java-Application-Deployment-in-the-Cloud/400000000081"&gt;http://www.microsoft.com/casestudies/Windows-Azure/Gigaspaces/Solution-Provider-Streamlines-Java-Application-Deployment-in-the-Cloud/400000000081&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10281743" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Web" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Web/" /><category term="Development" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Development/" /><category term="SQL Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/SQL+Azure/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /><category term="Platform Independence" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Platform+Independence/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /><category term="Compute" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Compute/" /></entry><entry><title>SQL Azure - Requiring Encrypt=True</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/03/06/sql-azure-requiring-encrypt-true.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/03/06/sql-azure-requiring-encrypt-true.aspx</id><published>2012-03-06T14:43:11Z</published><updated>2012-03-06T14:43:11Z</updated><content type="html">&lt;p&gt;&lt;em&gt;&lt;font color="#c0504d"&gt;(Many thanks to Peter Gvozdjak and Dan Benediktson here at Microsoft who worked with me on this issue and provided the bulk of information for this post)&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Recently I had a customer inquire about some performance tuning he wanted to do for SQL Azure, and as part of that he found that it was possible to remove the “&lt;strong&gt;Encrypt=True&lt;/strong&gt;” setting on &lt;a href="http://msdn.microsoft.com/en-us/library/ee336243.aspx" target="_blank"&gt;the ADO.NET connection to SQL Azure&lt;/a&gt;. We have always stated that the connections to SQL Azure are encrypted, so being able to remove this string surprised him. (More on that reference here: &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ff394108.aspx"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/ff394108.aspx&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;It is true that all connections to SQL Azure are encrypted - whether you use the &lt;strong&gt;Encrypt=True &lt;/strong&gt;string or not. We’ll force the connection to encrypt even if you don’t, or we won’t route it. However, you do want to use that string, for a couple of reasons. &lt;/p&gt;  &lt;p&gt;Whenever you include the &lt;strong&gt;Encrypt=True &lt;/strong&gt;string, the connection will require that your client validate the Certificate that SQL Azure presents, to ensure that key is the one used by Microsoft. If you don’t include that string, it’s possible - not probable, but possible - that someone could set up a false DNS to cause your certificate to be validated elsewhere. &lt;/p&gt;  &lt;p&gt;So don’t give the bad guys a way in - there is no performance gain (other than perhaps if the bad DNS is in your own building!) by leaving it off. Follow the best practice of using &lt;strong&gt;Encrypt=True&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;There’s more on connection management for things like retries and so on here: &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-connection-management.aspx"&gt;http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-connection-management.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10278426" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Security/" /><category term="SQL Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/SQL+Azure/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /></entry><entry><title>Book Review (Book 9) - Designing Data Visualizations</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/02/27/book-review-book-9-designing-data-visualizations.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/02/27/book-review-book-9-designing-data-visualizations.aspx</id><published>2012-02-28T01:15:40Z</published><updated>2012-02-28T01:15:40Z</updated><content type="html">&lt;p&gt;This is a continuation of the books I challenged myself to read to help my career - one a month, for year. &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/06/28/book-review-programming-windows-azure-by-siriram-krishnan.aspx"&gt;&lt;span style="text-decoration: underline;"&gt;You can read my first book review here&lt;/span&gt;&lt;/a&gt;. The book I chose for Feruary 2012 was: &lt;a href="http://www.amazon.com/Designing-Data-Visualizations-Julie-Steele/dp/1449312284" target="_blank"&gt;Designing Data Visualizations by Noah Iliinsky and Julie Steele&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why I chose this book: &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As part of the "Data Scientist" track of self-study I've put myself on, I bought the "Data Scientist" bundle from O'Reilly press. As I've mentioned before, this feels less like a coherent, planned offering of a Data Scientist course than a collection of books put together for that purpose. That isn't to say any of these are not good references, because they are, but they certainly weren't designed as a single effort for that purpose. There is no "flow" of information from one to the other, for instance.&lt;/p&gt;
&lt;p&gt;Some of these works aren't as useful as others, at least to me. For one thing, they tend to vary remarkably in depth. One book dives deeply into statistics, assuming that you have a background knowledge in undefined knowledge-sets, and another starts at the beginning. This book falls into the latter category - but more on that in a moment.&lt;/p&gt;
&lt;p&gt;Even so, I chose the collection because of the price, and the range of information that they contain. I feel that the Data Scientist role deals with four areas:&lt;/p&gt;
&lt;p&gt;1. Data Sourcing and Acquisition&lt;br /&gt;2. Storage and Processing&lt;br /&gt;3. Analysis&lt;br /&gt;4. Presentation&lt;/p&gt;
&lt;p&gt;This particular book falls into the last category, and since I desire more artistic talent than I have, I felt it would be quite useful. I'm always looking for information that helps me formulaicly look like I have an artist's eye. I'm quite envious of people who can draw and make awesome graphics. And at the end of the day, information needs to be presented in the best way to expose it to the right audience. Yes, before you ask, I have read Tufte's work. Some of his work is good; other parts of it, not so much.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What I learned:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I actually read this entire book on a single plane ride. It's a small book, and allows you to grok the information quickly. It's put together for the beginner, but I don't think it "talks down to you" or makes you feel that it's too basic.&lt;/p&gt;
&lt;p&gt;When I began the book, I had a different expectation - I thought there would be a lot of theory, that sort of thing. It's actually quite good as a reference - it goes through some of the best ways to present information, has a quick chart on when to use which kind of visualization, and has a fantastic reference section at the end. In fact, the reference section alone is a large part of the value of the book.&lt;/p&gt;
&lt;p&gt;The author does stray a bit into general design concepts, and talks more about web presence and so on than I think is needed for a pure Data Scientist. Industry opinion is still out on whether a Data Scientist needs to do the final visualizations or not, some feel that this is the job of the Business Intelligence professional. Personally, I think presentation is part of life in general, and so this book is at least useful in that way for someone who needs a basic introduction.&lt;/p&gt;
&lt;p&gt;And I suppose that's how I'd sum up this book - a great introduction to data visualization that you can read quickly. I recommend it for your library if you work with data in your profession.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10273698" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Book Review" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Book+Review/" /><category term="Learning" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Learning/" /></entry><entry><title>Big Data - A Microsoft Tools Approach</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/02/20/big-data-a-microsoft-tools-approach.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/02/20/big-data-a-microsoft-tools-approach.aspx</id><published>2012-02-20T22:16:00Z</published><updated>2012-02-20T22:16:00Z</updated><content type="html">&lt;p&gt;&lt;em&gt;&lt;span style="color: #c0504d;" color="#c0504d"&gt;(As with all of these types of posts, check the date of the latest update I&amp;rsquo;ve made here. Anything older than 6 months is probably out of date, given the speed with which we release new features into Windows and SQL Azure)&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t normally like to discuss things in terms of tools. I find that whenever you start with a given tool (or even a tool stack) it&amp;rsquo;s too easy to fit the problem to the tool(s), rather than the other way around as it should be.&lt;/p&gt;
&lt;p&gt;That being said, it&amp;rsquo;s often useful to have an example to work through to better understand a concept. But like many ideas in Computer Science, &amp;ldquo;Big Data&amp;rdquo; is too broad a term in use to show a single example that brings out the multiple processes, use-cases and patterns you can use it for.&lt;/p&gt;
&lt;p&gt;So we turn to a description of the tools you can use to analyze large data sets. &amp;ldquo;Big Data&amp;rdquo; is a term used lately to describe data sets that have the &amp;ldquo;&lt;a href="http://radar.oreilly.com/2012/01/what-is-big-data.html" target="_blank"&gt;Four V&amp;rsquo;s&lt;/a&gt;&amp;rdquo;&amp;nbsp; as a characteristic, but I have a simpler definition I like to use:&lt;/p&gt;
&lt;p align="center"&gt;&lt;em&gt;&lt;span style="color: #0000ff; font-size: small;" color="#0000ff" size="3"&gt;Big Data involves a data set too large to process in a reasonable period of time&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I realize that&amp;rsquo;s a bit broad, but in my mind it answers the question and is fairly future-proof. The general idea is that you want to analyze some data, and using whatever current methods, storage, compute and so on that you have at hand it doesn&amp;rsquo;t allow you to finish processing it in a time period that you are comfortable with. I&amp;rsquo;ll explain some new tools you can use for this processing.&lt;/p&gt;
&lt;p&gt;Yes, this post is Microsoft-centric. There are probably posts from other vendors and open-source that cover this process in the way they best see fit. And of course you can always &amp;ldquo;mix and match&amp;rdquo;, meaning using Microsoft for one or more parts of the process and other vendors or open-source for another. I never advise that you use any one vendor blindly - educate yourself, examine the facts, perform some tests and choose whatever mix of technologies best solves your problem.&lt;/p&gt;
&lt;p&gt;At the risk of being vendor-specific, and probably incomplete, I use the following short list of tools Microsoft has for working with &amp;ldquo;Big Data&amp;rdquo;. There is no single package that performs all phases of analysis. These tools are what I use; they should not be taken as a Microsoft authoritative testament to the toolset we&amp;rsquo;ll finalize for a given problem-space. In fact, that&amp;rsquo;s the key: find the problem and then fit the tools to that.&lt;/p&gt;
&lt;h2&gt;Process Types&lt;/h2&gt;
&lt;p&gt;I break up the analysis of the data into two process types. The first is examining and processing the data &lt;em&gt;in-line&lt;/em&gt;, meaning as the data passes through some process. The second is a &lt;em&gt;store-analyze-present&lt;/em&gt; process.&lt;/p&gt;
&lt;h2&gt;Processing Data In-Line&lt;/h2&gt;
&lt;p&gt;Processing data in-line means that the data doesn&amp;rsquo;t have a destination - it remains in the source system. But as it moves from an input or is routed to storage within the source system, various methods are available to examine the data as it passes, and either trigger some action or create some analysis.&lt;/p&gt;
&lt;p&gt;You might not think of this as &amp;ldquo;Big Data&amp;rdquo;, but in fact it can be. Organizations have huge amounts of data stored in multiple systems. Many times the data from these systems do not end up in a database for evaluation. There are options, however, to evaluate that data real-time and either act on the data or perhaps copy or stream it to another process for evaluation.&lt;/p&gt;
&lt;p&gt;The advantage of an in-stream data analysis is that you don&amp;rsquo;t necessarily have to store the data again to work with it. That&amp;rsquo;s also a disadvantage - depending on how you architect the solution, you might not retain a historical record. One method of dealing with this requirement is to trigger a rollup collection or a more detailed collection based on the event.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;StreamInsight &lt;/strong&gt;- StreamInsight is Microsoft&amp;rsquo;s &amp;ldquo;Complex Event Processing&amp;rdquo; or CEP engine. This product, hooked into SQL Server 2008R2, has multiple ways of interacting with a data flow. You can create adapters to talk with systems, and then examine the data mid-stream and create triggers to do something with it. You can read more about StreamInsight here: &lt;a title="http://msdn.microsoft.com/en-us/library/ee391416(v=sql.110).aspx" href="http://msdn.microsoft.com/en-us/library/ee391416(v=sql.110).aspx"&gt;http://msdn.microsoft.com/en-us/library/ee391416(v=sql.110).aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BizTalk &lt;/strong&gt;- When there is more latency available between the initiation of the data and its processing, you can use Microsoft BizTalk. This is a message-passing and Service Bus oriented tool, and it can also be used to join system&amp;rsquo;s data together than normally does not have a direct link, for instance a Mainframe system to SQL Server. You can learn more about BizTalk here: &lt;a href="http://www.microsoft.com/biztalk/en/us/overview.aspx"&gt;http://www.microsoft.com/biztalk/en/us/overview.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;.NET and the Windows Azure Service Bus &lt;/strong&gt;- Along the same lines as BizTalk but with a more programming-oriented design are the Windows and Windows Azure Service Bus tools. The Service Bus allows you to pass messages as well, and opens up web interactions and even inter-company routing. BizTalk can do this as well, but the Service Bus tools use an API approach for designing the flow and interfaces you want. The Service Bus offerings are also intended as near real-time, not as a streaming interface. You can learn more about the Windows Azure Service Bus here: &lt;a href="http://www.windowsazure.com/en-us/home/tour/service-bus/"&gt;http://www.windowsazure.com/en-us/home/tour/service-bus/&lt;/a&gt; and more about the Event Processing side here: &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd569756.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd569756.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Store-Analyze-Present&lt;/h2&gt;
&lt;p&gt;A more traditional approach with an organization&amp;rsquo;s data is to store the data and analyze it out-of-band. This began with simply running code over a data store, but as locking and blocking became an issue on a file system, Relational Database Management Systems (RDBMs) were created. Over time a distinction was made between data used in an online processing system, meant to be highly available for writing data (OLTP) and systems designed for analytical and reporting purposes (OLAP).&lt;/p&gt;
&lt;p&gt;Later the data grew larger than these systems were designed for, primarily due to consistency requirements. In analysis, however, consistency isn&amp;rsquo;t always a requirement, and so file-based systems for that analysis were re-introduced from the Mainframe concepts, with new technology layered in for speed and size.&lt;/p&gt;
&lt;p&gt;I normally break up the process of analyzing large data sets into four phases:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Source and Transfer &lt;/em&gt;- Obtaining the data at its source and transferring or loading it into the storage; optionally transforming it along the way&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Store and Process&lt;/em&gt; - Data is stored on some sort of persistence, and in some cases an engine handles the acquisition and placement on persistent storage, as well as retrieval through an interface.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;em&gt;Analysis &lt;/em&gt;- A new layer introduced with &amp;ldquo;Big Data&amp;rdquo; is a separate analysis step. This is dependent on the engine or storage methodology, is often programming language or script based, and sometimes re-introduces the analysis back into the data. Some engines and processes combine this function into the previous phase.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Presentation&lt;/em&gt; - In most cases, the data wants a graphical representation to comprehend, especially in a series or trend analysis. In other cases a simple symbolic representation, similar to the &amp;ldquo;dashboard&amp;rdquo; elements in a Business Intelligence suite. Presentation tools may also have an analysis or refinement capability to allow end-users to work with the data sets. As in the Analysis phase, some methodologies bundle in the Analysis and Presentation phases into one toolset.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Source and Transfer&lt;/h3&gt;
&lt;p&gt;You&amp;rsquo;ll notice in this area, along with those that follow, Microsoft is adopting not only its own technologies but those within open-source. This is a positive sign, and means that you will have a best-of-breed, supported set of tools to move the data from one location to another. Traditional file-copy, File Transfer Protocol and more are certainly options, but do not normally deal with moving datasets.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve already mentioned the ability of a streaming tool to push data into a store-analyze-present model, so I&amp;rsquo;ll follow up that discussion with the tools that can extract data from one source and place it in another.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;SQL Server Integration Services (SSIS)/SQL Server Bulk Copy Program (BCP)&lt;/span&gt; &lt;/strong&gt;- SSIS is a SQL Server tool used to move data from one location to another, and optionally perform transform or other processes as it does so. You are not limited to working with SQL Server data - in fact, almost any modern source of data from text to various database platforms is available to move to various systems. It is also extremely fast and has a rich development environment. You can learn more about SSIS here: &lt;a href="http://msdn.microsoft.com/en-us/library/ms141026.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms141026.aspx&lt;/a&gt; BCP is a tool that has been used with SQL Server data since the first releases; it has multiple sources and destinations as well. It is a command-line utility,and has some limited transform capabilities. You can learn more about BCP here: &lt;a href="http://msdn.microsoft.com/en-us/library/ms162802.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms162802.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="color: #800000;" color="#800000"&gt;Sqoop&lt;/span&gt; &lt;/span&gt;&lt;/strong&gt;- Tied to Microsoft&amp;rsquo;s latest announcements with Hadoop on Windows and Windows Azure, Sqoop is a tool that is used to move data between SQL Server 2008R2 (and higher)&amp;nbsp;and Hadoop, quickly and efficiently. You can read more about that in the Readme file here: &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27584"&gt;http://www.microsoft.com/download/en/details.aspx?id=27584&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #800000;" color="#800000"&gt;&lt;strong&gt;Application Programming Interfaces&lt;/strong&gt;&lt;/span&gt; - API&amp;rsquo;s exist in most every major language that can connect to one data source, access data, optionally transforming it and storing it in another system. Most every dialect of&amp;nbsp; the .NET-based languages contain methods to perform this task.&lt;/p&gt;
&lt;h3&gt;Store and Process&lt;/h3&gt;
&lt;p&gt;Data at rest is normally used for historical analysis. In some cases this analysis is performed near real-time, and in others historical data is analyzed periodically. Systems that handle data at rest range from simple storage to active management engines.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;SQL Server&lt;/span&gt;&lt;/strong&gt; - Microsoft&amp;rsquo;s flagship RDBMS can indeed store massive amounts of complex data. I am familiar with a two systems in excess of 300 Terabytes of federated data, and the &lt;a href="http://pan-starrs.ifa.hawaii.edu/public/" target="_blank"&gt;Pan-Starrs&lt;/a&gt; project is designed to handle 1+ Petabyte of data. The theoretical limit of SQL Server DataCenter edition is 540 Petabytes. SQL Server is an engine, so the data access and storage is handled in an abstract layer that also handles concurrency for ACID properties. You can learn more about SQL Server here: &lt;a href="http://www.microsoft.com/sqlserver/en/us/product-info/compare.aspx"&gt;http://www.microsoft.com/sqlserver/en/us/product-info/compare.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;SQL Azure Federations&lt;/span&gt;&lt;/strong&gt; - SQL Azure is a database service from Microsoft associated with the Windows Azure platform. Database Servers are multi-tenant, but are shared across a &amp;ldquo;fabric&amp;rdquo; that moves active databases for redundancy and performance. Copies of all databases are kept triple-redundant with a consistent commitment model. Databases are (at this writing - check &lt;a href="http://WindowsAzure.com"&gt;http://WindowsAzure.com&lt;/a&gt; for the latest) capped at a 150 GB size limit per database. However, Microsoft released a &amp;ldquo;Federation&amp;rdquo; technology, allowing you to query a head node and have the data federated out to multiple databases. This improves both size and performance. You can read more about SQL Azure Federations here: &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2281.federations-building-scalable-elastic-and-multi-tenant-database-solutions-with-sql-azure.aspx"&gt;http://social.technet.microsoft.com/wiki/contents/articles/2281.federations-building-scalable-elastic-and-multi-tenant-database-solutions-with-sql-azure.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;Analysis Services&lt;/span&gt;&lt;/strong&gt; - The Business Intelligence engine within SQL Server, called Analysis Services, can also handle extremely large data systems. In addition to traditional BI data store layouts (ROLAP, MOLAP and HOLAP), the latest version of SQL Server introduces the Vertipaq column-storage technology allowing more direct access to data and a different level of compression. You can read more about Analysis Services here: &lt;a href="http://www.microsoft.com/sqlserver/en/us/solutions-technologies/business-intelligence/analysis-services.aspx"&gt;http://www.microsoft.com/sqlserver/en/us/solutions-technologies/business-intelligence/analysis-services.aspx&lt;/a&gt; and more about Vertipaq here: &lt;a href="http://msdn.microsoft.com/en-us/library/hh212945(v=SQL.110).aspx"&gt;http://msdn.microsoft.com/en-us/library/hh212945(v=SQL.110).aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #800000;" color="#800000"&gt;&lt;strong&gt;Parallel Data Warehouse &lt;/strong&gt;&lt;/span&gt;- The Parallel Data Warehouse (PDW) offering from Microsoft is largely described by the title. Accessed in multiple ways including using Transact-SQL (the Microsoft dialect of the Structured Query Language), &lt;a href="http://sqlpdw.com/2010/07/what-mpp-means-to-sql-server-parallel-data-warehouse/" target="_blank"&gt;This is an MPP appliance&lt;/a&gt;&amp;nbsp;scaling in parallel to extremely large datasets. It is a hardware and software offering - you can learn more about it here: &lt;a href="http://www.microsoft.com/sqlserver/en/us/solutions-technologies/data-warehousing/pdw.aspx"&gt;http://www.microsoft.com/sqlserver/en/us/solutions-technologies/data-warehousing/pdw.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;HPC Server&lt;/span&gt;&lt;/strong&gt; - Microsoft&amp;rsquo;s High-Performance Computing version of Windows Server deals not only with large data sets, but with extremely complicated computing requirements. A scale-out architecture and inter-operation with Linux systems, as well as dozens of applications pre-written to work with this server make this a capable &amp;ldquo;Big Data&amp;rdquo; system. It is a mature offering, with a long track record of success in scientific, financial and other areas of data processing. It is available both on premises and in Windows Azure, and also in a hybrid of both models, allowing you to &amp;ldquo;rent&amp;rdquo; a super-computer when needed. You can read more about it here: &lt;a href="http://www.microsoft.com/hpc/en/us/product/cluster-computing.aspx"&gt;http://www.microsoft.com/hpc/en/us/product/cluster-computing.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;Hadoop&lt;/span&gt;&lt;/strong&gt; - Pairing up with Hortonworks, Microsoft has released the Hadoop Open-Source system -&amp;nbsp; including HDFS and a Map/Reduce standardized software, Hive and Pig - on Windows and the Windows Azure platform. This is not a customized version; off-the-shelf concepts and queries work well here. You can read more about Hadoop here: &lt;a href="http://hadoop.apache.org/common/docs/current/"&gt;http://hadoop.apache.org/common/docs/current/&lt;/a&gt; and you can read more about Microsoft&amp;rsquo;s offerings here: &lt;a href="http://hortonworks.com/partners/microsoft/"&gt;http://hortonworks.com/partners/microsoft/&lt;/a&gt;&amp;nbsp;and here: &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/6204.hadoop-based-services-for-windows.aspx"&gt;http://social.technet.microsoft.com/wiki/contents/articles/6204.hadoop-based-services-for-windows.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;Windows and Azure Storage&lt;/span&gt;&lt;/strong&gt; - Although not an engine - other than a triple-redundant, immediately consistent commit - Windows Azure can hold terabytes of information and make it available to everything from the R programming language to the Hadoop offering. Binary storage (Blobs) and Table storage (Key-Value Pair) data can be queried across a distributed environment. You can learn more about Windows Azure storage here: &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/gg433040.aspx"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/gg433040.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Analysis&lt;/h3&gt;
&lt;p&gt;In a &amp;ldquo;Big Data&amp;rdquo; environment, it&amp;rsquo;s not unusual to have a specialized set of tasks for analyzing and even interpreting the data. This is a new field called &amp;ldquo;data Science&amp;rdquo;, with a requirement not only for computing, but also a heavy emphasis on math.&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #800000;" color="#800000"&gt;&lt;strong&gt;Transact-SQL &lt;/strong&gt;&lt;/span&gt;- T-SQL is the dialect of the Structured Query Language used by Microsoft. It includes not only robust selection, updating and manipulating of data, but also analytical and domain-level interrogation as well. It can be used on SQL Server, PDW and ODBC data sources. You can read more about T-SQL here: &lt;a href="http://msdn.microsoft.com/en-us/library/bb510741.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb510741.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;Multidimensional Expressions and Data Analysis Expressions&lt;/span&gt;&lt;/strong&gt; - The MDX and DAX languages allow you to query multidimensional data models that do not fit well with typical two-plane query languages. Pivots, aggregations and more are available within these constructs to query and work with data in Analysis Services. You can read more about MDX here: &lt;a href="http://msdn.microsoft.com/en-us/library/ms145506(v=sql.110).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms145506(v=sql.110).aspx&lt;/a&gt; and more about DAX here: &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=28572"&gt;http://www.microsoft.com/download/en/details.aspx?id=28572&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;HPC Jobs and Tasks &lt;/span&gt;&lt;/strong&gt;- Work submitted to the Windows HPC Server has a particular job - essentially a reservation request for resources. Within a job you can submit tasks, such as parametric sweeps and more. You can learn more about Jobs and Tasks here: &lt;a href="http://technet.microsoft.com/en-us/library/cc719020(v=ws.10).aspx"&gt;http://technet.microsoft.com/en-us/library/cc719020(v=ws.10).aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;HiveQL &lt;/span&gt;&lt;/strong&gt;- HiveQL is the language used to query a Hive object running on Hadoop. You can see a tutorial on that process here: &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/6628.aspx"&gt;http://social.technet.microsoft.com/wiki/contents/articles/6628.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;Piglatin &lt;/span&gt;&lt;/strong&gt;- Piglatin is the submission language for the Pig implementation on Hadoop. An example of that process is here: &lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/10/running-apache-pig-pig-latin-at-apache-hadoop-on-windows-azure.aspx"&gt;http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/10/running-apache-pig-pig-latin-at-apache-hadoop-on-windows-azure.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;Application Programming Interfaces &lt;/span&gt;&lt;/strong&gt;- Almost all of the analysis offerings have associated API&amp;rsquo;s - of special note is Microsoft Research&amp;rsquo;s Infer.NET, a new language construct for framework for running Bayesian inference in graphical models, as well as probabilistic programming. You can read more about Infer.NET here: &lt;a href="http://research.microsoft.com/en-us/um/cambridge/projects/infernet/"&gt;http://research.microsoft.com/en-us/um/cambridge/projects/infernet/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Presentation&lt;/h3&gt;
&lt;p&gt;Lots of tools work in presenting the data once you have done the primary analysis. In fact, there&amp;rsquo;s a great video of a comparison of various tools here: &lt;a href="http://msbiacademy.com/Lesson.aspx?id=73"&gt;http://msbiacademy.com/Lesson.aspx?id=73&lt;/a&gt; Primarily focused on Business Intelligence. That term itself is now not as completely defined, but the tools I&amp;rsquo;ll show below can be used in multiple ways - not just traditional Business Intelligence scenarios. Application Programming Interfaces (API&amp;rsquo;s) can also be used for presentation; but I&amp;rsquo;ll focus here on &amp;ldquo;out of the box&amp;rdquo; tools.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;Excel&lt;/span&gt;&lt;/strong&gt; - Microsoft&amp;rsquo;s Excel can be used not only for single-desk analysis of data sets, but with larger datasets as well. It has interfaces into SQL Server, Analysis Services, can be connected to the PDW, and is a first-class job submission system for the Windows HPC Server. You can watch a video about Excel and big data here: &lt;a href="http://www.microsoft.com/en-us/showcase/details.aspx?uuid=e20b7482-11c9-4965-b8f0-7fb6ac7a769f"&gt;http://www.microsoft.com/en-us/showcase/details.aspx?uuid=e20b7482-11c9-4965-b8f0-7fb6ac7a769f&lt;/a&gt;&amp;nbsp;and you can also connect Excel to Hadoop: &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/how-to-connect-excel-to-hadoop-on-azure-via-hiveodbc.aspx"&gt;http://social.technet.microsoft.com/wiki/contents/articles/how-to-connect-excel-to-hadoop-on-azure-via-hiveodbc.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;Reporting Services&lt;/span&gt;&lt;/strong&gt; - Reporting Services is a SQL Server tool that can query and show data from multiple sources, all at once. It can also be used with Analysis Services. You can read more about Reporting Services here: &lt;a href="http://www.microsoft.com/sqlserver/en/us/solutions-technologies/business-intelligence/reporting-services.aspx"&gt;http://www.microsoft.com/sqlserver/en/us/solutions-technologies/business-intelligence/reporting-services.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;Power View&lt;/span&gt;&lt;/strong&gt; - Power View is a &amp;ldquo;Self-Service&amp;rdquo; Business Intelligence reporting tool, which can work with on-premises data in addition to SQL Azure and other data. You can read more about it and see videos of Power View in action here: &lt;a href="http://www.microsoft.com/sqlserver/en/us/future-editions/business-intelligence/SQL-Server-2012-reporting-services.aspx"&gt;http://www.microsoft.com/sqlserver/en/us/future-editions/business-intelligence/SQL-Server-2012-reporting-services.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #800000;" color="#800000"&gt;SharePoint Services -&lt;/span&gt;&lt;/strong&gt; Microsoft has rolled several capable tools in SharePoint as &amp;ldquo;Services&amp;rdquo;. This has the advantage of being able to integrate into the working environment of many companies. You can read more about&amp;nbsp; lots of these reporting and analytic presentation tools here: &lt;a href="http://technet.microsoft.com/en-us/sharepoint/ee692578"&gt;http://technet.microsoft.com/en-us/sharepoint/ee692578&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This is by no means an exhaustive list - more capabilities are added all the time to Microsoft&amp;rsquo;s products, and things will surely shift and merge as time goes on. Expect today&amp;rsquo;s &amp;ldquo;Big Data&amp;rdquo; to be tomorrow&amp;rsquo;s &amp;ldquo;Laptop Environment&amp;rdquo;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10270081" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Developer" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Developer/" /><category term="Design" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Design/" /><category term="Microsoft" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Microsoft/" /><category term="Windows 2008" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+2008/" /><category term="Business Intelligence" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Business+Intelligence/" /><category term="SQL Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/SQL+Azure/" /><category term="Data" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Data/" /><category term="Data Professional" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Data+Professional/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /><category term="Storage" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Storage/" /><category term="Concepts" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Concepts/" /></entry><entry><title>Cloud Computing Patterns: Using Data Transaction Commitment Models for Design</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/02/14/cloud-computing-patterns-using-data-transaction-commitment-models-for-design.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/02/14/cloud-computing-patterns-using-data-transaction-commitment-models-for-design.aspx</id><published>2012-02-14T21:45:47Z</published><updated>2012-02-14T21:45:47Z</updated><content type="html">&lt;p&gt;There are multiple ways to store data in a cloud provider, specifically around Windows and SQL Azure. As part of a &amp;ldquo;Data First&amp;rdquo; architecture design, one decision vector &amp;ndash; assuming you&amp;rsquo;ve already done a data classification of the elements you want to store &amp;ndash; is to decide the transaction level you need for that datum.&amp;nbsp; Once you&amp;rsquo;ve decided on what level of transactional commitment you need, you can make intelligent decisions about the storage engine, method of access and storage, speed and other requirements.&lt;/p&gt;
&lt;p&gt;Although the list below is neither original nor exhaustive, these are the general considerations I use for a given data set. It&amp;rsquo;s important to note that in many on premises systems the engine choice at hand overrides these concerns. If you have a large Relational Database Management System (RDBMS) for instance, you might simply place all data there without further consideration. In a Platform as a Service (PaaS) like Windows and SQL Azure, however, selection of the proper engine for a particular dataset has implications ranging from cost to performance, and selecting the right engine is critical when you want to leverage the data across &amp;ldquo;Bid Data&amp;rdquo; analysis like Hadoop or other constructs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Monolithic Consistent Transactional&lt;/strong&gt;&lt;br /&gt;The first selection is analogous to a local RDBMS system. The dataset is retrieved in a functionally single, monolithic transaction, i.e. kept together with ACID properties in mind. This is the most reliable type of data design for datasets that require a high degree of safety in the read/write pattern. As an example, a bank ATM transaction should be modeled in a monolithic way. If I make a transfer of funds from one account to another, I want the money to be subtracted from one account if and only if it is successfully added to the other. The bank, on the other hand, wants the money added to the second account if and only if it is subtracted from the first. This is a prime example of a monolithic (single atomic transaction), Consistent (if and only if) and Transactional (as a unit, with provision for roll-back and reporting if unsuccessful) data requirement.&lt;/p&gt;
&lt;p&gt;The primary engine used for this type of data is often SQL Azure &amp;ndash; an RDMBS in the same datacenters as Windows Azure. Placing both the calling application, whether that is a Data Access Layer-based code widget or a direct call from a Web or Worker Role, means that data is retrieved quickly and in a monolithic way. The costs for this method is based on overall database size.&amp;nbsp; A consideration is how much data you can store this way. Database sizes have limits, although there are ways of overcoming size issues using technologies such as Sharding or SQL Azure Federations. There is also the consideration of performance. In an RDBMs that conforms to ACID properties, locking and other overhead for safety is at conflict with the highest possible read performance.&amp;nbsp; But in some cases the ACID properties are worth the cost, as in the banking example.&lt;/p&gt;
&lt;p&gt;You are not limited to SQL Azure in this model. Windows Azure Table storage, while similar to NoSQL offerings is different in that it is immediately consistent across all three replicated copies of data, offering a higher degree of safety. And while Table storage does not offer built-in support for transactions, there are ways to achieve certain transaction levels.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Monolithic Realtime&lt;/strong&gt;&lt;br /&gt;If consistency can be relaxed &amp;ndash; meaning that a guaranteed read/write patter is not essential &amp;ndash; then more options arise in Windows and SQL Azure. You can still use SQL Azure for this type of storage, with either automatic or programmatic hints allowing for &amp;ldquo;dirty reads&amp;rdquo;. Windows Azure Table storage is still consistent, but the selection of the method for querying the data such as separate copies of read and write data can be employed. Because of the relaxed transaction nature, higher speeds are possible by querying cached or separate datasets.&lt;/p&gt;
&lt;p&gt;An example here is that same transaction from the bank, but a statement inquiry. Just after the money is deposited, the user wishes to query the current balance. The current balance &amp;ndash; minus the transaction that just occurred &amp;ndash; is retrieved and shown to the user, perhaps even combining the amount with the latest transaction, perhaps saved as a local cached object, with a caveat to the user.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Distributed Realtime&lt;/strong&gt;&lt;br /&gt;At some point, the data becomes too large to fit inside a single processing session, and parallelism is used. In this case, either separate databases in SQL Azure or Windows Azure Tables, local data storage on the Web or Worker Role, or a combination of all with Caches is the right approach for the data design.&lt;/p&gt;
&lt;p&gt;The biggest implication in this type of system is speed &amp;ndash; a higher degree of data separation is essential, and so the dataset selection must fit the pattern. It is unacceptable to force an ACID-properties type workload into this environment. Typical examples here are the actual data asset payload for streaming video or music, read-only documents and so on. This pattern is often separated from the meta-data, which is kept in more of a transactional model.&lt;/p&gt;
&lt;p&gt;As an example, assume you log on to a website to watch a movie or listen to music. The provider needs to verify your identity and account balance, which are transactional data loads. After that process is complete, the workload shifts to a copy &amp;ndash; perhaps one of several &amp;ndash; of the asset to stream to your location.&lt;/p&gt;
&lt;p&gt;In this case, Windows Azure Blob storage, along with the Content Delivery Network (CDN &amp;ndash; a series of servers closer to the user) is employed along with the transactional realtime requirements for the metadata.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Distributed Eventual&lt;/strong&gt;&lt;br /&gt;At the furthest end of the data scale are large datasets that need deeper analysis, but not necessarily in realtime. Examples here are terrabytes of data requiring a Business Intelligence view, but with a tolerance of a few seconds to minutes or hours. In this case, Storage, Processing and Query methods, such as the Hadoop offering in Windows Azure, or perhaps the High Performance Computing (HPC) Windows Server in Windows Azure fit well.&amp;nbsp; Here, the design of the data is often dictated by the source, and more emphasis is placed on the algorithms around processing and re-assembling the data.&lt;/p&gt;
&lt;p&gt;There are, of course, other patterns. In many cases a single dataset may have needs in one or more of these categories &amp;ndash; in fact, sitting at 30,000 feet typing this entry, I&amp;rsquo;m having that very design discussion with a gentleman sitting next to me. The key is to design data-first, and fit the technology to the requirement for each datum. Allow each function and engine to handle the data in the most efficient, effective way for cost, performance and utility.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10267914" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Development" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Development/" /><category term="Design" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Design/" /><category term="Best Practices" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Best+Practices/" /><category term="Data" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Data/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /></entry><entry><title>Application Lifecycle Management Overview for Windows Azure</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/02/07/application-lifecycle-management-overview-for-windows-azure.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/02/07/application-lifecycle-management-overview-for-windows-azure.aspx</id><published>2012-02-07T15:58:39Z</published><updated>2012-02-07T15:58:39Z</updated><content type="html">&lt;p&gt;Developing in Windows Azure is at once not that much different from what you’re familiar with in on-premises systems, and different in significant ways. Because of these differences, developers often ask about the specific process to develop and deploy a Windows Azure application - more formally called an Application Lifecycle Management, or ALM. &lt;/p&gt;  &lt;p&gt;There are specific resources you can use to learn more about various parts of ALM - I’ve referenced those at the end of this post. But ALM has multiple definitions, from the governance of code injection, domain upgrade, testing, process flow and more. Many developers are interested in the finer-grained information, like how do I develop and deploy an application? What tools do I need, and how do I get the code running somewhere that I can test? &lt;/p&gt;  &lt;p&gt;I’ll cover the very high-level process here, and refer you to specifics at the end of each section, so that you can take it all in at one viewing, and then bookmark for more detail when you need more information. I won’t be covering processes like Continuous Integration or Agile and other methodologies in this post - I’ll blog those later. &lt;/p&gt;  &lt;h2&gt;Initial Development&lt;/h2&gt;  &lt;p&gt;You start with writing code. You have three ways to do this. You can use Visual Studio (even the Express Edition Works), Eclipse, or by &lt;a href="https://www.ibm.com/developerworks/webservices/library/ws-restful/" target="_blank"&gt;leveraging the REST API format&lt;/a&gt;. You can do this in a standalone (non-connected) environment like your laptop. &lt;/p&gt;  &lt;p align="left"&gt;Using Visual Studio is one of the simplest methods to create an Azure application, allowing you to combine the Azure components you want to leverage (Storage, Compute, SQL Azure, the Service Bus, etc.) along with the on-premises code you have now or are creating. Once you’ve installed and patched Visual Studio, just download and install the Windows Azure Software Development Kit (SDK) and you’ll have not only all the API’s you need to talk to Azure, but a fully functioning local environment to run and test your code before you deploy it. You’ll also get a robust set of samples. You can download what you need for all of that (free) here: &lt;a href="http://www.windowsazure.com/en-us/develop/downloads/"&gt;http://www.windowsazure.com/en-us/develop/downloads/&lt;/a&gt; . There’s a step-by-step process here: &lt;a href="http://msdn.microsoft.com/en-us/magazine/ee336122.aspx"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://msdn.microsoft.com/en-us/magazine/ee336122.aspx&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can also use Eclipse to develop for Windows Azure. You won’t get the full runtime environment in just that kit alone, but you can use this successfully on a Linux system. I have several folks using this method. The downloads and documentation for that is here: &lt;a href="http://www.windowsazure4e.org/"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://www.windowsazure4e.org/&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can use REST API’s to hit Azure Assets and control them. Not my preferred method, but possible. There are REST API’s for various sections of Azure. You can find the main reference for that here: &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ff800682.aspx"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/ff800682.aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#9bbb59"&gt;&lt;font color="#c0504d"&gt;&lt;strong&gt;&lt;em&gt;Note: &lt;/em&gt;&lt;/strong&gt;We recently demonstrated using a Cloud-based Integrated Development Environment (IDE) for Node.js deployment to Windows Azure. More on that here:&lt;/font&gt; &lt;/font&gt;&lt;a href="http://www.readwriteweb.com/cloud/2012/01/cloud9-ide-to-enable-nodejs-ap.php"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://www.readwriteweb.com/cloud/2012/01/cloud9-ide-to-enable-nodejs-ap.php&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h2&gt;Deploying to a Test Instance&lt;/h2&gt;  &lt;p&gt;After you write the code, you’ll need to test it somewhere. The Azure Emulator on your development laptop is for a single user on that laptop, and it also has some subtle differences from the production fabric as you might imagine. Normally you’ll set up a small subscription to run and test the application, just like you would have a set of test servers. Each subscription has its own management keys and certificates, so this assists in keeping the testing environment separate for billing and control. &lt;/p&gt;  &lt;p&gt;More on that general information here: &lt;a href="http://msdn.microsoft.com/en-us/library/ff803362.aspx"&gt;http://msdn.microsoft.com/en-us/library/ff803362.aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Deploying to Production&lt;/h2&gt;  &lt;p&gt;Once you have developed the code and tested it, you need to move it to a location where users can access it. In reality, there is no physical difference in the type of machines, fabric or any other component in “Production” Windows Azure accounts and the “Test” accounts, but you’ll most often pick smaller systems to deploy on in testing, and you’ll probably keep the URL in the plain format.&lt;/p&gt;  &lt;p&gt;In the Production Windows Azure account, the team normally limits the access to the account for deployment to a separate set of developers. This ensures code flow and control. A DNS name is normally mapped to the longer, Microsoft-generated URL so that your users access the application or data the way you want them to. &lt;/p&gt;  &lt;p&gt;More on setting up an account here: &lt;a href="http://techinch.com/2010/06/14/setup-your-windows-azure-account/"&gt;http://techinch.com/2010/06/14/setup-your-windows-azure-account/&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Managing Code Change&lt;/h2&gt;  &lt;p&gt;With the application deployed, there are two broad tasks you need to consider. One is managing changes through the application, and the other involves management, monitoring and performance tuning for an application.&lt;/p&gt;  &lt;p&gt;To make a code change, the standard ALM process is followed, just as above. You can use command-line tools to automate the process as you would with an on-premises system. A vide on that shows you how: &lt;a href="http://www.microsoftpdc.com/2009/SVC25"&gt;http://www.microsoftpdc.com/2009/SVC25&lt;/a&gt;. Normally this is used with an “In-Place” upgrade into Production Account, since your testing is completed in a separate account. More on that process here: &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee517255.aspx"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/ee517255.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;One difference is the “VIP Swap” process you can use for the final push to Production. In essence, this allows you to have two copies of the application running on the Production account, with a quick way to cut over and back when you’re ready. The process for that is detailed here: &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee517253.aspx"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/ee517253.aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For monitoring, you have several options. You should enable the Windows Azure Diagnostics in your code - more on that here: &lt;a href="http://archive.msdn.microsoft.com/WADiagnostics"&gt;http://archive.msdn.microsoft.com/WADiagnostics&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;You can observe uptime and other information on the Windows Azure Service Dashboard, where you can also consume the uptime as an RSS feed: &lt;a href="http://www.windowsazure.com/en-us/support/service-dashboard/"&gt;http://www.windowsazure.com/en-us/support/service-dashboard/&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;From there, you can also use System Center to monitor not only Windows Azure deployments but internal applications as well. The Management Pack and documentation for that is here: &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=11324"&gt;http://www.microsoft.com/download/en/details.aspx?id=11324&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;There are also 3rd-party tools to manage Windows Azure. More on that here: &lt;a href="http://www.bing.com/search?q=monitor+Windows+Azure&amp;amp;form=OSDSRC"&gt;http://www.bing.com/search?q=monitor+Windows+Azure&amp;amp;form=OSDSRC&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Other References: &lt;/h3&gt;  &lt;p&gt;There is a lot more detail in this official reference: &lt;a href="https://www.windowsazure.com/en-us/develop/net/fundamentals/deploying-applications/"&gt;https://www.windowsazure.com/en-us/develop/net/fundamentals/deploying-applications/&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Bryan Group explains the ramifications of the Secure Development Lifecycle (SDL) with lots of collateral you can review: &lt;a href="http://blogs.msdn.com/b/bryang/archive/2011/04/26/applying-the-sdl-to-windows-azure.aspx"&gt;http://blogs.msdn.com/b/bryang/archive/2011/04/26/applying-the-sdl-to-windows-azure.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10264968" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Process" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Process/" /><category term="Developer" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Developer/" /><category term="Development" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Development/" /><category term="Design" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Design/" /><category term="Links" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Links/" /><category term="System Center Operations Manager" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/System+Center+Operations+Manager/" /><category term="Planning" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Planning/" /><category term="Tips" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Tips/" /><category term="Best Practices" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Best+Practices/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /><category term="Application Architecture" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Application+Architecture/" /><category term="Concepts" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Concepts/" /></entry><entry><title>Book Review (Book 8) - The Elements of Persuasion</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/01/30/book-review-book-8-the-elements-of-persuasion.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/01/30/book-review-book-8-the-elements-of-persuasion.aspx</id><published>2012-01-30T15:57:23Z</published><updated>2012-01-30T15:57:23Z</updated><content type="html">&lt;p&gt;This is a continuation of the books I challenged myself to read to help my career - one a month, for year. &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/06/28/book-review-programming-windows-azure-by-siriram-krishnan.aspx"&gt;&lt;u&gt;You can read my first book review here&lt;/u&gt;&lt;/a&gt;. The book I chose for January 2012 was: &lt;a href="http://www.amazon.com/Elements-Persuasion-Storytelling-Better-Business/dp/0061179035/ref=pd_bbs_sr_1/104-8397785-8954328?ie=UTF8&amp;amp;s=books&amp;amp;qid=1187892925&amp;amp;sr=8-1" target="_blank"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;The Elements of Persuasion by Richard Maxwell and Robert Dickman&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why I chose this Book: &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;As I mentioned in a previous review, I think good storytelling is an essential part of any career. Communication is basic in not only our professional but personal lives, and everyone I’ve met responds well to stories, from children to executive audiences. Not only that, learning to tell a story helps you formulate concepts about the topic, which is yet another way of learning. &lt;/p&gt;  &lt;p&gt;I heard about this book from a couple of folks, and it landed within search of “storytelling” and “business”. Whenever I just search for “Storytelling” I either end up with lists of stories (which is fine) or lists of children’s books on storytelling (which is also fine) but neither of these are quite what I’m looking for.&lt;/p&gt;  &lt;p&gt;A quick search on Amazon and I located the book, and then a quick check of my various e-library offerings and I downloaded it to my laptop for reading. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What I learned: &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This is a “selling” book, but not like you might think. It’s not a book of a quick sale like at a car-lot or a “quick-sale” environment. It’s more along the lines at the executive level and longer-term sales - those involve stories as well. &lt;/p&gt;  &lt;p&gt;Sadly, this is another “business book” - the kind I normally don’t like much. There are typical case-study layouts with lots of examples, but in my mind not enough didactic information to actually help you develop a good story-telling mantra.&amp;#160; &lt;/p&gt;  &lt;p&gt;Even so, I learned some interesting things about the process these authors use. Some of the case studies are interesting, and I did pull out that a story should work towards a single, defining sentence. This isn’t unique to this book, but it is a reinforcement of what I’ve learned elsewhere. Although nothing to do with storytelling, I did like the reference to &lt;a href="http://www.lockheedmartin.com/us/aeronautics/skunkworks/14rules.html" target="_blank"&gt;Lockheed’s “14 Rules&lt;/a&gt;”, which I hadn’t read before. They also break down the storytelling process into five elements, which is actually covered better (in my mind) in a book called “&lt;a href="http://www.amazon.com/20-Master-Plots-Build-Them/dp/1599635372/ref=sr_1_1?ie=UTF8&amp;amp;qid=1327938189&amp;amp;sr=8-1" target="_blank"&gt;20 Master Plots&lt;/a&gt;” , which may actually be the storytelling book I’ve been searching for. &lt;/p&gt;  &lt;p&gt;Or perhaps I should just write the one I’m looking for. &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/3036.wlEmoticon_2D00_smile_5F00_2.png" /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;At any rate, not sure I would recommend this book to others - perhaps as a check-out, but not a purchase, at least if this is for the same reason I looked it up.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Raw Notes: &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;As I read, I take notes - it’s called “reading with a pencil”. These are the notes I made to myself, in no particular order and with no context other than the book itself: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div style="margin: 0in 0in 0pt" class="MsoPlainText"&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Calibri"&gt;Stories are interesting to us all. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div style="margin: 0in 0in 0pt" class="MsoPlainText"&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Calibri"&gt;Describes five elements in a story, but in fact this is for only one type of story. Other books describes more story types. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div style="margin: 0in 0in 0pt" class="MsoPlainText"&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Calibri"&gt;Very standard business book, but there are good tips in some of the chapters. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div style="margin: 0in 0in 0pt" class="MsoPlainText"&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Calibri"&gt;Explained how to connect with the audience, good points Spends a lot of time referring to other books The book of five rings Work towards a single, memorable sentence. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div style="margin: 0in 0in 0pt" class="MsoPlainText"&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Calibri"&gt;Changes partway through into stories about stories. This is better. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div style="margin: 0in 0in 0pt" class="MsoPlainText"&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Calibri"&gt;A mix of storytelling and sales, although this was touted for sales, feels much more like selling than storytelling, advertisements. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div style="margin: 0in 0in 0pt" class="MsoPlainText"&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Calibri"&gt;Interesting story about memory championships, where contestants memorize cards. They use unusual stories. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div style="margin: 0in 0in 0pt" class="MsoPlainText"&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Calibri"&gt;Look up Lockheed and the 14 rules &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10261765" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Career" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Career/" /><category term="Book Review" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Book+Review/" /><category term="Learning" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Learning/" /><category term="How I work" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/How+I+work/" /></entry><entry><title>Team Foundation Server (TFS) in the Cloud - My Experience So Far</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/01/24/team-foundation-server-tfs-in-the-cloud-my-experience-so-far.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/01/24/team-foundation-server-tfs-in-the-cloud-my-experience-so-far.aspx</id><published>2012-01-24T13:45:13Z</published><updated>2012-01-24T13:45:13Z</updated><content type="html">&lt;p&gt;I recently joined a software development project that involves not only myself and other internal Microsoft employees, but a partner and a customer as well. We are building a hybrid solution that uses assets on premises as well as Windows Azure for processing. When we put the team together we picked a methodology (Agile) for the project (we use multiple methodologies at Microsoft - whatever the project needs) and then we started talking about Source Control. &lt;/p&gt;  &lt;p&gt;We’re all comfortable with various tools for check-in-check-out, branching, and so on. We have all used GIT, SVN, and TFS. Some of us have even used Source Safe in past, but that’s another post. &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/6661.wlEmoticon_2D00_smile_5F00_2.png" /&gt; Each company has a full set of Source Control systems in place. But using each other’s systems requires logins, firewalls and the like - so we decided to use the &lt;a href="http://tfspreview.com/" target="_blank"&gt;TFS Service Preview&lt;/a&gt; to run the entire project from “the cloud”. Here are my experiences with that. &lt;/p&gt;  &lt;p&gt;The process was really simple. In fact, we talked about using the cloud TFS in the first SCRUM, and the team was working from the Work Items list that afternoon. The original account login provides a web interface to allow people to join the team. Each of us happened to have a Live.Com address, so we just invited those addresses to join and they got a link, like this: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;projectname.tfspreview.com&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;I’m using Visual Studio, and it’s a requirement for TFS preview to have SP1 installed, and this patch: &lt;span style="font-family: &amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;; color: #1f497d; font-size: 11pt; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=212065" target="_blank"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;KB2581206&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;From there, I opened Visual Studio and navigated from the main menu to Team and then Connect to Team Foundation Server. I’m given this menu: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/5001.tfs_2D00_2.jpg_5F00_2.png"&gt;&lt;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="tfs-2.jpg" border="0" alt="tfs-2.jpg" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/1778.tfs_2D00_2.jpg_5F00_thumb.png" width="244" height="157" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Selecting port 443 and HTTPS (for security) and then ensuring the lower link has the “tfs” appended as the location, I opened the project. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/7167.tfs_2D00_3_5F00_2.jpg"&gt;&lt;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="tfs-3" border="0" alt="tfs-3" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/5584.tfs_2D00_3_5F00_thumb.jpg" width="244" height="167" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;(This VSTS screenshot is of a project I did in my University of Washington class I teach - I never show client code or names in a blog post)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;From there it’s a normal set of operations. Right now the preview doesn’t have some things I’d really like, such as an automated build or some of the testing tools, but &lt;a href="http://blogs.msdn.com/b/bharry/archive/2011/09/14/team-foundation-server-on-windows-azure.aspx" target="_blank"&gt;you can read this blog entry to learn more about the entire sign-up process, and what the team has planned&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Each day I log in to the project, and I’m given this new sign-in option: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/7635.tfs_2D00_1_5F00_2.jpg"&gt;&lt;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="tfs-1" border="0" alt="tfs-1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/3438.tfs_2D00_1_5F00_thumb.jpg" width="244" height="169" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I click the option, and I open the environment, hit My Work Items query, and get to work. All in all, a seamless - although basic - experience. The speed at which we could set up and work on a project was really sweet. It’s remarkable how un-remarkable this is - I just do my work each day, everything is running and backed up in the cloud. I think that’s the point. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10260038" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Process" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Process/" /><category term="Web" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Web/" /><category term="Developer" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Developer/" /><category term="Development" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Development/" /><category term="How I work" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/How+I+work/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Windows+Azure/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /></entry><entry><title>Bug-Out Bags and Cloud Architecture Considerations</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/01/20/bug-out-bags-and-cloud-architecture-considerations.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/01/20/bug-out-bags-and-cloud-architecture-considerations.aspx</id><published>2012-01-20T18:00:58Z</published><updated>2012-01-20T18:00:58Z</updated><content type="html">&lt;p&gt;I served in the U.S. Military for a while, and as part of my training we had to maintain a “Bug-Out Bag”, which was a large duffle-bag full of certain items that we could live on/fight with in an emergency. I’ve carried the spirit of that idea forward with me into civilian life, in Florida and especially here in the Pacific Northwest.&lt;/p&gt;  &lt;p&gt;In Florida we dealt with the threat of hurricanes - I went through four of those in one year that hit my area. You’re without power, it floods quickly, and it gets wicked hot. You roof might be gone, whatever. Here in the Pacific Northwest, I live near one of the largest volcano's in the world, we have flooding, and recently we were hit with an ice-storm. Now I’ve lived all over the world, from Alaska to North Dakota and &lt;a href="http://en.wikipedia.org/wiki/Shemya" target="_blank"&gt;even near the Kamchatka Peninsula in Russia&lt;/a&gt;, and I can handle the snow. But ice - that’s a toughie no matter where you live. We had so much that it split my little pine tree in front of the house in half. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/8168.P1030729.jpg"&gt;&lt;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="P1030729" border="0" alt="P1030729" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/6180.P1030729_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/5428.P1030728.jpg"&gt;&lt;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="P1030728" border="0" alt="P1030728" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/7178.P1030728_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We lost power - although I think the folks at Puget Sound Energy did an amazing job at getting us back up in less than 24 hours, but we weren’t worried anyway. That bug-out bag mentality carried forward to a “second pantry” we keep in the garage. &lt;/p&gt;  &lt;p&gt;We have a large plastic box (that will fit in the back of the Subaru) with dried goods like pasta, and canned goods and even a little cook stove. We have 25 gallons of clean water in Jerry-Cans. We have batteries, candles and matches. And we have flashlights around every door. We use supplies from the “pantry” to fill our house pantry, and then refill the emergency one from the grocery store. That way everything is fresh, rotated, and we can “bug-out” here at home or on the road. &lt;/p&gt;  &lt;p&gt;So what does this have to do with Distributed Computing Architectures?&lt;/p&gt;  &lt;p&gt;&lt;em&gt;It’s the thought process&lt;/em&gt;. In both the military and civilian life, I’ve done a few things:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Sat down and thought carefully about exactly what I need. Did I include a can-opener? A small shovel to dig out of whatever I got stuck in? Then I weed out what I *really* don’t need.&lt;/li&gt;    &lt;li&gt;Put those things into a small, manageable container. &lt;/li&gt;    &lt;li&gt;Tried them - even when (especially when) I didn’t have an emergency&lt;/li&gt;    &lt;li&gt;Tweaked the process to see what I could do better.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Have you done this when you moved an app to the “cloud”? Each of these has a computing parallel - do you know what you would do if you couldn’t access the Distributed Computing Environment?&lt;/p&gt;  &lt;p&gt;I’ve found these thoughts are actually a great place to start - keeps the process simplified from the start, and gives you a sense of assurance when you’re asked if you can recover from an emergency. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10258924" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Disaster Recovery" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Disaster+Recovery/" /><category term="Best Practices" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Best+Practices/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Azure" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Azure/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /><category term="Application Architecture" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Application+Architecture/" /><category term="Concepts" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Concepts/" /></entry><entry><title>Cloud Computing In Action: How I work with Live Mesh, SkyDrive, and Office Live Workspace</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/01/16/cloud-computing-in-action-how-i-work-with-live-mesh-skydrive-and-office-live-workspace.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/01/16/cloud-computing-in-action-how-i-work-with-live-mesh-skydrive-and-office-live-workspace.aspx</id><published>2012-01-16T15:27:44Z</published><updated>2012-01-16T15:27:44Z</updated><content type="html">&lt;p&gt;Recently I had an tweetversation with a couple of friends on some confusion around two of our products: &lt;a href="http://explore.live.com/skydrive" target="_blank"&gt;SkyDrive&lt;/a&gt; and &lt;a href="http://explore.live.com/windows-live-essentials-other-programs?T1=t4&amp;amp;os=other" target="_blank"&gt;Live Mesh&lt;/a&gt;. Like most of our software, there’s no single way to do things. That can be a strength or it can cause that confusion. They asked if I would blog how I work with these two products, and what advantages there are to this way of working. &lt;/p&gt;  &lt;p align="center"&gt;&lt;em&gt;&lt;font color="#c0504d"&gt;Before I start - this is specific to these two Microsoft products. &lt;/font&gt;&lt;/em&gt;&lt;a href="http://www.urbandictionary.com/define.php?term=fanboi" target="_blank"&gt;&lt;em&gt;&lt;font color="#c0504d"&gt;If you’re a fanboi of another product&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font color="#c0504d"&gt;, that’s great. Awesome. Go for it. You don’t have to use these. There’s no law about it or anything. It’s all good. I use the products you see below because I evaluated lots of them, and these work the best for me - not because I work at Microsoft. But do what makes you happy. &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Let’s start with what each of these products do. Live Mesh synchronizes files to various locations. You can create a file on one PC, save it, and then when you fire up another PC that file will be copied from the original location. It’s a mirror of the file, and it exists in both places. You can change the file on the second location, and it will be copied back to the other system, stepping right on top of it. &lt;/p&gt;  &lt;p&gt;SkyDrive is a storage system. You can store lots of data in there - larger than most of the other free offerings. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/office/sbs/Office_Live_Workspace.aspx" target="_blank"&gt;Office Live Workspaces&lt;/a&gt; allows you to integrate SkyDrive into your local copy of Microsoft Office, so that you can create, save and edit a document and it will be stored in SkyDrive, and not only that, it will keep a local, synced copy so that you can work offline. But it also has a web-based subset of Microsoft Office. You can create, edit and work with Microsoft Office documents with no software installed at all. From Linux, Mac, a cell phone, whatever has a browser. In fact, we’ve released one of my favorite products, OneNote, in iPhone and iPad flavors, which also buffer down the file as if you had a PC and Microsoft Office. &lt;/p&gt;  &lt;p&gt;I rely on these each of these products every day. Here’s how I use them. &lt;/p&gt;  &lt;p&gt;I use Live Mesh to copy my entire “Data” directory - files, music, everything - from my home “server” to my work and other systems. Since SkyDrive has a limit, I only send certain files to SkyDrive using Mesh. Just the ones I need access to from non Microsoft-OS devices. Of course, this means I have to leave my home server turned on - which I do anyway since it’s my media server, web server, TV, etc. But everything else I sync to about four computers running Windows. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0876.mesh1_5F00_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="mesh1" border="0" alt="mesh1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/1263.mesh1_5F00_thumb.png" width="466" height="285" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For my OneNote files - quickly becoming the center of my universe - and anything else I want to access from anywhere, all the time, I use SkyDrive and Live Office. Here’s how that works.&lt;/p&gt;  &lt;p&gt;If it’s an MP3, Visual Studio Code, a training video or whatever my customer needs, I save it in SkyDrive, mark it public, and send them the link. Done. Any device that can render these can access the file over the web. Since I play in a group on Sunday, I even put my music there (I use MuseScore) and then I can pop the music up on my netbook right at the pulpit and leave the paper at home.&lt;/p&gt;  &lt;p&gt;For OneNote or other Microsoft Office documents, I create the document first in Office Live. Once the file is open, and before I even type in it, I click the button marked “Open in OneNote” (or Word, or Excel, or whatever) and from them on I have that file linked in the local system, and a shadow copy for working offline. I can also work with that document from the web using my Linux or Apple OS’s if needed. I recently attended a very Microsoft-hostile environment, so everything from the presentation to the code review for Windows Azure I did from Live Office and my SkyDrive, all from my Linux Laptop. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0383.mesh2_5F00_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="mesh2" border="0" alt="mesh2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/4174.mesh2_5F00_thumb.png" width="426" height="261" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As I’ve always said - use what works. This arrangement gives me the ultimate flexibility. I have my data from Live Mesh synchronized on multiple systems. More than once I’ve deleted something I needed, or changed something. I simply boot up the other device without being connected to the web, copy the old version off, and then let it connect and sync. I also back up my home server once a week to a set of local drives, so I have offsite and onsite backups. I can work from anywhere I have a browser, or someone that will let me borrow a device. I have all my presentations ready to present from any system, even if mine breaks. &lt;/p&gt;  &lt;p&gt;Hopefully this helps - and hopefully it inspires you to write a blog entry on how you use your favorite cloud products. There are always multiple ways to do things, and I love to learn. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10257145" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="How I work" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/How+I+work/" /><category term="Cloud" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud/" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Cloud+Computing/" /></entry><entry><title>Stand-Up Cloud Computing</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/01/09/stand-up-cloud-computing.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/01/09/stand-up-cloud-computing.aspx</id><published>2012-01-09T14:33:28Z</published><updated>2012-01-09T14:33:28Z</updated><content type="html">&lt;p&gt;When I was very young, I asked my uncle for career advice. He went silent, thinking for a bit, and then said: “People who work sitting down make more than people who work standing up.” I’m not certain how true that really is, but my career as a technology professional has led me to work in a seated position for most of my life. &lt;/p&gt;  &lt;p&gt;Turns out, that’s a bad thing. Although I consider myself pretty fit, eating right, sleeping well and working out several times a week in addition to a morning walk with the family each day, I always look for low-barrier ways to stay healthy. When I first moved to the Pacific Northwest to work for Microsoft, I noticed several folks working at tall desks with no chairs. Some even had treadmills. I chalked it up to the ethos here; and certainly not something I would do. &lt;/p&gt;  &lt;p&gt;But this year that changed. I noticed that my back was a little stiffer when I got done with my 12-13 hour days of work. For the last couple of years, I’ve worked from home, so I don’t attend meetings (at least in person) as often or have to walk very far to do almost any part of my job. I start work around 6 in the morning, and sometimes get so focused that I don’t moved for many hours. &lt;a href="http://mashable.com/2011/04/22/standup-desks/" target="_blank"&gt;I read an article on how bad sitting really is&lt;/a&gt;, and after further investigation thought I might give one of those stand-up desks a try. &lt;/p&gt;  &lt;p&gt;The research led me to believe that you don’t actually have to use a stand-up desk per-se, you can also use an alternate chair or just get up every so often. But I wanted to try this out, and figured that I would be more likely to take a break and sit every hour than I would to remember to stand every hour. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Before&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;My office desk is fairly typical, but I do have a decent office chair. That’s after going through probably six or seven chairs in the last few years. I have good lighting, a speakerphone, a web cam and two monitors. I also have the typical flotsam and jetsam of desk clutter, although I’m neater than some. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/8662.P1030706.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P1030706" border="0" alt="P1030706" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/8267.P1030706_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/5531.P1030707.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P1030707" border="0" alt="P1030707" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/4848.P1030707_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This arrangement has suited me well since I’ve been working at home. I had something similar in an office environment, although I didn’t always have the option of a decent chair. I didn’t go through the trouble of bringing one of my own in; I just put up with whatever I got, or could “appropriate” from an empty office or conference room.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Build&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;My criteria were fairly simple: the experiment had to cost less than 100.00, and be at the proper height and size to hold my keyboard, trackball, phone and monitors so that I could type with my elbows staying at a 90 degree angle. &lt;/p&gt;  &lt;p&gt;After researching standing desks, 100.00 was going to be impossible, not even for a used one. I visited several thrift shops in the area (I do that a lot anyway to donate and to buy) and didn’t find anything that worked. Of course, when you’re faced with finding cheap furniture, you naturally turn to the most amazing store on the planet. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ikea.com/us/en/" target="_blank"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://www.creativeroots.org/wp-content/uploads/2009/08/ikea-logo.jpg" width="263" height="94" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Before I left, I measured the top area and height of my desk, and wrote down acceptable measurements based on how I high I stood, the stuff I needed the top to hold, and the distance I needed for my typing to be done at the right height. Measurements in hand, I headed to the store. &lt;/p&gt;  &lt;p&gt;I found a coffee table - &lt;a href="http://www.ikea.com/us/en/catalog/products/10104295/" target="_blank"&gt;a really cheap one (19.00) called (oddly) LACK&lt;/a&gt; and brought it home to begin the surreal process of assembling something bought at Ikea. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2476.P1030709.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P1030709" border="0" alt="P1030709" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/8750.P1030709_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/7178.P1030710.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P1030710" border="0" alt="P1030710" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/1738.P1030710_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Happily, this was REALLY simple. Four lag bolts hold the legs on, and eight screws punched into the wood (or at least wood-like) to attach the shelf. My original thought was that I would move the shelf up higher than the Ikea instructions, and then use the pull-out tray from my desk to put the keyboard and trackball on. However, that was not to be. On investigation I found that the tray was not hung underneath the desk, but attached at the sides. That meant I had to either buy another tray, or place the keyboard on top, necessitating standing two inches higher. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The After&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Researching trays, I found they were terribly expensive. These things used to be everywhere, so I was surprised that they aren’t as easy to get as they once were. Off to the thrift store to see what they had. I found an older tray, but it looked flimsy. I then found a child’s plastic picnic table. The plastic was strong, and 1.5 inches thick. I figured I needed some padding to stand on anyway, so I bought the table, pulled off the legs, and wrapped some padding in an older rug. This brought the total cost of the build to 25.00 and 2.00 for an espresso and a cinnamon bun at Ikea (I would be burning these calories off with my new desk, after all). &lt;/p&gt;  &lt;p&gt;&lt;img src="http://2.bp.blogspot.com/_47gvaXgPZHk/S1aBhxhSXvI/AAAAAAAAEB4/HBal11co7KI/s320/Photo+1200.jpg" width="237" height="178" /&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/6012.P1030717.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P1030717" border="0" alt="P1030717" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2476.P1030717_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I re-routed all my cables, and everything fit correctly. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/6012.P1030711.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P1030711" border="0" alt="P1030711" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/4442.P1030711_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/8750.P1030713.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P1030713" border="0" alt="P1030713" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/8171.P1030713_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2804.P1030714.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="P1030714" border="0" alt="P1030714" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0825.P1030714_5F00_thumb.jpg" width="184" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;My Early Conclusions&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The first day was easy. I thought - well I should have done this a LONG time ago! My back wasn’t that sore, and I didn’t feel that tired. &lt;/p&gt;  &lt;p&gt;Then I woke up the next morning. My feet were sore, although not terribly. The second day, I had to sit down each hour. Not just wanted to sit down - needed to. I play in a group at Church on Sunday, so I put my guitar in the office and spent 5 minutes each hour (roughly - sometimes I have calls that are longer than that) and practice a little sitting down. That helped a lot. &lt;/p&gt;  &lt;p&gt;I’ve now been at the desk for four days, and I don’t need the breaks as often. I also find I need to shift around a lot, which of course burns even more calories and is better for me. I honestly think the treadmill desk might be easier than a standing one. We’ll see if I go that far someday. &lt;/p&gt;  &lt;p&gt;The verdict so far? Glad I’ve done this. If it doesn’t work out, I’ll just re-purpose the coffee table and go back to sitting - although I’m pretty stubborn and will probably stick with this for a while. I’ll let you know if I change back, and why.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/4454.P1030719.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="P1030719" border="0" alt="P1030719" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2476.P1030719_5F00_thumb.jpg" width="184" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;My executive assistant hasn’t changed her office arrangement at all. She still keeps her (Ikea) chair just like she’s had it since she started working with me, and dutifully stays at her workstation for the entire 12-13 hours each day. We do, however, take our lunchtime walk still. She burns her calories that way, and thinks it’s better than just standing around all the time. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2388.P1030705.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="P1030705" border="0" alt="P1030705" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/8662.P1030705_5F00_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10254571" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Personal" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Personal/" /><category term="How I work" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/How+I+work/" /></entry><entry><title>Valentine’s Day and Your Career</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2012/01/03/valentine-s-day-and-your-career.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2012/01/03/valentine-s-day-and-your-career.aspx</id><published>2012-01-03T14:53:17Z</published><updated>2012-01-03T14:53:17Z</updated><content type="html">&lt;p&gt;The new year has begun. It’s traditional to make “Resolutions” at this time, but &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2010/01/04/new-year-s-goals-not-new-year-s-resolutions.aspx" target="_blank"&gt;as I’ve mentioned before, I don’t do that. I make goals instead.&lt;/a&gt; I like things to be measurable, and I hold myself accountable to those goals - some of which deal with my professional life.&lt;/p&gt;  &lt;p&gt;But you might not buy into all that. Perhaps you’re the kind of person who doesn’t buy Valentine’s day cards, or take your significant other out for dinner on Valentine’s day. After all, &lt;a href="http://www.deathandtaxesmag.com/53027/valentines-day-and-its-pagan-roots/" target="_blank"&gt;it’s a manufactured, made up holiday from the greeting-card companies, right&lt;/a&gt;? Somebody just decided to come up with a day to make you do something you don’t normally do. &lt;/p&gt;  &lt;p&gt;Here’s a tip: do it anyway. Buy the flowers. Jump into the hype. Yes, it’s a made-up holiday. Yes, they’re making money off of you. But take that person out for the nicest dinner you can find. Treating someone you love in a special way on a periodic date &lt;a href="http://www.psychologytoday.com/blog/marriage-and-parenting-in-todays-culture/201002/just-do-it-men-and-valentines-day" target="_blank"&gt;is shown to increase the bond in a relationship&lt;/a&gt;, simply &lt;em&gt;because&lt;/em&gt; it’s a ritual date that others keep. The ritual &lt;em&gt;is&lt;/em&gt; the magic. &lt;/p&gt;  &lt;p&gt;What does this have to do with New Year’s, or your career? &lt;em&gt;Everything&lt;/em&gt;. Not to burst a bubble here, but the universe is not aware of human timekeeping mechanisms. The New Year is just as artificial as Valentine’s day. In fact, many other cultures don’t even count the 1st of January as the New Year. But it’s OK - just like Valentine’s day, you can use the “start of the new year” as a time to focus on something you need to do.&lt;/p&gt;  &lt;p&gt;It’s pretty simple to do this - but of course simple != easy. Goals need to be realistic - so sit down sometime this week, and follow this process:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Write down where you want to be in a year in your career. Make it specific. An award, a position, a company, a raise. Write it down.&lt;/li&gt;    &lt;li&gt;Write down a few books you want to read that will help you get there. &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/12/30/book-review-book-7-think-stats.aspx" target="_blank"&gt;Blog about these books&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Write down the people you need to talk to, inside your company and out. Send an invite out to these people to chat. Do that this week.&lt;/li&gt;    &lt;li&gt;Write down the things you need to accomplish for that goal in your job.&lt;/li&gt;    &lt;li&gt;Tell others you are doing these things, and what you expect.&lt;/li&gt;    &lt;li&gt;Implement your plan. &lt;/li&gt;    &lt;li&gt;Review your plan and adjust as needed each month.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Yes, the “new year” is artificial, like Valentine’s day. So what. Use it to get where you need to go. &lt;/p&gt;  &lt;p&gt;Happy New Career.&amp;#160;&amp;#160; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10252683" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Career" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Career/" /></entry><entry><title>Book Review (Book 7) - Think Stats</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/buckwoody/archive/2011/12/30/book-review-book-7-think-stats.aspx" /><id>http://blogs.msdn.com/b/buckwoody/archive/2011/12/30/book-review-book-7-think-stats.aspx</id><published>2011-12-30T14:11:17Z</published><updated>2011-12-30T14:11:17Z</updated><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:none; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://blogs.msdn.com/b/buckwoody/archive/2011/12/30/book-review-book-7-think-stats.aspx" scrolling="no" frameborder="0" style="border:none; width:450px; height:80px"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p&gt;This is a continuation of the books I challenged myself to read to help my career - one a month, for year. &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/06/28/book-review-programming-windows-azure-by-siriram-krishnan.aspx"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;You can read my first book review here&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;. The book I chose for December 2011 was: &lt;a href="http://www.amazon.com/gp/product/1449307116/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;tag=greenteapre01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=1449307116" target="_blank"&gt;Think Stats, by Allen B. Downey&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why I chose this Book: &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I originally chose another book for this month, but changed to this one after a difference in focus (sort of) in my technical career. That brings up a couple of interesting points right away. The first is that it’s OK to change a list - remember that the purpose of reading these books is to gain information that gets you closer to your professional goals. When you develop your list, you have a certain amount of knowledge, and as you read more, experience more, and are exposed to more, you get different information. When that happens, adapt. &lt;/p&gt;  &lt;p&gt;The second point is that your goal itself may change. &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/11/15/the-data-scientist.aspx" target="_blank"&gt;I am focusing on “Big Data” this year&lt;/a&gt; and with the changes we’ve made in Windows and SQL Azure at Microsoft, this fits neatly with my professional goals personally and the company I work for. Actually, my goals in technology haven’t changed in the 27+ years I’ve worked in IT, in roles from electronics, programming, consulting, management, architect and in my current technical role here at Microsoft. I think that it has always been about data - everything in IT is an interface to data. And I have always wanted to be at the center of that. Data Science involves not just the sourcing, administration and movement of data, but in applying scientific (with an emphasis on mathematical) disciplines to get at the meaning the situation needs. &lt;/p&gt;  &lt;p&gt;So that brings me to this choice. My friend &lt;a href="http://www.brentozar.com/consultants/jeremiah-peschka/" target="_blank"&gt;Jeremiah Peschka&lt;/a&gt; found this resource for a role I am VERY interested in - the “Data Scientist”. It’s a combination of high-end mathematics, Data Analysis and Big Data. The resource is a series of books from O’Reilly for that very title. &lt;a href="http://shop.oreilly.com/category/deals/data-science-kit.do" target="_blank"&gt;You can find that here&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Personally, I find the grouping of books a little cobbled together. They are all fine books, but I’m not certain how they lead you through the series of knowledge required for the topic, but that’s a post for another day. Within that series of books is the one I’m reviewing today. I started (since there is no implied order in the books) with the “Data Analysis” book, but it seemed to start in the middle of some topics I needed to research, so I switched to reading this one, and chose it as my December book. &lt;/p&gt;  &lt;p&gt;Another note here - December is a tough month. Since so many people take vacation time during this month, most of my clients try to get as much work in before the Holidays as possible. Since they are all doing that at once, it makes for a lot of overtime. Also, I travel to see family, which of course puts me out of pocket for a while myself. So staying on track with the books - especially one that makes heavy use of computing, math and focus is hard. So it’s tough to maintain your goals all of the time - but keeping in mind why you do this is the important thing. It will keep you on track. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What I learned: &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This book focuses more on what the title says - it’s more about being mindful of the way you use statistics than the statistics themselves. It’s assumed you know not only the basics of statistics (&lt;a href="http://www.khanacademy.org/video/statistics--the-average?playlist=Statistics" target="_blank"&gt;I used these free lessons as a refresher&lt;/a&gt;, along with some of my old stats books) but how they are used.The author doesn’t stop to explain a lot of stats he uses, but periodically he does show why a given formula works the way it does. This is very useful, and helps with understanding the point of using one method over another. He also does a great job of using statistics to verify other statistics. &lt;/p&gt;  &lt;p&gt;Although it should be obvious, the meaning of the data is essential. We think about this when we deal with the result of data processing, but not necessarily when we work with the sources. For instance - as the author explained some central tendency, smoothing and so on using statistical methods, he introduced some numbers and asks you to guess the central number from the set. Dutifully you work out the answer, but in time he reveals that it’s a series of numbers on a die - which of course can only be whole numbers. The point is that you’re so focused on getting the right answer, you don’t define what the real problem is first. &lt;/p&gt;  &lt;p&gt;Another great tool&amp;#160; - and a fascinating study that I need to look into further - is the fact that you can often make at least educated inferences into data you might not imagine. For instance, he talks about the example of a series of train cars, numbered sequentially. You see a train car numbered “60” - can you guess with any certainty how many train cars the company has? Fascinating stuff. &lt;/p&gt;  &lt;p&gt;He includes a glossary at the end of each chapter. I found this a great approach for summarizing the information in one place, and really helpful in making sure I understood everything before moving on. I didn’t always, so I had to re-read parts of the book and freshen up my stats knowledge along the way as well. &lt;/p&gt;  &lt;p&gt;He uses &lt;a href="http://learnpythonthehardway.org/" target="_blank"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;Python as the language of choice&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; - which I found a bit unusual. Most of the stats profession uses something more like the &lt;a href="http://www.r-project.org/" target="_blank"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;R language&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;, which I’ve also started learning, and one of the other books in this series includes R as a primary subject. Because the author uses Python, he includes references to a series of libraries you add into it to work through the examples. Python certainly is a Data Scientist’s tool, just normally not for statistics. The author uses great examples and assignments, but doesn’t really follow up on those. I guess I’d rather see those introduced earlier in the chapter and explained better. He tends to jump around a bit, and his references are to Wikipedia, which isn’t always as reliable or thorough as it can be. But these are small quibbles. It’s a good book, and a I learned a lot reading it. In fact, I have lots of concepts to unpack based on what I read. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10252042" width="1" height="1"&gt;</content><author><name>BuckWoody</name><uri>http://blogs.msdn.com/BuckWoody/ProfileUrlRedirect.ashx</uri></author><category term="Career" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Career/" /><category term="Computing" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Computing/" /><category term="Book Review" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Book+Review/" /><category term="Learning" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Learning/" /><category term="Concepts" scheme="http://blogs.msdn.com/b/buckwoody/archive/tags/Concepts/" /></entry></feed>
