Search results matching tags 'Cloud' and 'Windows Azure'http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&tag=Cloud,Windows+Azure&orTags=0Search results matching tags 'Cloud' and 'Windows Azure'en-USCommunityServer 2.1 SP2 (Build: 61129.1)Declarative Architectures in Infrastructure as a Service (IaaS)http://sqlblog.com/blogs/buck_woody/archive/2012/10/23/declarative-architectures-in-infrastructure-as-a-service-iaas.aspxTue, 23 Oct 2012 14:00:00 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:45737BuckWoody<p>I deal with computing architectures by first laying out requirements, and then laying in any constraints for it's success. Only then do I bring in computing elements to apply to the system. As an example, a requirement might be "world-side availability" and a constraint might be "with less than 80ms response time and full HA" or something similar. Then I can choose from the best fit of technologies which range from full-up on-premises computing to IaaS, PaaS or SaaS.</p>
<p>I also deal in abstraction layers - on-premises systems are fully under your control, in IaaS the hardware is abstracted (but not the OS, scale, runtimes and so on), in PaaS the hardware and the OS is abstracted and you focus on code and data only, and in SaaS everything is abstracted - you merely purchase the function you want (like an e-mail server or some such) and simply use it.</p>
<p>When you think about solutions this way, the architecture moves to the primary factor in your decision. It's problem-first architecting, and then laying in whatever technology or vendor best fixes the problem.</p>
<p>To that end, most architects design a solution using a graphical tool (I use Visio) and then creating documents that&nbsp; let the rest of the team (and business) know what is required. It's the template, or recipe, for the solution. This is extremely easy to do for SaaS - you merely point out what the needs are, research the vendor and present the findings (and bill) to the business. IT might not even be involved there. In PaaS it's not much more complicated - you use the same Application Lifecycle Management and design tools you always have for code, such as Visual Studio or some other process and toolset, and you can "stamp out" the application in multiple locations, update it and so on.</p>
<p>IaaS is another story. Here you have multiple machines, operating systems, patches, virus scanning, run-times, scale-patterns and tools and much more that you have to deal with, since essentially it's just an in-house system being hosted by someone else. You can certainly automate builds of servers - we do this as technical professionals every day. From Windows to Linux, it's simple enough to create a "build script" that makes a system just like the one we made yesterday. What is more problematic is being able to tie those systems together in a coherent way (as a solution) and then stamp that out repeatedly, especially when you might want to deploy that solution on-premises, or in one cloud vendor or another.</p>
<p>Lately I've been working with a company called RightScale that does exactly this. I'll point you to their site for more info, but the general idea is that you document out your intent for a set of servers, and it will deploy them to on-premises&nbsp;<span class="s2"><b>private</b></span>&nbsp;clouds, Windows Azure, and other&nbsp;<span class="s2"><b>public</b></span>&nbsp;cloud providers all from the same script. In other words, it doesn't contain the images or anything like that - it contains the scripts to build them&nbsp;on-premises&nbsp;<span class="s2"><b>&nbsp;in private clouds</b></span>&nbsp;or on a&nbsp;<span class="s2"><b>public</b></span>&nbsp;cloud vendor like Microsoft.<o:p></o:p></p>
<p>Using a tool like this, you combine the steps of designing a system (all the way down to passwords and accounts if you wish) and then the document drives the distribution and implementation of that intent. As time goes on and more and more&nbsp;companies implement solutions on various providers (perhaps for HA and DR) then this becomes a compelling investigation.</p>
<p>The RightScale information is here, if you want to investigate it further. Yes, there are other methods I've found, but most are tied to a single kind of cloud, and I'm not into vendor lock-in.</p>
<p><b><span style="text-decoration:underline;">Poppa Bear Level - </span></b><i><span style="text-decoration:underline;">Hands-on</span></i></p>
<ul>
<li><a href="https://www.rightscale.com/s/create-account.php?sd=Free&amp;t=supportal" target="_blank">Evaluate RightScale at no cost.</a>&nbsp;&nbsp;Just bring your Windows Azure credentials and follow the these tutorials:</li>
<li>Sign Up for&nbsp; Windows Azure -&nbsp;<a href="http://support.rightscale.com/09-Clouds/Azure/Tutorials/Sign_up_for_Windows_Azure">http://support.rightscale.com/09-Clouds/Azure/Tutorials/Sign_up_for_Windows_Azure</a></li>
<li><a href="http://support.rightscale.com/09-Clouds/Azure/Add_Windows_Azure_to_a_RightScale_Account" target="_blank">Add&nbsp;Windows Azure to a RightScale Account</a></li>
</ul>
<p>Windows Azure&nbsp;Virtual Machines&nbsp;3-tier Deployment -&nbsp;<a href="http://support.rightscale.com/09-Clouds/Azure/Tutorials/3_Tier_Deployment_with_Windows_Azure">http://support.rightscale.com/09-Clouds/Azure/Tutorials/3_Tier_Deployment_with_Windows_Azure</a></p>
<p>&nbsp;</p>
<p><b><span style="text-decoration:underline;">Momma Bear Level - </span></b><i><span style="text-decoration:underline;">Just the Right level...</span></i><b><i> ;0)</i></b></p>
<ul>
<li><a href="http://support.rightscale.com/09-Clouds/Azure/Windows_Azure_Evaluation_Guide" target="_blank">Windows Azure Evaluation Guide</a>&nbsp;-&nbsp;if you are new to Windows Azure Virtual Machines and new to RightScale, we recommend that you read the entire evaluation guide to gain a more complete understanding of the Windows Azure + RightScale solution.&nbsp;</li>
<li><a href="http://support.rightscale.com/09-Clouds/Azure" target="_blank">Windows Azure Support Page @ support.rightscale.com</a>&nbsp;- FAQ's, tutorials, etc. for &nbsp;Windows Azure Virtual Machines (<i>Work in Progress</i>)</li>
</ul>
<p><b><span style="text-decoration:underline;">Baby Bear Level - </span></b><i><span style="text-decoration:underline;">Marketing</span></i></p>
<ul>
<li><a href="http://www.rightscale.com/clouds/windows-azure.php" target="_blank">Windows Azure Page @ www.rightscale.com</a>&nbsp;- find overview information including solution briefs and presentation &amp; demonstration videos</li>
<li><a href="http://www.rightscale.com/info_center/solution-briefs/windows-azure-solution-brief.php" target="_blank">Scale&nbsp;and Automate Applications on Windows Azure</a>&nbsp; Solution Brief - how RightScale makes Windows Azure Virtual Machine even better</li>
<li><a href="http://www.rightscale.com/info_center/solution-briefs/windows-azure-sql-server-solution-brief.php" target="_blank">SQL Server on Windows Azure</a>&nbsp; Solution Brief &nbsp; -&nbsp;&nbsp;&nbsp; Run Highly Available SQL Server on Windows Azure Virtual Machines</li>
</ul>The Windows Azure Software Development Kit (SDK) and the Windows Azure Training Kit (WATK)http://sqlblog.com/blogs/buck_woody/archive/2012/09/12/the-windows-azure-software-development-kit-sdk-and-the-windows-azure-training-kit-watk.aspxWed, 12 Sep 2012 13:40:40 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:45165BuckWoody<p>Windows Azure is a platform that allows you to write software, run software, or use software that we've already written. We provide lots of resources to help you do that - many can be found right here in this blog series. There are two primary resources you can use, and it's important to understand what they are and what they do.</p>
<p><a href="http://officeimg.vo.msecnd.net/en-us/images/MH900441285.jpg"><img width="121" height="107" style="float:left;max-width:550px;" alt="" src="http://officeimg.vo.msecnd.net/en-us/images/MH900441285.jpg" border="0" /></a></p>
<h1>The Windows Azure Software Development Kit (SDK)</h1>
<p>Actually, this isn't one resource. We have SDK's for multiple development environments, such as Visual Studio and also Eclipse, along with SDK's for iOS, Android and other environments. Windows Azure is a "back end", so almost any technology or front end system can use it to solve a problem.</p>
<p>The SDK's are primarily for development. In the case of Visual Studio, you'll get a runtime environment for Windows Azure which allows you to develop, test and even run code all locally - you do not have to be connected to Windows Azure at all, until you're ready to deploy.</p>
<p>You'll also get a few samples and codeblocks, along with all of the libraries you need to code with Windows Azure in .NET, PHP, Ruby, Java and more.</p>
<p>The SDK is updated frequently, so check this location to find the latest for your environment and language - just click the bar that corresponds to what you want:</p>
<p><a href="http://www.windowsazure.com/en-us/develop/downloads/" target="_blank">http://www.windowsazure.com/en-us/develop/downloads/</a></p>
<p><a href="http://officeimg.vo.msecnd.net/en-us/images/MH900438678.jpg"><img width="151" height="163" style="margin:2px 5px;border:0px currentColor;float:left;max-width:550px;" src="http://officeimg.vo.msecnd.net/en-us/images/MH900438678.jpg" /></a></p>
<h1>The Windows Azure Training Kit (WATK)</h1>
<p>Whether you're writing code, using Windows Azure Virtual Machines (VM's) or working with Hadoop, you can use the WATK to get examples, code, PowerShell scripts, PowerPoint decks, training videos and much more. This should be your second download after the SDK. This is all of the training you need to get started, and even beyond. The WATK is updated frequently - and you can find the latest one here:</p>
<p><a href="http://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/" target="_blank">http://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>There are many other resources - again, check the <a href="http://windowsazure.com">http://windowsazure.com</a> site, the <a href="http://www.windowsazure.com/en-us/community/newsletter/2012/june/" target="_blank">community newsletter (which introduces the latest features)</a>, and <a href="http://sqlblog.com/b/buckwoody/rss.aspx" target="_blank">my blog for more</a>.</p>Windows Azure Visio Shapeshttp://sqlblog.com/blogs/buck_woody/archive/2012/07/25/windows-azure-visio-shapes.aspxWed, 25 Jul 2012 13:44:23 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:44437BuckWoody<p>Normally when I diagram a solution for a customer, I use whatever they are comfortable with. I do most of my work these days in OneNote, especially when it’s an Architecture Design Session (ADS), since I can capture notes, handwriting, drawings, web pages, whiteboards, camera shots and even voice. In fact you can search on most of those. </p> <p>Simplicity is the rule – I just want to capture enough data to move to the next phase of the project and ensure everyone understands what we are doing. When we get to that next phase, I like to use Visio. It’s a vector-based drawing and diagraming tool, which means you can zoom in or out a great deal without a loss of definition, in most cases. For complicated diagrams, this is essential. </p> <p>The basic shapes in Visio are fine – and there are some computer and network shapes I use there all the time. But I wanted something that would show the basic parts of Windows Azure, from our IaaS to our PaaS to the SaaS shapes, as well as security federation providers like Google or Yahoo that you can leverage in Azure. </p> <p>So I created some shapes, and I’ll share them here. </p> <p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/5008.AzureShapes_5F00_2.jpg"><img title="AzureShapes" style="display:inline;background-image:none;" border="0" alt="AzureShapes" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2055.AzureShapes_5F00_thumb.jpg" width="822" height="478" /></a></p> <p>Here’s the link to the file on my SkyDrive – understand that these are from Buck Woody, NOT Microsoft. They are neither official nor approved, and if they cause your machine to break Microsoft isn’t liable for that: <a href="http://sdrv.ms/QjalVR">http://sdrv.ms/QjalVR</a>&#160;</p> <p><font face="Calibri"><b><i style="mso-bidi-font-style:normal;"><span style="color:maroon;font-size:10pt;mso-bidi-font-size:11.0pt;mso-bidi-font-family:calibri;mso-ansi-language:en;">Disclaimer, for people who need to be told this sort of thing: </span></i></b><b><i style="mso-bidi-font-style:normal;"><span style="color:maroon;font-size:10pt;mso-bidi-font-family:calibri;mso-ansi-language:en;"><o:p></o:p></span></i></b></font></p> <p><font face="Calibri"><i style="mso-bidi-font-style:normal;"><span style="color:maroon;font-size:10pt;mso-bidi-font-family:calibri;mso-ansi-language:en;">Never trust any software packages, including those that you find here, until you understand exactly what it does and how it will act on your systems. Always check the script on a test system or Virtual Machine, not a production system. Yes, there are always multiple ways to do things, and this tool may not work in every situation, for everything. It’s just a graphic, people. All code on this site is performed by a professional stunt driver on a closed course. Your mileage may vary. Void where prohibited. Offer good for a limited time only. Keep out of reach of small children. Do not operate heavy machinery while using this software. If you experience blurry vision, indigestion or diarrhea during the operation of this software, see a physician immediately.</span></i><span style="font-family:'Times New Roman','serif';font-size:12pt;mso-ansi-language:en;"><o:p></o:p></span></font></p> <p><font color="#000000" size="3" face="Times New Roman"></font></p>Windows Azure – Write, Run or Use Softwarehttp://sqlblog.com/blogs/buck_woody/archive/2012/06/13/windows-azure-write-run-or-use-software.aspxWed, 13 Jun 2012 22:47:00 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:43884BuckWoody<p><a href="http://www.windowsazure.com/en-us/pricing/free-trial/" target="_blank">Windows Azure</a> is a platform that has you covered, whether you need to write software, run software that is already written, or Install and use &ldquo;canned&rdquo; software whether you or someone else wrote it. Like any platform, it&rsquo;s a set of tools you can use where it makes sense to solve a problem.</p>
<p>You can click on the graphic below for a larger picture of these components, or download a poster with more details <a title="Azure Poster Download" href="http://www.microsoft.com/en-us/download/details.aspx?id=35473&amp;WT.mc_id=rss_alldownloads_all" target="_blank">here</a>.</p>
<p style="text-align:center;"><a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/1715.AzureArch.png"><img src="http://sqlblog.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/1715.AzureArch.png" alt="" border="0" /></a></p>
<p>The primary location for Windows Azure information is located at <a href="http://windowsazure.com" target="_blank">http://windowsazure.com</a>. You can find everything there from the development kits for writing software to pricing, licensing and tutorials on all of that.</p>
<p>I have a few links here for learning to use Windows Azure &ndash; although it&rsquo;s best if you focus not on the tools, <em>but what you want to solve</em>. I&rsquo;ve got it broken down here into various sections, so you can quickly locate things you want to know. I&rsquo;ll include resources here from Microsoft and elsewhere &ndash; I use these same resources in the Architectural Design Sessions (ADS) I do with my clients worldwide.</p>
<p>There is also a great <a href="http://sqlblog.com/b/alfredth/archive/2012/08/30/cloud-fundamentals-video-series.aspx" target="_blank">video series on Cloud Fundamentals here, if you have some time to watch them. It's a&nbsp;great series that covers a lot of ground</a>.</p>
<h1><span style="color:#0000ff;"><span style="font-weight:normal;">Write Software</span></span></h1>
<p>Also called &ldquo;<a href="http://www.microsoft.com/industry/government/guides/cloud_computing/5-PaaS.aspx" target="_blank">Platform as a Service</a>&rdquo; (PaaS), Windows Azure has lots of components you can use together or separately that allow you to write software in .NET or various Open Source languages to work completely online, or in partnership with code you have on-premises or both &ndash; even if you&rsquo;re using other cloud providers. Keep in mind that all of the features you see here can be used together, or independently. For instance, you might only use a Web Site, or use Storage, but you can use both together. You can access all of these components through standard REST API calls, or using our <a href="http://www.windowsazure.com/en-us/develop/downloads/" target="_blank">Software Development Kit&rsquo;s API&rsquo;s, which are a lot easier</a>. In any case, you simply use Visual Studio, Eclipse, Cloud9 IDE, or even a text editor to write your code from a Mac, PC or Linux.</p>
<p><a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/6545.Items_5F00_2.png"><img style="margin:0px 8px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="Items" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/5305.Items_5F00_thumb.png" alt="Items" width="24" height="19" align="left" border="0" /></a>&nbsp;<em>Components you can use:</em></p>
<p><a href="http://www.windowsazure.com/en-us/home/scenarios/web-sites/" target="_blank"><img style="margin:0px 5px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2251.link_5F00_5.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://www.windowsazure.com/en-us/home/scenarios/web-sites/" target="_blank">Azure Web Sites</a>: Windows Azure Web Sites allow you to quickly write an deploy websites, without setting a Virtual Machine, installing a web server or configuring complex settings. They work alone, with other Windows Azure Web Sites, or with other parts of Windows Azure. Read more about <a href="http://sqlblog.com/b/acoat/archive/2012/06/24/windows-azure-when-do-i-use-what.aspx" target="_blank">deciding to use Web Sites or Roles</a>.</p>
<p><a href="http://www.windowsazure.com/en-us/home/features/cloud-services/" target="_blank"><img style="margin:0px 5px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0601.link_5F00_6.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://www.windowsazure.com/en-us/home/features/cloud-services/" target="_blank">Web and Worker Roles</a>: Windows Azure Web Roles give you a full stateless computing instance with Internet Information Services (IIS) installed and configured. Windows Azure Worker Roles give you a full stateless computing instance without Information Services (IIS) installed, often used in a "Services" mode. Scale-out is achieved either manually or programmatically under your control.</p>
<p><a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee924681.aspx" target="_blank"><img style="margin:0px 5px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2337.link_5F00_7.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee924681.aspx" target="_blank">Storage</a>: Windows Azure Storage types include <a href="http://www.windowsazure.com/en-us/develop/net/how-to-guides/blob-storage/" target="_blank">Blobs</a> to store raw binary data, <a href="http://www.windowsazure.com/en-us/develop/net/how-to-guides/table-services/" target="_blank">Tables</a> to use key/value pair data (like NoSQL data structures), <a href="http://www.windowsazure.com/en-us/develop/net/how-to-guides/queue-service/" target="_blank">Queues</a> that allow interaction between stateless roles, and a relational <a href="http://www.windowsazure.com/en-us/develop/net/how-to-guides/sql-database/" target="_blank">SQL Server database</a>.</p>
<p><a href="http://www.windowsazure.com/en-us/develop/net/fundamentals/hybrid-solutions/" target="_blank"><img style="margin:0px 5px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2843.link_5F00_8.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://www.windowsazure.com/en-us/develop/net/fundamentals/hybrid-solutions/" target="_blank">Other Services</a>: Windows Azure has many other services such as a <a href="http://www.windowsazure.com/en-us/develop/net/how-to-guides/access-control/" target="_blank">security mechanism</a>, a <a href="http://www.windowsazure.com/en-us/develop/net/how-to-guides/cache/" target="_blank">Cache</a> (memcacheD compliant), a <a href="http://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-topics/" target="_blank">Service Bus</a>, a Traffic Manager and more. Once again, these features can be used with a Windows Azure project, or alone based on your needs.</p>
<p><img style="margin:0px 5px 0px 0px;border:0px currentColor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2843.link_5F00_8.png" alt="link" width="24" height="24" align="left" border="0" /><a href="http://www.windowsazure.com/en-us/home/scenarios/mobile-services/" target="_blank">Windows Azure Mobile Services</a>: A simple framework service which enables you to quickly develop the back-end for mobile services. For the front-end, check out the <a href="https://github.com/WindowsAzure-Toolkits/wa-toolkit-ios" target="_blank">iOS SDK</a>, <a href="http://blogs.technet.com/b/microsoft_blog/archive/2011/05/09/microsoft-announces-windows-azure-toolkits-for-ios-android-and-windows-phone.aspx" target="_blank">news about the Android SDK</a>, and the <a href="http://watwp.codeplex.com/" target="_blank">Windows Phone SDK</a>.&nbsp;&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.windowsazure.com/en-us/develop/overview/" target="_blank"><img style="margin:0px 5px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/1680.link_5F00_9.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://www.windowsazure.com/en-us/develop/overview/" target="_blank">Various Languages</a>: Windows Azure supports the .NET stack of languages, as well as many Open-Source languages like Java, Python, PHP, Ruby, NodeJS, C++ and more.</p>
<p>&nbsp;</p>
<h1><span style="color:#0000ff;"><span style="font-weight:normal;">Use Software</span></span></h1>
<p>Also called &ldquo;<a href="http://msdn.microsoft.com/en-us/library/bb507203.aspx" target="_blank">Software as a Service</a>&rdquo; (SaaS) this often means consumer or business-level software like Hotmail or Office 365. In other words, you simply log on, use the software, and log off &ndash; there&rsquo;s nothing to install, and little to even configure. For the Information Technology professional, however, It&rsquo;s not quite the same. We want software that provides services, but in a platform. That means we want things like Hadoop or other software we don&rsquo;t want to have to install and configure.</p>
<p><a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/6545.Items_5F00_2.png"><img style="margin:0px 8px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="Items" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/5305.Items_5F00_thumb.png" alt="Items" width="24" height="19" align="left" border="0" /></a>&nbsp;<em>Components you can use:</em></p>
<p><a href="http://www.youtube.com/watch?v=MpsIh2HwdPo"><img style="margin:0px 5px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2744.link_5F00_10.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://www.youtube.com/watch?v=MpsIh2HwdPo" target="_blank">Kits</a>: Various software &ldquo;kits&rdquo; or packages are supported with just a few clicks, such as Umbraco, Wordpress, and others.</p>
<p><a href="http://www.windowsazure.com/en-us/home/features/media-services/" target="_blank"><img style="margin:0px 5px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/6557.link_5F00_11.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://www.windowsazure.com/en-us/home/features/media-services/" target="_blank">Windows Azure Media Services</a>: Windows Azure Media Services is a suite of services that allows you to upload media for encoding, processing and even streaming &ndash; or even one or more of those functions. We can add DRM and even commercials to your media if you like. Windows Azure Media Services is used to stream large events all the way down to small training videos.</p>
<p><a href="http://www.windowsazure.com/en-us/home/scenarios/big-data/" target="_blank"><img style="margin:0px 5px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/3821.link_5F00_12.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://www.windowsazure.com/en-us/home/scenarios/big-data/" target="_blank">High Performance Computing and &ldquo;Big Data&rdquo;</a>: Windows Azure allows you to scale to huge workloads using a few clicks to deploy <a href="https://www.hadooponazure.com/" target="_blank">Hadoop</a> Clusters or the <a href="http://msdn.microsoft.com/en-us/library/hh560251(v=vs.85).aspx" target="_blank">High Performance Computing (HPC) nodes</a>, accepting HPC Jobs, Pig and Hive Jobs, and even interfacing with Microsoft Excel.</p>
<p><a href="https://datamarket.azure.com/" target="_blank"><img style="margin:0px 5px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/7853.link_5F00_13.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="https://datamarket.azure.com/" target="_blank">Windows Azure Marketplace</a>: Windows Azure Marketplace offers data and programs you can quickly implement and use &ndash; some free, some for-fee.</p>
<p>&nbsp;</p>
<h1><span style="color:#0000ff;"><span style="font-weight:normal;">Run Software</span></span></h1>
<p>Also known as &ldquo;<a href="http://sqlblog.com/b/jmeier/archive/2010/02/11/software-as-a-service-saas-platform-as-a-service-paas-and-infrastructure-as-a-service-iaas.aspx" target="_blank">Infrastructure as a Service</a>&rdquo; (IaaS), this offering allows you to build or simply choose a Virtual Machine to run server-based software.</p>
<p><a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/6545.Items_5F00_2.png"><img style="margin:0px 8px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="Items" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/5305.Items_5F00_thumb.png" alt="Items" width="24" height="19" align="left" border="0" /></a>&nbsp;<em>Components you can use:</em></p>
<p><a href="http://www.windowsazure.com/en-us/home/scenarios/virtual-machines/" target="_blank"><img style="margin:0px 5px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/1680.link_5F00_14.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://www.windowsazure.com/en-us/home/scenarios/virtual-machines/" target="_blank">Persistent Virtual Machines</a>: You can choose to install Windows Server, Windows Server with Active Directory, with SQL Server, or even SharePoint from a pre-configured gallery. You can configure your own server images with standard Hyper-V technology and load them yourselves &ndash; and even bring them back when you&rsquo;re done. As a new offering, we also even allow you to select various distributions of Linux &ndash; a first for Microsoft.</p>
<p><a href="http://msdn.microsoft.com/en-us/library/windowsazure/gg432997.aspx" target="_blank"><img style="margin:0px 5px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/7041.link_5F00_15.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://msdn.microsoft.com/en-us/library/windowsazure/gg432997.aspx" target="_blank">Windows Azure Connect</a>: You can connect your on-premises networks to Windows Azure Instances.</p>
<p><a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee924681.aspx" target="_blank"><img style="margin:0px 3px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2744.link_5F00_16.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee924681.aspx" target="_blank">Storage</a>: Windows Azure Storage can be used as a remote backup, a hybrid storage location and more using software or even hardware appliances.</p>
<p>&nbsp;</p>
<h1><span style="color:#0000ff;"><span style="font-weight:normal;">Decision Matrix</span></span></h1>
<p><a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2742.tool_5F00_2.png"><img style="border:0px currentcolor;display:inline;background-image:none;" title="tool" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/3821.tool_5F00_thumb.png" alt="tool" width="29" height="30" border="0" /></a>With all of these options, you can use Windows Azure to solve just about any computing problem. It&rsquo;s often hard to know when to use something on-premises, in the cloud, and what kind of service to use.</p>
<p>I&rsquo;ve used a decision matrix in the last couple of years to take a particular problem and choose the proper technology to solve it. It&rsquo;s all about options &ndash; there is no &ldquo;silver bullet&rdquo;, whether that&rsquo;s Windows Azure or any other set of functions. I take the problem, decide which particular component I want to own and control &ndash; and choose the column that has that box darkened. For instance, if I have to control the wiring for a solution (a requirement in some military and government installations), that means the &ldquo;Networking&rdquo; component needs to be dark, and so I select the &ldquo;On Premises&rdquo; column for that particular solution. If I just need the solution provided and I want no control at all, I can look as &ldquo;Software as a Service&rdquo; solutions.</p>
<p><a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2251.image6.png"><img style="border:0px currentcolor;margin-right:auto;margin-left:auto;float:none;display:block;background-image:none;" title="image" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/1273.image6_5F00_thumb.png" alt="image" width="663" height="487" border="0" /></a></p>
<h1><span style="color:#0000ff;"><span style="font-weight:normal;">Training Resources</span></span></h1>
<p>&nbsp;<a href="http://www.windowsazure.com/en-us/support/trust-center/" target="_blank"><img style="margin:0px 3px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0601.link_5F00_d062d746_2D00_5265_2D00_40d7_2D00_aaaa_2D00_02275b1cedf9.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://sqlblog.com/controlpanel/blogs/posteditor.aspx><a>Windows Azure Training Kit</a>: There's a full training kit available for Windows Azure IaaS, PaaS and SaaS.</p>
<p>&nbsp;<a href="http://www.windowsazure.com/en-us/support/trust-center/" target="_blank"><img style="margin:0px 3px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0601.link_5F00_d062d746_2D00_5265_2D00_40d7_2D00_aaaa_2D00_02275b1cedf9.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://www.microsoftvirtualacademy.com/training-courses/introduction-to-windows-azure#fbid=R7EqWKgFhQu" target="_blank">Microsoft Virtual Academy</a>: Free video-based training.</p>
<p>&nbsp;<a href="http://www.windowsazure.com/en-us/support/trust-center/" target="_blank"><img style="margin:0px 3px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0601.link_5F00_d062d746_2D00_5265_2D00_40d7_2D00_aaaa_2D00_02275b1cedf9.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://msdn.microsoft.com/en-us/library/windowsazure/dd163896.aspx" target="_blank">Windows Azure Documentation</a>: Official documentation for the product.</p>
<p>&nbsp;</p>
<h1><span style="color:#0000ff;"><span style="font-weight:normal;">Security, Pricing, and Other Info</span></span></h1>
<p>&nbsp;<a href="http://www.windowsazure.com/en-us/support/trust-center/" target="_blank"><img style="margin:0px 3px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0601.link_5F00_d062d746_2D00_5265_2D00_40d7_2D00_aaaa_2D00_02275b1cedf9.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://www.windowsazure.com/en-us/support/trust-center/" target="_blank">Security</a>: Security is one of the first questions you should ask in any distributed computing environment. We have certification info, coding guidelines and more, even a general &ldquo;Request for Information&rdquo; <a href="http://www.microsoft.com/download/en/details.aspx?id=26647" target="_blank">RFI Response already created for you</a>.&nbsp;</p>
<p>&nbsp;<a href="http://www.windowsazure.com/en-us/pricing/purchase-options/" target="_blank"><img style="margin:0px 3px 0px 0px;border:0px currentcolor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0284.link_5F00_c1797794_2D00_6178_2D00_4357_2D00_9af5_2D00_4729f7f7aa4f.png" alt="link" width="24" height="24" align="left" border="0" /></a><a href="http://www.windowsazure.com/en-us/pricing/purchase-options/" target="_blank">Pricing</a>: Are there licenses? <a href="http://www.windowsazure.com/en-us/pricing/calculator/?scenario=web" target="_blank">How much does this cost</a>? <a href="http://sqlblog.com/b/buckwoody/archive/2011/11/08/developing-a-cost-model-for-cloud-applications.aspx" target="_blank">Is there a way to estimate the costs in this new environment</a>?</p>
<p><a href="http://sqlblog.com/b/davidmcg/archive/2012/06/14/azure-action-community-newsletter-13th-june-2012.aspx" target="_blank"><img style="margin:0px 3px 0px 0px;border:0px currentColor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0284.link_5F00_c1797794_2D00_6178_2D00_4357_2D00_9af5_2D00_4729f7f7aa4f.png" alt="link" width="24" height="24" align="left" border="0" /></a>New Features: Many new features were added to Windows Azure - and you can keep up to date with community information released monthly here: <a href="http://sqlblog.com/b/davidmcg/">http://blogs.msdn.com/b/davidmcg/</a></p>
<p><img style="margin:0px 3px 0px 0px;border:0px currentColor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0284.link_5F00_c1797794_2D00_6178_2D00_4357_2D00_9af5_2D00_4729f7f7aa4f.png" alt="link" width="24" height="24" align="left" border="0" /></p>
<p>Windows Azure Cookbooks: Great resource for architecture solutions - <a href="http://www.notsotrivial.net/blog/category/Architecture.aspx">http://www.notsotrivial.net/blog/category/Architecture.aspx</a></p>
<p><img style="margin:0px 3px 0px 0px;border:0px currentColor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0284.link_5F00_c1797794_2D00_6178_2D00_4357_2D00_9af5_2D00_4729f7f7aa4f.png" alt="link" width="24" height="24" align="left" border="0" /></p>
<p>Support: <a href="http://support.microsoft.com/kb/2721672" target="_blank">Software Support on Virtual Machines</a>,&nbsp;<a href="https://www.windowsazure.com/en-us/support/contact/" target="_blank">general support</a>, <a href="http://www.windowsazure.com/en-us/support/plans/" target="_blank">support plans</a></p>
<p><img style="margin:0px 3px 0px 0px;border:0px currentColor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0284.link_5F00_c1797794_2D00_6178_2D00_4357_2D00_9af5_2D00_4729f7f7aa4f.png" alt="link" width="24" height="24" align="left" border="0" /></p>
<p>Hands-On Labs: <a href="http://msdn.microsoft.com/en-us/jj618399">http://msdn.microsoft.com/en-us/jj618399</a></p>
<p><img style="margin:0px 3px 0px 0px;border:0px currentColor;float:left;display:inline;background-image:none;" title="link" src="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/0284.link_5F00_c1797794_2D00_6178_2D00_4357_2D00_9af5_2D00_4729f7f7aa4f.png" alt="link" width="24" height="24" align="left" border="0" /><a href="http://www.microsoft.com/en-us/download/details.aspx?id=35524&amp;WT.mc_id=rss_alldownloads_all" target="_blank">Windows Azure Capability Discussion Presentation</a> and <a href="http://www.microsoft.com/en-us/download/details.aspx?id=35527&amp;WT.mc_id=rss_alldownloads_all" target="_blank">Windows Azure Solution Implementer Guide</a> and <a href="http://www.microsoft.com/en-us/download/details.aspx?id=35534&amp;WT.mc_id=rss_alldownloads_all" target="_blank">Windows Azure Business Priorities Guide</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>Windows Azure End to End Exampleshttp://sqlblog.com/blogs/buck_woody/archive/2012/05/29/windows-azure-end-to-end-examples.aspxTue, 29 May 2012 13:45:59 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:43642BuckWoody<p>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. </p> <p>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. </p> <p>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, <a href="http://www.microsoft.com/en-us/download/details.aspx?id=8396" target="_blank">I of course began with the Windows Azure Training Kit</a> – 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. </p> <h2>CodePlex</h2> <p><a href="http://www.codeplex.com/" target="_blank">CodePlex is Microsoft’s version of an “Open Source” repository</a>. 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. </p> <p>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 <a href="http://blobshare.codeplex.com/" target="_blank">a full project that is sort of a “Corporate Dropbox” that uses Windows Azure Storage</a>. </p> <p>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. </p> <p><strong><em>Link: <a href="http://azureexamples.codeplex.com/site/search?query=Azure&amp;ac=8">http://azureexamples.codeplex.com/site/search?query=Azure&amp;ac=8</a>&#160;</em></strong></p> <p>&#160;</p> <h2>Tailspin</h2> <p><a href="http://msdn.microsoft.com/en-us/practices/default" target="_blank">Microsoft Patterns and Practices</a> 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. </p> <p>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. </p> <p>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. </p> <p><strong><em>Link: <a href="http://msdn.microsoft.com/en-us/library/ff728592.aspx">http://msdn.microsoft.com/en-us/library/ff728592.aspx</a></em></strong></p> <h2>Azure Stock Trader</h2> <p>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.</p> <p>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. </p> <p>I use this application all the time to demonstrate Windows Azure, or a particular part of Windows Azure.</p> <p>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.&#160; </p> <p><strong><em>Links: Learn it: <a href="http://msdn.microsoft.com/en-us/netframework/bb499684">http://msdn.microsoft.com/en-us/netframework/bb499684</a> Use it: <a href="https://azurestocktrader.cloudapp.net/">https://azurestocktrader.cloudapp.net/</a></em></strong></p>Book Review (Book 11) - Applied Architecture Patterns on the Microsoft Platformhttp://sqlblog.com/blogs/buck_woody/archive/2012/05/15/book-review-book-11-applied-architecture-patterns-on-the-microsoft-platform.aspxTue, 15 May 2012 16:50:34 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:43364BuckWoody<p>This is a continuation of the books I challenged myself to read to help my career - one a month, for year. <a href="http://sqlblog.com/b/buckwoody/archive/2011/06/28/book-review-programming-windows-azure-by-siriram-krishnan.aspx"><span style="text-decoration:underline;"><span style="color:#0066cc;">You can read my first book review here</span></span></a>, and <a href="http://sqlblog.com/b/buckwoody/archive/2011/06/07/head-in-the-clouds-eyes-on-the-books.aspx" target="_blank">the entire list is here</a>. The book I chose for April 2012 was: <a href="http://www.amazon.com/Applied-Architecture-Patterns-Microsoft-Platform/dp/184968054X" target="_blank">Applied Architecture Patterns on the Microsoft Platform</a>. I was traveling at the end of last month so I&rsquo;m a bit late posting this review here.</p>
<p><strong>Why I chose this book: </strong></p>
<p>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.</p>
<p><strong>What I learned:</strong></p>
<p>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.</p>
<p>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&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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>I recommend you get the book - and use it. I hope they keep it updated - I'll be a frequent customer. :)</p>
<p>&nbsp;</p>Preparation is key to a successful cloud deploymenthttp://sqlblog.com/blogs/buck_woody/archive/2012/05/01/preparation-is-key-to-a-successful-cloud-deployment.aspxTue, 01 May 2012 13:09:16 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:43122BuckWoody<p>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.&#160; </p> <p>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), </p> <p>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: </p> <h3>Follow standard recommendations for successful projects in general </h3> <p>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. </p> <h3>Educate yourself</h3> <p>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? </p> <h3>Get a partner if needed</h3> <p>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. </p> <p>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?</p> <p>“A new broom sweeps clean”, the old adage goes, but the old brooms know where the dirt is. </p> <h3>Build a model</h3> <p>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. </p> <h3>Test your theories</h3> <p>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!”</p> <p>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. </p> <h3>Rinse, lather, repeat</h3> <p>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. </p> <p>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. </p>Pay in the future should make you think in the presenthttp://sqlblog.com/blogs/buck_woody/archive/2012/04/10/pay-in-the-future-should-make-you-think-in-the-present.aspxTue, 10 Apr 2012 13:53:50 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:42764BuckWoody<p>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. </p> <p>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 <em>now </em>is worth more than money <em>later</em>. Saving that up-front cost allows you to invest it in other things. </p> <p>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. </p> <p>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. </p> <p>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. </p>“I could use a little help here” or “I can do it myself, thank you” for Cloud Projectshttp://sqlblog.com/blogs/buck_woody/archive/2012/04/03/i-could-use-a-little-help-here-or-i-can-do-it-myself-thank-you-for-cloud-projects.aspxTue, 03 Apr 2012 13:20:55 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:42665BuckWoody<p>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. </p> <p><em>However….</em></p> <p>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. <a href="http://blogs.msdn.com/b/buckwoody/archive/2010/11/16/windows-azure-learning-plan.aspx" target="_blank">Sure, we have absolutely tons of free training, kits, videos, online books and more to learn on your own</a>, but some things like architecture can be pivotal as you move along. </p> <p>So the question is, should you just strike out on your own for a Cloud project, or get <a href="http://www.microsoft.com/microsoftservices/en/us/journey_to_the_cloud.aspx" target="_blank">Microsoft Consulting Services</a> 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.</p> <p align="center"><em><font color="#c0504d">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.</font></em> </p> <p><strong>How much time do you have?</strong></p> <p>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. </p> <p><strong>How complex is the project?</strong></p> <p><strong>I</strong>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&#160; - can be quite different than what you may have encountered before. </p> <p><strong>How many people do you have?</strong></p> <p>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. <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" /> 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. </p> <p><strong>How critical is the project?</strong></p> <p>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.</p> <p>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. </p>Why do I need two Instances in Windows Azure?http://sqlblog.com/blogs/buck_woody/archive/2012/03/20/why-do-i-need-two-roles-in-windows-azure.aspxTue, 20 Mar 2012 13:23:00 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:42411BuckWoody<div style="float:none;margin:0px;padding:4px 0px 4px 0px;" class="wlWriterHeaderFooter"></div>
<p>Windows Azure as a Platform as a Service (PaaS) means that there are various components you can use in it to solve a problem:</p>
<ol>
<li><strong>Compute &ldquo;Roles&rdquo;</strong> - Computers running an OS and optionally IIS - you can have more than one "Instance" of a given Role</li>
<li><strong>Storage</strong> - Blobs, Tables and Queues for Storage</li>
<li><strong>Other Services</strong> - Things like the Service Bus, Azure Connection Services, SQL Azure and Caching</li>
</ol>
<p>It&rsquo;s important to understand that some of these services are <em>Stateless</em> and others <em>maintain State</em>. <em>Stateless </em>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&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&rsquo;t really affected except for the few seconds it takes to change them out. The cashier function in this example is stateless.</p>
<p>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&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.</p>
<p>It&rsquo;s important to note that storage in Azure <em>does </em>maintain State. Your data will not simply disappear - it is maintained - in fact, it&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.</p>
<p>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.</p>
<p>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&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 &ldquo;cashier&rdquo; has someone to replace them when they disappear. It&rsquo;s not just a good idea - to gain the Service Level Agreement (SLA) for our uptime in Azure it&rsquo;s a requirement. We point this out right in the Management Portal when you deploy the application:</p>
<p><a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/2703.Uptime1_5F00_2.jpg"><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://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79-metablogapi/7180.Uptime1_5F00_thumb.jpg" width="587" height="362" /></a></p>
<p><em>(Click to enlarge)</em></p>
<p>When you deploy a Role Instance you can also set the &ldquo;Upgrade Domain&rdquo;. Placing Roles on separate Upgrade Domains means that you have a continuous service whenever you upgrade&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&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:</p>
<p><img src="http://i.msdn.microsoft.com/dynimg/IC345880.png" /></p>
<p>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.</p>