<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tag 'SQL Azure'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=SQL+Azure&amp;orTags=0</link><description>Search results matching tag 'SQL Azure'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Geek City: A Grammar Geek in the Cloud</title><link>http://sqlblog.com/blogs/kalen_delaney/archive/2013/02/28/grammar-geek-in-the-cloud.aspx</link><pubDate>Thu, 28 Feb 2013 06:25:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:47950</guid><dc:creator>Kalen Delaney</dc:creator><description>&lt;p&gt;Those of you who know me well know that I am usually a stickler for spelling, grammar and proper word usage. I may have even lost a few friends because of what some people see as obsession. I am not infallible, and I do make typos, but I like to try to correct them if possible as soon as I discover them (or as soon as they are brought to my attention.)&lt;/p&gt;  &lt;p&gt;So now I will admit that I made a mistake in my usage of of the word ‘premise’, when talking about Cloud vs. non-Cloud databases. I was using the term on-premise as the opposite of ‘in the Cloud’, and my friend Cindy corrected me last week in no uncertain terms. So I went online and quickly found this post that proved she was right and I was wrong:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://fbhalper.wordpress.com/2009/06/11/premise-vs-premises-in-the-cloud/" href="http://fbhalper.wordpress.com/2009/06/11/premise-vs-premises-in-the-cloud/"&gt;http://fbhalper.wordpress.com/2009/06/11/premise-vs-premises-in-the-cloud/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;I did a bit more searching and found that I am not the only one making this mistake. A Research VP at Gartner actually makes the same mistake in a published post:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.gartner.com/chris-wolf/2010/07/14/on-premise-microsoft-azure-an-inevitable-milestone-in-azure%e2%80%99s-evolution/" href="http://blogs.gartner.com/chris-wolf/2010/07/14/on-premise-microsoft-azure-an-inevitable-milestone-in-azure%e2%80%99s-evolution/"&gt;http://blogs.gartner.com/chris-wolf/2010/07/14/on-premise-microsoft-azure-an-inevitable-milestone-in-azure%e2%80%99s-evolution/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I will admit that I find the word ‘on-premises’ awkward to say, so when I’m talking casually I might end up leaving off the last syllable. &lt;/p&gt;  &lt;p&gt;But anytime I’m writing, I promise to use premise vs. premises appropriately. &lt;/p&gt;  &lt;p&gt;And I expect the same from everyone else.&lt;/p&gt;  &lt;p&gt;&lt;img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://sqlblog.com/blogs/kalen_delaney/wlEmoticon-smile_5D7FA776.png"&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff00ff" size="4"&gt;&lt;strong&gt;~Kalen&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>How Does the Cloud Change a Database Administrator’s Job?</title><link>http://sqlblog.com/blogs/buck_woody/archive/2013/01/29/how-does-the-cloud-change-a-database-administrator-s-job.aspx</link><pubDate>Tue, 29 Jan 2013 15:08:32 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:47385</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;I recently&lt;a href="http://sqlblog.com/b/buckwoody/archive/2013/01/22/how-does-the-cloud-change-a-systems-architect-s-job.aspx" target="_blank"&gt; posted a blog entry on how cloud computing would change the Systems Architect&amp;rsquo;s role in an organization&lt;/a&gt;. In a way, the Systems Architect has the easiest transition to a new way of using computing technologies. In fact, that&amp;rsquo;s actually part of the job description.&amp;nbsp;I mentioned that a Systems Architect has three primary vectors to think about for cloud computing, as it applies to what they should do:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="color:#0000ff;"&gt;Knowledge - Which options are available to solve problems, and what are their strengths and weaknesses.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color:#0000ff;"&gt;Experience - What has the System Architect seen and worked with in the past.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color:#0000ff;"&gt;Coordination - A system design is based on multiple factors, and one person can't make all the choices. There will need to be others involved at every level of the solution, and the Systems Architect will need to know who those people are and how to work with them.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;The Database Administrator Role&lt;/h1&gt;
&lt;p&gt;But a Database Administrator (DBA) is probably one of the harder roles to think about when it comes to cloud computing. First, let&amp;rsquo;s define what a Database Administrator usually thinks about as part of their job:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:#993300;"&gt;Planning, Installing and Configuring a Database Platform&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color:#993300;"&gt;Planning, designing and creating databases&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color:#993300;"&gt;Planning, designing and implementing High Availability and Disaster Recovery for each database (HADR) based on requirements for its workload&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color:#993300;"&gt;Maintaining and monitoring the database platform&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color:#993300;"&gt;Implementing performance tuning on the databases based on monitoring&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color:#993300;"&gt;Re-balancing workloads across database servers based on monitoring&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color:#993300;"&gt;Securing databases platforms and individual databases based on requirements and implementation&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&amp;rsquo;s just a short list, and each of those unpacks into a larger set of tasks.&lt;/p&gt;
&lt;p&gt;The issue is that&lt;em&gt; I&amp;rsquo;ve never actually met a DBA that does all of those things&lt;/em&gt;, or &lt;strong&gt;just&lt;/strong&gt; all of those things. Many times they do much more, sometimes the systems are so large they specialize on just a few of them.&lt;/p&gt;
&lt;p&gt;And as you can see from the list, some of these areas are shared with other roles. For instance, in some shops, the DBA plans, purchases, sets up and configures the hardware for database servers. In others that&amp;rsquo;s done&lt;br /&gt;by the Infrastructure Team. In some shops the DBA designs databases from software requirements, and in others the developers do that &amp;ndash; or perhaps it&amp;rsquo;s done as a joint effort. The same holds true for database code &amp;ndash; sometimes the&lt;br /&gt;DBA does it, other times the developer, and still others it&amp;rsquo;s a shared task.&lt;/p&gt;
&lt;p&gt;In fact, you could argue that there are few other roles in IT where the roles are so intermixed. Also, the DBA works with software the company develops, and software the company buys. They work with hardware, networking, security and software. There are certain aspects of design and tuning that are outside the purview of some of those things, and inside the others.&lt;/p&gt;
&lt;p&gt;With all of these variables, simply telling a DBA that they should &amp;ldquo;use the cloud&amp;rdquo; is not the proper approach.&lt;/p&gt;
&lt;h1&gt;How the Cloud Changes Things&lt;/h1&gt;
&lt;p&gt;To be sure, the DBA has the same vectors as the Systems Architect. They need to educate themselves on the options within this new option (&lt;span style="color:#0000ff;"&gt;Knowledge&lt;/span&gt;), try a few test solutions out (&lt;span style="color:#0000ff;"&gt;Experience&lt;/span&gt;) and of course work with others on various parts of the implementation (&lt;span style="color:#0000ff;"&gt;Coordination&lt;/span&gt;). But it goes beyond that.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowsazure.com/en-us/manage/windows/fundamentals/intro-to-windows-azure/#components" target="_blank"&gt;There are three big buckets of cloud computing&lt;/a&gt;, dealing with simply using a Virtual Machine (IaaS) to writing code without worrying about the virtualization or even the operating system (PaaS) and using software that&amp;rsquo;s already written and being delivered via an Application Programming Interface (API). Each of these has so many options and configurations that it&amp;rsquo;s often better to think about the problem you&amp;rsquo;re trying to solve rather than all of the technology within a given area - although some of that is certainly necessary anyway.&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Database Platform Architecture&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ll start with when the DBA should even consider cloud computing for a solution. Once again, it&amp;rsquo;s not an &amp;ldquo;all or nothing&amp;rdquo; paradigm, where you either run something on premises or in the cloud &amp;ndash; it&amp;rsquo;s often a matter of selecting the right components to solve a problem.&amp;nbsp; In my design sessions with DBA&amp;rsquo;s I break these down into three big areas where they might want to consider the cloud &amp;ndash;and then we talk about how to implement each one:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="color:#0000ff;"&gt;Audiences&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color:#0000ff;"&gt;HADR&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="color:#0000ff;"&gt;Data Services&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Audiences&lt;/h3&gt;
&lt;p&gt;If the users of your database systems all sit in the same facility, you own the servers and networking, and the application servers are separate from the database server, it doesn&amp;rsquo;t usually make sense to take that database workload and place it on Windows Azure &amp;ndash; or any other cloud provider. The latency alone prevents a satisfactory performance profile, and in some cases won&amp;rsquo;t work at all. It doesn&amp;rsquo;t matter if the cloud solution is cheaper or easier &amp;ndash; if you&amp;rsquo;re moving a lot of data every second between an on-premises system and the cloud it won&amp;rsquo;t work well.&lt;/p&gt;
&lt;p&gt;However &amp;ndash; if your users are in multiple locations, especially globally, or you have a mix of company and external customer users, it might make sense to evaluate a shared data location. You still need to consider the implications of how much data the application server pushes back and forth, but you may be able to locate both the application server and SQL Server in an IaaS role. Assuming the data sent to the final client will work across public Internet channels, there may be a fit. There are security implications, but unless you have point-to-point connections for your current solution you&amp;rsquo;re faced with the same security questions on both options.&lt;/p&gt;
&lt;p&gt;Your audience might also be developers looking for a way to quickly spin up a server and then turn it down when they are done, paying for the time and not the hardware or licenses. This is also a prime case for evaluating IaaS. And there are others that you'll find in your own organization as you work through the requirements you have.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Resources: Windows Azure Virtual Machines: &lt;a href="http://www.windowsazure.com/en-us/manage/windows/tutorials/virtual-machine-from-gallery/"&gt;http://www.windowsazure.com/en-us/manage/windows/tutorials/virtual-machine-from-gallery/&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;span style="color:#993300;"&gt;Windows Azure SQL Server Virtual Machines&lt;/span&gt;: &lt;a href="http://www.windowsazure.com/en-us/manage/windows/common-tasks/install-sql-server/"&gt;http://www.windowsazure.com/en-us/manage/windows/common-tasks/install-sql-server/&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;HADR&lt;/h3&gt;
&lt;p&gt;The next possible place to consider using cloud computing with SQL Server is as a part of your High Availability and Disaster Recovery plans. In fact, this is the most common use I see for cloud computing and the Database Administrator. The key is the Recovery Point Objective (RPO) and Recovery Time Objective (RTO). Based on each application&amp;rsquo;s requirements, you may find that using Windows Azure or even supplementing your current plan is&lt;br /&gt;the right place to evaluate options. I&amp;rsquo;ve covered this use-case in more detail in another article.&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;References: SQL Server High Availability and Disaster Recovery options with Windows Azure&lt;/span&gt;: &lt;a href="http://sqlblog.com/b/buckwoody/archive/2013/01/08/microsoft-windows-azure-disaster-recovery-options-for-on-premises-sql-server.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2013/01/08/microsoft-windows-azure-disaster-recovery-options-for-on-premises-sql-server.aspx&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Data Services&lt;/h3&gt;
&lt;p&gt;Windows Azure, along with other cloud providers, offers another way to design, create and consume data. In this use-case, however, the tasks DBA&amp;rsquo;s normally perform for sizing, ordering and configuring a system don&amp;rsquo;t apply.&lt;/p&gt;
&lt;p&gt;With Windows Azure SQL Databases (the artist formerly known as SQL Azure), you can simply create a database and begin using it. There are places where this fits and others where it doesn&amp;rsquo;t, and there are differences, limitations and enhancements, so it isn&amp;rsquo;t meant as replacement for what you could do with &amp;ldquo;Full-up&amp;rdquo; SQL Server on a Windows Azure Virtual Machine or an on-premises Instance. If a developer needs an Relational Database Management&lt;br /&gt;(RDBMS) data store for a web-based application, then this might be a perfect fit.&lt;/p&gt;
&lt;p&gt;But there is more to data services than Windows Azure SQL Databases. Windows Azure also offers MySQL as a service, RIAK and MongoDB (among others) and even Hadoop for larger distributed data sets. In addition you can use Windows Azure Reporting Services, and also tap into datasets and data functions in the Windows Azure Marketplace.&lt;/p&gt;
&lt;p&gt;The key for the DBA with this option is that you &lt;em&gt;will&lt;/em&gt; have to do a little investigation this time, and potentially without a specific workload in mind this time. I think that&amp;rsquo;s acceptable thing to ask &amp;ndash; DBA&amp;rsquo;s constantly keep up with data processing trends, and most will consider different ways to solve a problem.&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;References:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;Windows Azure SQL Databases&lt;/span&gt;: &lt;a href="http://www.windowsazure.com/en-us/home/features/data-management/" target="_blank"&gt;http://www.windowsazure.com/en-us/home/features/data-management/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;Windows Azure Reporting Services&lt;/span&gt;: &lt;a href="http://www.windowsazure.com/en-us/manage/services/other/sql-reporting/" target="_blank"&gt;http://www.windowsazure.com/en-us/manage/services/other/sql-reporting/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;HDInsight Service (Hadoop on Azure): &lt;/span&gt;&lt;a href="https://www.hadooponazure.com/" target="_blank"&gt;https://www.hadooponazure.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;MongoDB Offerings on Windows Azure&lt;/span&gt;: &lt;a href="http://www.windowsazure.com/en-us/manage/linux/common-tasks/mongodb-on-a-linux-vm/" target="_blank"&gt;http://www.windowsazure.com/en-us/manage/linux/common-tasks/mongodb-on-a-linux-vm/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;Windows Azure Marketplace&lt;/span&gt;: &lt;a href="http://www.windowsazure.com/en-us/store/overview/" target="_blank"&gt;http://www.windowsazure.com/en-us/store/overview/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Continuous deployment of SSDT database projects to Windows Azure using Team Foundation Service</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2013/01/27/continuous-deployment-of-ssdt-database-projects-to-windows-azure-using-team-foundation-service.aspx</link><pubDate>Sun, 27 Jan 2013 20:07:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:47339</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;Continuous deployment is described by Wikipedia as:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Most CI systems allow the running of scripts after a build finishes. In most situations, it is possible to write a script to deploy the application to a live test server that everyone can look at. A further advance in this way of thinking is &lt;/em&gt;&lt;em&gt;Continuous Deployment&lt;/em&gt;&lt;em&gt;, which calls for the software to be deployed directly into production       &lt;br&gt;&lt;a title="http://en.wikipedia.org/wiki/Continuous_Integration" href="http://en.wikipedia.org/wiki/Continuous_Integration"&gt;http://en.wikipedia.org/wiki/Continuous_Integration&lt;/a&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I think of Continuous Deployment as a natural extension of Continuous Integration where not only do we build the source code, we deploy it as well. As I continue to put together my &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2013/01/15/my-sqlbits-pre-conference-seminar-ssdt-database-projects-from-the-ground-up.aspx"&gt;SSDT Database Projects from the ground-up&lt;/a&gt; seminar it occurred to me that demonstrating Continuous Deployment for SSDT database projects would be very useful. It then occurred to me that the recently released &lt;a href="http://tfs.visualstudio.com/"&gt;Team Foundation Service&lt;/a&gt; (TFS) includes a facility to build source code so I wondered, could one perhaps use TFS to build an SSDT database project and deploy it to a Windows Azure SQL Database (aka SQL Azure)? It turns out that the answer is “yes” and this blog provides a step-by-step guide to doing just that.&lt;/p&gt;  &lt;p&gt;Its worth noting that Team Foundation Service is free for up to five users. SSDT is also free. Windows Azure SQL Databases, however, are not free so you may have to pay a small amount to get one or alternatively adapt the steps herein to use Team Foundation Server to deploy to an on-premises SQL Server instance. Note that a MSDN subscription does include some small usage of Windows Azure SQL Database and that allowance will be more than enough to go through the steps herein.&lt;/p&gt;  &lt;p&gt;We can break our process down into the following high-level steps:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create a Windows Azure SQL Database&lt;/li&gt;    &lt;li&gt;Sign up for Team Foundation Service (TFS)&lt;/li&gt;    &lt;li&gt;Create an SSDT database project&lt;/li&gt;    &lt;li&gt;Add the SSDT project to TFS Source Control&lt;/li&gt;    &lt;li&gt;Setup your Publish Profile file&lt;/li&gt;    &lt;li&gt;Create a Build Definition&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Let’s dive into all of those steps.&lt;/p&gt;  &lt;h3&gt;Create a new Windows Azure SQL Database&lt;/h3&gt;  &lt;p&gt;Visit &lt;a title="https://manage.windowsazure.com/" href="https://manage.windowsazure.com/"&gt;https://manage.windowsazure.com/&lt;/a&gt; and sign up for a new Windows Azure SQL Database:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_713EE18A.png"&gt;&lt;img width="675" height="183" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_6FFA48AB.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Your new database will be viewable in the portal immediately:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_43DD4BBA.png"&gt;&lt;img width="611" height="447" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_14AB6023.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Windows Azure SQL Databases are, by default, closed to the outside world so you must edit the list of IP addresses that are allowed to access the server. Setting this up is outside the scope of this blog post however simply go to &lt;a href="http://msdn.microsoft.com/en-us/library/ee621783.aspx" target="_blank"&gt;How to: Configure the Server-Level Firewall Settings (Windows Azure SQL Database)&lt;/a&gt; to learn how to do this (its very easy).&lt;/p&gt;  &lt;h3&gt;Sign up for Team Foundation Service&lt;/h3&gt;  &lt;p&gt;Visit &lt;a title="https://tfs.visualstudio.com/" href="https://tfs.visualstudio.com/"&gt;https://tfs.visualstudio.com/&lt;/a&gt; to sign up to use Team Foundation Service using your Microsoft Account (aka Windows Live ID). Once you have signed-up you will have a dedicated service URL (mine, for example,&amp;nbsp; is &lt;a href="https://jamiet.visualstudio.com/)."&gt;https://jamiet.visualstudio.com/).&lt;/a&gt; Visit that URL and click “New Team Project”:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_0CB3BDC1.png"&gt;&lt;img width="673" height="202" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_59778457.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Fill in the pertinent details and hit “Create Project”:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_7F6D34AD.png"&gt;&lt;img width="441" height="374" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_308C6F4E.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Creating the Team Project will take a minute or so but will be ready for you when you need it shortly.&lt;/p&gt;  &lt;h3&gt;Create an SSDT database project&lt;/h3&gt;  &lt;p&gt;For this you’re going to need SSDT for Visual Studio 2010 or Visual Studio 2012. They are both free and can be downloaded from &lt;a href="http://msdn.microsoft.com/en-us/data/gg427686" target="_blank"&gt;here&lt;/a&gt;; I am using SSDT for Visual Studio 2012.&lt;/p&gt;  &lt;p&gt;You will need to create a new SQL Server Database Project:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_0F98FCA7.png"&gt;&lt;img width="765" height="432" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_07A15A45.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Once the project is created it will appear in Solution Explorer and be empty at this point. We are going to be deploying to Windows Azure SQL Database therefore we must tell the project that that will be the case. To do that right-click on the project and select Properties:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_623766D6.png"&gt;&lt;img width="459" height="146" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_21951A67.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In Project Settings select Windows Azure SQL Database as the Target platform:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_60869B02.png"&gt;&lt;img width="539" height="178" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_63B882EA.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You’ll need to add a database object to your project otherwise this is all rather pointless. Given that this is simply for demo purposes we shall simply create a table called [Table1].&lt;/p&gt;                  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_5097563E.png"&gt;&lt;img width="419" height="272" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_5D91364F.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/SNAGHTML4741cca_559993ED.png"&gt;&lt;img width="728" height="146" title="SNAGHTML4741cca" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="SNAGHTML4741cca" src="http://sqlblog.com/blogs/jamie_thomson/SNAGHTML4741cca_thumb_4DA1F18B.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_1EDC38E9.png"&gt;&lt;img width="404" height="152" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_0C273F32.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;OK, we now have a Windows Azure SQL Database, a TFS service (is that Team Foundation Service service???) and a SSDT database project with a simple table in it. Let’s now hook them all together.&lt;/p&gt;  &lt;h3&gt;Add the SSDT project to TFS Source Control&lt;/h3&gt;  &lt;p&gt;Interaction with TFS from within Visual Studio is done using the Team Explorer pane.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_0B4ED948.png"&gt;&lt;img width="367" height="169" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_0A76735E.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;From Team Explorer you will need to connect to your new TFS. Click on the address bar in Team Explorer and point to “Connect to Team Projects…”&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_1B7AA141.png"&gt;&lt;img width="501" height="352" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_488F8E0F.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Choose your project and click Connect. Your server is simply the name of the server that was setup earlier; remember that mine was jamiet.visualstudio.com (note that it uses an https connection, not http):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/SNAGHTML48ae7f5_0061D233.png"&gt;&lt;img width="530" height="482" title="SNAGHTML48ae7f5" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="SNAGHTML48ae7f5" src="http://sqlblog.com/blogs/jamie_thomson/SNAGHTML48ae7f5_thumb_6D40A586.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You should now be connected to your Team Foundation Service. Add your source code to TFS Source Control from inside Solution Explorer:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_2BC5F32D.png"&gt;&lt;img width="467" height="338" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_0AD28086.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_3B858831.png"&gt;&lt;img width="347" height="469" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_487F6842.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And check in your SSDT database project (or “commit” if you prefer that terminology):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_6E08E5A3.png"&gt;&lt;img width="348" height="285" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_3F432D01.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_5E19A0DF.png"&gt;&lt;img width="287" height="518" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_63F44478.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You will now be able to browse to your TFS home page (mine is &lt;a href="https://jamiet.visualstudio.com"&gt;https://jamiet.visualstudio.com&lt;/a&gt;), click on your project and browse through your checked in code:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_2279921F.png"&gt;&lt;img width="681" height="387" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_415005FD.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Setup your Publish Profile file&lt;/h3&gt;  &lt;p&gt;You need to tell SSDT where to deploy the project to, that information is stored in a &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2012/05/09/publish-profile-files-in-sql-server-data-tools-ssdt.aspx" target="_blank"&gt;Publish Profile file&lt;/a&gt;. In Solution Explorer right-click and select “Publish…”&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_78B6172B.png"&gt;&lt;img width="449" height="234" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_49F05E89.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Enter the details of the Windows Azure SQL Database that you prepared earlier:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_1DD36198.png"&gt;&lt;img width="597" height="338" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_75C0B278.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Once the Publish Profile file has been saved it will be saved in your project:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_7B2F231C.png"&gt;&lt;img width="346" height="216" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_0175F9AB.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;At the time of writing Windows Azure SQL Database only supports SQL authentication so we have to edit the Publish Profile file to include the password for the account that will be used for deployment. Right-click on the Publish Profile file, select “Open with…” and from the resultant dialog select “XML (Text) Editor:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_40677A46.png"&gt;&lt;img width="485" height="367" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_11A1C1A4.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Edit the Connection String to include your password:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_7761587F.png"&gt;&lt;img width="720" height="168" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_417C6365.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;NOW you can check in:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_55294CF9.png"&gt;&lt;img width="334" height="279" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_5450E70F.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_2114ADA6.png"&gt;&lt;img width="264" height="490" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_191D0B44.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Create a Build Definition&lt;/h3&gt;  &lt;p&gt;A Build Definition defines how and when the source code in the project should get built. Create a new Build Definition by selecting “Builds” in the Team Explorer address bar and choosing New Build Definition:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_3EA688A5.png"&gt;&lt;img width="358" height="333" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_61F37D4A.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_4ED2509E.png"&gt;&lt;img width="244" height="182" title="image" style="margin:0px;border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_0710C7B7.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Follow the steps shown in the screenshots below to setup your Build Definition:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_7F192554.png"&gt;&lt;img width="623" height="426" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_3E0AA5F0.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_319C82C7.png"&gt;&lt;img width="625" height="428" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_5B9C80EF.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_55E16749.png"&gt;&lt;img width="623" height="427" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_46CA886F.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_172C69E3.png"&gt;&lt;img width="811" height="478" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_7BA767DF.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;(Credit for informing me about the MSBuild arguments goes entirely to Jakob Ehn and his blog post &lt;a title="http://geekswithblogs.net/jakob/archive/2012/04/25/deploying-ssdt-projects-with-tfs-build.aspx" href="http://geekswithblogs.net/jakob/archive/2012/04/25/deploying-ssdt-projects-with-tfs-build.aspx"&gt;Deploying SSDT Projects with TFS Build&lt;/a&gt;)&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;And you’re done!&lt;/h3&gt;  &lt;p&gt;If you have set everything up correctly then any future check in should trigger a build and thus a Publish of the SSDT project to your Windows Azure SQL Database. Here is my first build report:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_52BC52D6.png"&gt;&lt;img width="490" height="407" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_78B2032C.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;and back in SSDT I can use SQL Server Object Explorer to browse my newly deployed table:&lt;/p&gt;  &lt;blockquote&gt;&lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_053FB049.png"&gt;&lt;img width="374" height="425" title="image" style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_4F5ABB2E.png" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That’s Continuous Deployment for SSDT projects to Windows Azure SQL Database using Team Foundation Service. Awesome!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Microsoft Windows Azure Disaster Recovery Options for On-Premises SQL Server</title><link>http://sqlblog.com/blogs/buck_woody/archive/2013/01/08/microsoft-windows-azure-disaster-recovery-options-for-on-premises-sql-server.aspx</link><pubDate>Tue, 08 Jan 2013 14:40:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:47070</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;One of the use-cases for a cloud solution is to serve as a Disaster Recovery option for your on-premises servers. I&amp;rsquo;ll explain one particular use-case in this entry, specifically using Windows Azure &amp;ldquo;IaaS&amp;rdquo; or Virtual Machines as a Recovery Solution for SQL Server (more detail here: &lt;a href="http://www.windowsazure.com/en-us/home/features/virtual-machines/" target="_blank"&gt;http://www.windowsazure.com/en-us/home/features/virtual-machines/&lt;/a&gt;). In future installments I&amp;rsquo;ll explain options for other workloads such as Linux and Windows Servers, SharePoint and other solutions. Some architectures also allow for using Windows Azure SQL Database (Formerly SQL Azure) in recovery scenarios; I&amp;rsquo;ll cover that separately.&lt;/p&gt;
&lt;p&gt;Using Azure as a Disaster Recovery site gives you a range of options, uses world-wide datacenters that you can pick from, and does not require traditional licensing and maintenance paths. You can also integrate the offsite data into other uses, such as reporting (in some cases) or to leverage within other applications.&amp;nbsp; However, the cost-model is different, so make sure you do your homework to ensure that it makes sense to use a cloud provider for safety. You may find that it is cheaper, more expensive, or that you require a mix of technologies and options to get the best solution.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="color:#339966;"&gt;&lt;em&gt;NOTE: The Microsoft Windows Azure platform evolves constantly. That means new features and capabilities, as well as security, optimizations and more improve on a frequent basis. As with any cloud provider, ensure that you check the date of this post to ensure you are within six months or so. If the date is longer than that, then check each of the &amp;ldquo;Details&amp;rdquo; links to ensure you are working with the latest information. &lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The options you have range from simple off-site storage for database backups to systems that your users can access when your primary options are offline.&amp;nbsp; To select which options to use, evaluate the databases you want to protect, and then create your Recovery Point Objectives (RPO) and Recovery Time Objectives (RTO) for each workload. Those two vectors will provide the starting point for each choice you make.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;em&gt;NOTE: If you&amp;rsquo;re not familiar with RPO and RTO on a database system, learn those terms carefully before designing a recovery solution &amp;ndash; on any platform. RPO and RTO are business/technology terms, and are not vendor or platform-specific. &lt;a href="http://wikibon.org/wiki/v/Recovery_point_objective_-_recovery_time_objective_strategy" target="_blank"&gt;http://wikibon.org/wiki/v/Recovery_point_objective_-_recovery_time_objective_strategy&lt;/a&gt;&amp;nbsp; &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The range of protection you have is very similar to the on-premises options for SQL Server (on-premises details here: &lt;a href="http://msdn.microsoft.com/en-us/library/ms190202.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/ms190202.aspx&lt;/a&gt;), with the primary limitation being bandwidth. While Microsoft has the largest connections we can get into our datacenters, depending on where your systems are and their connection to the Internet, you will need to consider how much data you transfer, and how often.&amp;nbsp; For backup files, a single, larger transfer is acceptable, using Log Shipping or Database Mirroring, smaller, more frequent transfers are preferable.&lt;/p&gt;
&lt;p&gt;Another limitation is controlling the hardware on the Windows Azure Virtual Machine. That means hardware-based clustering isn&amp;rsquo;t possible, as of this writing. You&amp;rsquo;re also limited to the size of the Virtual Machines that Windows Azure (or any other cloud provider) offers. It&amp;rsquo;s important to keep in mind that you&amp;rsquo;re building a Disaster Recovery solution, not necessarily a full Highly-Available system. The difference is that in this case DR provides a means to recover and operate at a more limited fashion than a full on-premises HA (with matching hardware and licenses) involves. Storage, however, isn&amp;rsquo;t as affected. You can mount large amounts of storage on a Windows Azure Virtual Machine, so it&amp;rsquo;s more memory and CPU that you need to consider for your solution.&lt;/p&gt;
&lt;p&gt;The final consideration is security. There are two aspects in security that you need to consider: data security and authentication and access. For the first consideration, the Windows Azure system does hold multiple certifications and attestations that you can find here:&amp;nbsp; . In some cases those certifications are agreements on the part of security each party will hold liability for; so it&amp;rsquo;s important to carefully read and understand what the agreement states. There are also methods of encrypting data (such as the backups) using your own certificates or hardware devices and then storing them externally. This means no one can easily un-encrypt your data.&lt;/p&gt;
&lt;p&gt;For the authentication portion, you can create a secure &amp;ldquo;tunnel&amp;rdquo;&amp;nbsp; between your network and Windows Azure. This involves a certificate that is installed on your hardware firewall at your facility, and an agent that is enabled with the same certificate on Windows Azure. This gives you a &amp;ldquo;point to point&amp;rdquo; connection, encrypted but over a public connection. From there you can use Active Directory to connect the authentication for the systems involved in the DR solution.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Backups&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The First and most simple DR solution using Windows Azure is to store your backup files (&lt;em&gt;*.bak&lt;/em&gt;) in Windows Azure storage. Windows Azure Storage is triple-redundant across multiple fault-domains within a single datacenter, and then all three copies are replicated to a geographically separate (although data-sovereignty same) location. That translates to six copies of data stored remotely. In case of a disaster, you connect to storage, download the images, and restore them to a new server. The server can have the same name or different, and unless you&amp;rsquo;re using contained databases, you&amp;rsquo;ll need to re-create and re-authorize the security accounts needed for the database.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/6740.HADR1.png"&gt;&lt;img src="http://sqlblog.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/6740.HADR1.png" alt="" width="353" height="89" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note that you also have the option of using an &amp;ldquo;appliance&amp;rdquo;, which is a piece of hardware you install at your facility which will act as a backup device or share location (or both). The device handles the encryption, de-duplication and compression for the files, and then stores those files on Windows Azure. More information on that option is here: &lt;a href="http://www.storsimple.com/" target="_blank"&gt;http://www.storsimple.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;&lt;em&gt;RPO: As of last backup&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;&lt;em&gt;RTO: (Time of transfer from Windows Azure + Time of Restore to New System + Bringing System Online with User Accounts) - Time of Backup&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;References:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;More detail on storing files on Windows Azure: &lt;a href="http://sqlblog.com/blogs/sqlos_team/archive/2013/01/24/backup-and-restore-to-cloud-simplified-in-sql-server-2012-sp1-cu2.aspx" target="_blank"&gt;http://sqlblog.com/blogs/sqlos_team/archive/2013/01/24/backup-and-restore-to-cloud-simplified-in-sql-server-2012-sp1-cu2.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Free Client: &lt;a href="http://azurestorageexplorer.codeplex.com/" target="_blank"&gt;http://azurestorageexplorer.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Database Mirroring&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Database Mirroring is a deprecated feature in SQL Server, which means it will be removed in a future release. It is, however, still supported in SQL Server 2012, and it can be used between on-premises SQL Server Instances and Windows Azure VM&amp;rsquo;s.&amp;nbsp; Using connection strings and .NET languages, clients can actually point to the partner server automatically.&lt;/p&gt;
&lt;p&gt;The granularity of this solution is at the individual database level.&amp;nbsp; Machines can retain their individual identities. You can use certificates to connect the systems, or you can use the point-to-point solution and Active Directory.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/6874.HADR3.png"&gt;&lt;img src="http://sqlblog.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/6874.HADR3.png" alt="" width="354" height="133" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are limitations, however. You won&amp;rsquo;t use a Listener in this configuration, and you&amp;rsquo;ll be using Asynchronous mode. If you are not running in the same Active Directory, you&amp;rsquo;ll also need to factor in the time to re-create and tie out those accounts when calculating the RTO value.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/4212.HADR2.png"&gt;&lt;img src="http://sqlblog.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/4212.HADR2.png" alt="" width="332" height="130" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;&lt;em&gt;RPO: As of last good synchronization&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;&lt;em&gt;RTO: (Time of failure + Time of client redirect to New System ) - Time of last good synchronization&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;References:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;A complete tutorial on setting up this configuration is here: &lt;a href="http://msdn.microsoft.com/en-us/library/jj870964.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/jj870964.aspx&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Log Shipping&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Another feature available for DR in a Hybrid fashion is using Log Shipping, which also protects your system at a database level. Log shipping involves an automated log backup of your database, and the log is copied and then applied at the secondary server. Because the log file is copied to a Windows share, this solution requires both networking access and an Active Directory integration.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/3146.HADR4.png"&gt;&lt;img src="http://sqlblog.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/3146.HADR4.png" alt="" width="429" height="180" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;&lt;em&gt;RPO: As of last good log backup application to the secondary system&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;&lt;em&gt;RTO: (Time of failure + Time of manual client redirect to New System + Time of Manual Failover ) - Time of last good log backup&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;References:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Log Shipping information is here: &lt;a href="http://technet.microsoft.com/en-us/library/ms187103.aspx" target="_blank"&gt;http://technet.microsoft.com/en-us/library/ms187103.aspx&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;AlwaysOn Availability Groups&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;SQL Server 2012 introduces a new set of features called &amp;ldquo;AlwaysOn&amp;rdquo; that encompass many of the HA/DR features in previous releases. One feature within that set is called &amp;ldquo;Availability Groups&amp;rdquo;, and with certain caveats that feature is available for a Hybrid on-premises to Windows Azure VM solution.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlblog.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/7183.HADR5.png"&gt;&lt;img src="http://sqlblog.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-79/7183.HADR5.png" alt="" width="390" height="136" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;AlwaysOn requires a Windows Cluster (WFSC), which is where the caveats come into play. You&amp;rsquo;re able to set up a&amp;nbsp; multi-subnet WSFC cluster, but you won&amp;rsquo;t have access to the Availability Group Listener function, so you need to consider the client reconnection.&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;&lt;em&gt;RPO: As of last good synchronization&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;&lt;em&gt;RTO: (Time of failure + Time of manual client redirect to New System + Time of Manual Failover ) - Time of last good log backup&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;References: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;A complete tutorial on setting up this configuration is here: &lt;a href="http://msdn.microsoft.com/en-us/library/jj870959.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/jj870959.aspx&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Other Solution Options&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Taking an overview approach, you can use other data transfer mechanisms. While these involve more manual coding and architecture, you do have more control. For instance, you could copy the data to multiple locations, platforms and more, and allow reading and manipulations of the data at the destination. You can use code options, Windows Azure Data Sync (&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh456371.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/hh456371.aspx&lt;/a&gt;), or even SQL Server Replication (blog on this process is here: &lt;a href="http://tk.azurewebsites.net/2012/07/17/how-to-setup-peer-to-peer-replication-in-azure-iaas-sql-server-2012/" target="_blank"&gt;http://tk.azurewebsites.net/2012/07/17/how-to-setup-peer-to-peer-replication-in-azure-iaas-sql-server-2012/&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;&lt;em&gt;RPO: Varies&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;"&gt;&lt;em&gt;RTO: Varies&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#993300;"&gt;References:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;A whitepaper on the information I've discussed throughout this article and other options is available here: &lt;a href="http://msdn.microsoft.com/en-us/library/jj870962.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/jj870962.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;SQL AlwaysOn&amp;rdquo; Team Blog (where you may find more current information) is here: &lt;a href="http://sqlblog.com/b/sqlalwayson/" target="_blank"&gt;http://blogs.msdn.com/b/sqlalwayson/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Windows Azure Software Development Kit (SDK) and the Windows Azure Training Kit (WATK)</title><link>http://sqlblog.com/blogs/buck_woody/archive/2012/09/12/the-windows-azure-software-development-kit-sdk-and-the-windows-azure-training-kit-watk.aspx</link><pubDate>Wed, 12 Sep 2012 13:40:40 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:45165</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://officeimg.vo.msecnd.net/en-us/images/MH900441285.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;The Windows Azure Software Development Kit (SDK)&lt;/h1&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowsazure.com/en-us/develop/downloads/" target="_blank"&gt;http://www.windowsazure.com/en-us/develop/downloads/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://officeimg.vo.msecnd.net/en-us/images/MH900438678.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;The Windows Azure Training Kit (WATK)&lt;/h1&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/" target="_blank"&gt;http://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are many other resources - again, check the &lt;a href="http://windowsazure.com"&gt;http://windowsazure.com&lt;/a&gt; site, the &lt;a href="http://www.windowsazure.com/en-us/community/newsletter/2012/june/" target="_blank"&gt;community newsletter (which introduces the latest features)&lt;/a&gt;, and &lt;a href="http://sqlblog.com/b/buckwoody/rss.aspx" target="_blank"&gt;my blog for more&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Windows Azure Database (SQL Azure) Development Tip</title><link>http://sqlblog.com/blogs/buck_woody/archive/2012/08/15/windows-azure-database-sql-azure-development-tip.aspx</link><pubDate>Wed, 15 Aug 2012 14:55:44 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:44722</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;When you create something in the cloud, it's real, and you're charged for it. There are free offerings, and you even get free resources with your Microsoft Developer Network (MSDN) subscription, but there are limits within those. Creating a 1 GB database - even with nothing in it - is a 1 GB Database. If you create it, drop it, and create it again 2 minutes later, that's 2 GB of space you've used for the month. Wait - how do I develop in this kind of situation?&lt;/p&gt;
&lt;p&gt;With Windows Azure, you can simply install the free Software Development Kit (SDK) and develop your entire application for free - you need never even log in to Windows Azure to code. Once you're done, you simply deploy the app and you start making money from the application as you're paying for it.&lt;/p&gt;
&lt;p&gt;Windows Azure Databases (The Artist Formerly Known As SQL Azure) is a bit different. It's not emulated in the SDK - because it doesn't have to be. It's just SQL Server, &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ff394115.aspx" target="_blank"&gt;with some differences in feature set&lt;/a&gt;. To develop in this environment, you can use SQL Server, any edition. Be aware of the feature differences, of course, but just develop away - &lt;a href="http://technet.microsoft.com/en-us/library/cc645993(v=sql.110).aspx" target="_blank"&gt;even in the free "Express" or LocalDB flavors&lt;/a&gt; - and then &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee730904.aspx" target="_blank"&gt;right-click in SQL Server Management Studio to script objects. Script the database, but change the "Advanced" selection to the Engine Type of "SQL Azure"&lt;/a&gt;. Bing.&lt;/p&gt;
&lt;p&gt;Although most all T-SQL ports directly, one thing to keep in mind is that you need a Clustered Index on every table. Often the Primary Key (PK) is a good choice for that.&lt;/p&gt;</description></item><item><title>SSIS Design Patterns, the Book</title><link>http://sqlblog.com/blogs/andy_leonard/archive/2012/08/06/ssis-design-patterns-the-book.aspx</link><pubDate>Mon, 06 Aug 2012 16:37:43 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:44587</guid><dc:creator>andyleonard</dc:creator><description>&lt;p&gt;For the past two years, I have had the honor and privilege or authoring &lt;a href="http://www.amazon.com/SSIS-Design-Patterns-Matt-Masson/dp/1430237716" target="_blank"&gt;SSIS Design Patterns&lt;/a&gt; alongside Jessica Moss, Michelle Ufford, Tim Mitchell, and Matt Masson. Publication of the book – like many projects of this scope – has been delayed. The current publication date is 27 Aug 2012 and I have high confidence in this date. &lt;/p&gt;  &lt;p&gt;I take responsibility for publication delays and apologize to those who pre-ordered the book. The reasons for the delays are not important. I have built a career as a software developer and architect based on the following maxim:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Deliver quality late, no one remembers.       &lt;br /&gt;Deliver junk on time, no one forgets.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The shared goal of everyone working on this project has been to deliver quality. Proofing the manuscripts, I believe we have achieved that goal. &lt;/p&gt;  &lt;p&gt;:{&amp;gt;&lt;/p&gt;</description></item><item><title>Presenting at SQL Saturday NYC!</title><link>http://sqlblog.com/blogs/andy_leonard/archive/2012/07/30/presenting-at-sql-saturday-nyc.aspx</link><pubDate>Mon, 30 Jul 2012 14:20:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:44498</guid><dc:creator>andyleonard</dc:creator><description>&lt;p&gt;&lt;em&gt;Update: I&amp;nbsp;will not be able to attend SQL Saturday 158 due to illness. - Andy&lt;/em&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I am honored to present two sessions at &lt;a href="http://sqlsaturday.com/158/eventhome.aspx" target="_blank"&gt;SQL Saturday #158&lt;/a&gt; in New York City this Saturday (4 Aug 2012)!&lt;/p&gt;  &lt;p&gt;I am delivering two sessions: &lt;a href="http://sqlsaturday.com/viewsession.aspx?sat=158&amp;amp;sessionid=9321" target="_blank"&gt;Designing an SSIS Framework&lt;/a&gt; and &lt;a href="http://sqlsaturday.com/viewsession.aspx?sat=158&amp;amp;sessionid=9522" target="_blank"&gt;Loading the Cloud&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;It is also &lt;em&gt;very&lt;/em&gt; cool to see the Linchpin People logo on the &lt;a href="http://sqlsaturday.com/158/sponsors.aspx" target="_blank"&gt;Sponsors page&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://linchpinpeople.com" target="_blank"&gt;&lt;img style="border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" title="linchpinLogo" border="0" alt="linchpinLogo" src="http://sqlblog.com/blogs/andy_leonard/linchpinLogo_36CBF6E4.jpg" width="244" height="63"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you are not signed up, you can &lt;a href="http://sqlsaturday.com/158/register.aspx" target="_blank"&gt;register here&lt;/a&gt;. I hope to see you there.&lt;/p&gt;  &lt;p&gt;:{&amp;gt;&lt;/p&gt;</description></item><item><title>In the Cloud, Everything Costs Money</title><link>http://sqlblog.com/blogs/buck_woody/archive/2012/07/10/in-the-cloud-everything-costs-money.aspx</link><pubDate>Tue, 10 Jul 2012 12:55:50 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:44239</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;I’ve been teaching my daughter about budgeting. I’ve explained that most of the time the money coming in is from only one or two sources – and you can only change that from time to time. The money going out, however, is to many locations, and it changes all the time. She’s made a simple debits and credits spreadsheet, and I’m having her research each part of the budget. Her eyes grow wide when she finds out everything has a cost – the house, gas for the lawnmower, dishes, water for showers, food, electricity to run the fridge, a new fridge when that one breaks, everything has a cost. She asked me “how do you pay for all this?” It’s a sentiment many adults have looking at their own budgets – and one reason that some folks don’t even make a budget. It’s hard to face up to the realities of how much it costs to do what we want to do. &lt;/p&gt;  &lt;p&gt;When we design a computing solution, it’s interesting to set up a similar budget, because we don’t always consider all of the costs associated with it. I’ve seen design sessions where the new software or servers are considered, but the “sunk” costs of personnel, networking, maintenance, increased storage, new sizes for backups and offsite storage and so on are not added in. They are already on premises, so they are assumed to be paid for already.&lt;/p&gt;  &lt;p&gt;When you move to a distributed architecture, you'll see more costs directly reflected. Store something, pay for that storage. If the system is deployed and no one is using it, you’re still paying for it. As you watch those costs rise, you might be tempted to think that a distributed architecture costs more than an on-premises one. &lt;/p&gt;  &lt;p&gt;And you might be right – for some solutions. I’ve worked with a few clients where moving to a distributed architecture doesn’t make financial sense – so we didn’t implement it. I still designed the system in a distributed fashion, however, so that when it does make sense there isn’t much re-architecting to do. &lt;/p&gt;  &lt;p&gt;In other cases, however, if you consider all of the on-premises costs and compare those accurately to operating a system in the cloud, the distributed system is much cheaper. Again, I never recommend that you take a “here-or-there-only” mentality – I think a hybrid distributed system is usually best – but each solution is different. There simply is no “one size fits all” to architecting a solution.&lt;/p&gt;  &lt;p&gt;As you design your solution, cost out each element. You might find that using a hybrid approach saves you money in one design and not in another. It’s a brave new world indeed. &lt;/p&gt;  &lt;p&gt;So yes, in the cloud, everything costs money. But an on-premises solution also costs money – it’s just that “dad” (the company) is paying for it and we don’t always see it. When we go out on our own in the cloud, we need to ensure that we consider all of the costs. &lt;/p&gt;</description></item><item><title>Management and Monitoring Tools for Windows Azure</title><link>http://sqlblog.com/blogs/buck_woody/archive/2012/07/03/management-and-monitoring-tools-for-windows-azure.aspx</link><pubDate>Tue, 03 Jul 2012 13:10:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:44190</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;&lt;span style="color:#339966;"&gt;&lt;em&gt;&lt;strong&gt;(Last updated on 01/15/2013)&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;With such a large platform, Windows Azure has a lot of moving parts. We&amp;rsquo;ve done our best to keep the interface as simple as possible, while giving you the most control and visibility we can. However, as with most Microsoft products, there are multiple ways to do something &amp;ndash; and I&amp;rsquo;ve always found that to be a good strength. Depending on the situation, I might want a graphical interface, a command-line interface, or just an API so I can incorporate the management into my own tools, or have third-party companies write other tools.&lt;/p&gt;
&lt;p&gt;While by no means exhaustive, I thought I might put together a quick list of a few tools you can use to manage and monitor Windows Azure components, from our IaaS, SaaS and PaaS offerings. Some of the products focus on one area more than another, but all are available today. I&amp;rsquo;ll try and maintain this list to keep it current, but make sure you check the date of this post&amp;rsquo;s update &amp;ndash; if it&amp;rsquo;s more than six months old, it&amp;rsquo;s most likely out of date. Things move fast in the cloud.&lt;/p&gt;
&lt;h2&gt;&lt;span style="color:#0000ff;"&gt;The Windows Azure Management Portal&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;The primary tool for managing Windows Azure is our portal &amp;ndash; most everything you need is there, from creating new services to querying a database. There are two versions as of this writing &amp;ndash; a Silverlight client version, and a newer HTML5 version. The latter is being updated constantly to be in parity with the Silverlight client.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s a balance in this portal between simplicity and power &amp;ndash; we&amp;rsquo;re following the &amp;ldquo;less is more&amp;rdquo; approach, with increasing levels of detail as you work through the portal rather than overwhelming you with a single, long &amp;ldquo;more is more&amp;rdquo; page.&lt;/p&gt;
&lt;p&gt;You can find the Portal here: &lt;a href="http://windowsazure.com"&gt;http://windowsazure.com&lt;/a&gt; (then click &amp;ldquo;Log In&amp;rdquo; and then &amp;ldquo;Portal&amp;rdquo;)&lt;/p&gt;
&lt;h2&gt;&lt;span style="color:#0000ff;"&gt;Windows Azure Management API&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;You can also use programming tools to either write your own interface, or simply provide management functions directly within your solution. You have two options &amp;ndash; you can use the more universal REST API&amp;rsquo;s, which area bit more complex but work with any system that can write to them, or the more approachable .NET API calls in code.&lt;/p&gt;
&lt;p&gt;You can find the reference for the API&amp;rsquo;s here: &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee460799.aspx"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/ee460799.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;All Class Libraries, for each part of Windows Azure: &lt;a href="http://msdn.microsoft.com/en-us/library/ee393295.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee393295.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="color:#0000ff;"&gt;PowerShell Command-lets&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;PowerShell is one of the most powerful scripting languages I&amp;rsquo;ve used with Windows &amp;ndash; and it&amp;rsquo;s baked into all of our products. When you need to work with multiple servers, scripting is really the only way to go, and the Windows Azure PowerShell Command-Lets allow you to work across most any part of the platform &amp;ndash; and can even be used within the services themselves. You can do everything with them from creating a new IaaS, PaaS or SaaS service, to controlling them and even working with security and more.&lt;/p&gt;
&lt;p&gt;You can find more about the Command-Lets here: &lt;a href="http://wappowershell.codeplex.com/documentation"&gt;http://wappowershell.codeplex.com/documentation&lt;/a&gt; (older link, still works, will point you to the new ones as well)&lt;/p&gt;
&lt;p&gt;We have command-line utilities for other operating systems as well: &lt;a href="https://www.windowsazure.com/en-us/manage/downloads/"&gt;https://www.windowsazure.com/en-us/manage/downloads/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Video walkthrough of using the Command-Lets: &lt;a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/SAC-859T"&gt;http://channel9.msdn.com/Events/BUILD/BUILD2011/SAC-859T&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="color:#0000ff;"&gt;System Center&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;System Center is actually a suite of graphical tools you can use to manage, deploy, control, monitor and tune software from Microsoft and even other platforms. This will be the primary tool we&amp;rsquo;ll recommend for managing a hybrid or contiguous management process &amp;ndash; and as time goes on you&amp;rsquo;ll see more and more features put into System Center for the entire Windows Azure suite of products.&lt;/p&gt;
&lt;p&gt;You can find the Management Pack and README for it here: &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=11324"&gt;http://www.microsoft.com/en-us/download/details.aspx?id=11324&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="color:#0000ff;"&gt;SQL Server Management Studio / Data Tools / Visual Studio&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;SQL Server has two built-in management and development, and since Version 2008 R2, you can use them to manage Windows Azure Databases. Visual Studio also lets you connect to and manage portions of Windows Azure as well as Windows Azure Databases.&lt;/p&gt;
&lt;p&gt;You can read more about Visual Studio here: &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee405484"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/ee405484&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can read more about managing Windows Azure Subscriptions with Visual Studio here: &lt;a href="http://fabriccontroller.net/blog/posts/manage-your-subscriptions-with-the-windows-azure-tools-for-visual-studio/" target="_blank"&gt;http://fabriccontroller.net/blog/posts/manage-your-subscriptions-with-the-windows-azure-tools-for-visual-studio/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can read more about the SQL tools here: &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee621784.aspx"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/ee621784.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="color:#0000ff;"&gt;Vendor-Provided Tools&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Microsoft does not suggest or endorse a specific third-party product. We do, however, use them, and see lots of other customers use them. You can browse to these sites to learn more, and chat with their folks directly on how they support Windows Azure.&lt;/p&gt;
&lt;p&gt;Cerebrata: Tools for managing from the command-line, graphical diagnostics, graphical storage management - &lt;a href="http://www.cerebrata.com/"&gt;http://www.cerebrata.com/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Quest Cloud Tools: Monitoring, Storage Management, and costing tools - &lt;a href="http://communities.quest.com/community/cloud-tools"&gt;http://communities.quest.com/community/cloud-tools&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Paraleap: Monitoring tool - &lt;a href="http://www.paraleap.com/AzureWatch"&gt;http://www.paraleap.com/AzureWatch&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cloudgraphs: Monitoring too -&amp;nbsp; &lt;a href="http://www.cloudgraphs.com/"&gt;http://www.cloudgraphs.com/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Opstera: Monitoring for Windows Azure and a Scale-out pattern manager - &lt;a href="http://www.opstera.com/products/Azureops/"&gt;http://www.opstera.com/products/Azureops/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Compuware: SaaS performance monitoring, load testing -&amp;nbsp; &lt;a href="http://www.compuware.com/application-performance-management/gomez-apm-products.html"&gt;http://www.compuware.com/application-performance-management/gomez-apm-products.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;SOASTA: Penetration and Security Testing - &lt;a href="http://www.soasta.com/cloudtest/enterprise/"&gt;http://www.soasta.com/cloudtest/enterprise/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;LoadStorm: Load-testing tool - &lt;a href="http://loadstorm.com/windows-azure"&gt;http://loadstorm.com/windows-azure&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;New Relic: Application Monitoring - &lt;a href="http://newrelic.com/azure"&gt;http://newrelic.com/azure&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;AppDynamics: Application Monitoring - &lt;a href="http://www.appdynamics.com/azure.php"&gt;http://www.appdynamics.com/azure.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Manage Engine's Application Monitor: http://www.manageengine.com/products/applications_manager/windows-azure-monitoring.html&lt;/p&gt;
&lt;p&gt;I ran across this blog entry that deals with storage clients - your mileage may vary, but he has some screen-shots and his impressions: &lt;a href="http://cloud.dzone.com/articles/windows-azure-blob-storage"&gt;http://cloud.dzone.com/articles/windows-azure-blob-storage&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style="color:#0000ff;"&gt;Open-Source Tools&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This is probably the most specific set of tools, and the list I&amp;rsquo;ll have to maintain most often. Smaller projects have a way of coming and going, so I&amp;rsquo;ll try and make sure this list is current.&lt;/p&gt;
&lt;p&gt;Windows Azure MMC: (I actually use this one a lot) &lt;a href="http://wapmmc.codeplex.com/"&gt;http://wapmmc.codeplex.com/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Windows Azure Diagnostics Monitor: &lt;a href="http://archive.msdn.microsoft.com/wazdmon"&gt;http://archive.msdn.microsoft.com/wazdmon&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Azure Application Monitor: &lt;a href="http://azuremonitor.codeplex.com/"&gt;http://azuremonitor.codeplex.com/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Azure Web Log: &lt;a href="http://www.xentrik.net/software/azure_web_log.html"&gt;http://www.xentrik.net/software/azure_web_log.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cloud Ninja:Multi-Tennant billing and performance monitor -&amp;nbsp; &lt;a href="http://cnmb.codeplex.com/"&gt;http://cnmb.codeplex.com/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cloud Samurai: Multi-Tennant Management- &lt;a href="http://cloudsamurai.codeplex.com/"&gt;http://cloudsamurai.codeplex.com/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Azure Storage Explorer: Storage management - &lt;a href="http://azurestorageexplorer.codeplex.com/" rel="nofollow" target="_new"&gt;azurestorageexplorer.codeplex.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you have additions to this list, please post them as a comment and I&amp;rsquo;ll research and then add them. Thanks!&lt;/p&gt;</description></item></channel></rss>