Today I presented on the Windows Azure Platform at the Day of Cloud conference, in Chicago, IL. This conference was hosted by Tech in the Middle, and gave speakers the opportunity to present on SalesForce.com, the Windows Azure Platform (yours truly), Amazon Web Services, and Google App Engine. A great concept, and a lot of fun.
Gabe and Scott from Tech in the Middle recorded and posted each of these talks. You can find them here:
The number one request for the migration wizard was the ability to replicate your data up to SQL Azure (in addition to the SQL schema, which it already does). Unfortunately, the original SQL Azure CTP didn’t support BCP, and the data migration process was very difficult and required an SSIS package to copy the data into SQL Azure.
Minutes after CTP 2 went live, George published a new version of migration wizard that takes advantage of BCP to enable you to migrate not only your SQL Server 2005 / 2008 database objects but your data as well! migration wizard allows you to turn on or off data migration via the application configuration file or during runtime via the options page. When you select data migration, the export and import process can be quite lengthy. migration wizard kicks off the export and import process on a back ground thread and will display the BCP results in the program window. At any time during the process, you can hit the cancel button to cancel the background process. As migration wizard processes information, it will display the results to the program window.
Here are the release notes for version 1.0 (and 1.1):
Added data migration via BCP. Note that when you specify your SQL Azure username, specify your user name as "username@server". Also note that data migration only works on the latest release of SQL Azure (Server Location: South Central US).
Modified App.Config to allow you to specify your Options. For example: If you do not want to migrate data, you can turn this off by modifying the App.Config file and changing ScriptData to false.
Added a cancel button so that you can cancel while processing.
Added a scroll toggle so that during processing you can keep the control from scrolling down to the bottom.
Fixed an error in BCP command to allow the passing of the SQL Server instance name.
Added color to the SQL results to better identify error messages.
As many of you probably already know, the CTP of SQL Azure is now feature complete! Fantastic work by the SQL Azure product team, as it was only in August that they announced the opening of the SQL Azure Database CTP!
I recommend reading the entire announcement on the SQL Azure team’s blog. Here are some brief notes on the announcement:
Details
CTP 2 (announced yesterday, October 15th) represents the complete set of features that will be available at commercial launch this November at PDC.
SQL Azure Database is now running on one of the go-live production clusters.
This environment will automatically roll into the fully supported production environment at PDC.
Key features added in CTP 2
Firewall support – You can now specify an allow list of IP addresses, preventing unauthorized users from reaching your SQL Azure databases.
Bulk Insert – SqlBulkCopy, or BCP, is now supported. This makes data migration much faster.
Database Edition Selection – You can now select either the Web Edition (1 GB) or Business Edition (10 GB) version of SQL Azure Database.
Additional T-SQL support – A host of new functionality has been exposed. Take a look at Transact-SQL Reference for details.
Also, you no longer get the "SET ANSI NULLS" error when connecting a query window via SSMS!
If you haven’t tried SQL Azure yet, now’s the time!
Last week I presented at the Wisconsin .NET Users Group for the first time, along with Joseph Paradi. I had a great time, and I really appreciate the hospitality of the group – great facility, attentive audience, and excellent questions. The title of our talk was Windows Azure in the Real World; here’s the abstract for the presentation:
Does this sound familiar? Your boss is asking about cloud computing and Windows Azure, but you’re not sure how to separate the hype from the reality. Or perhaps you’ve heard about Windows Azure and had a chance to try it out, but you still don’t quite understand how or why to use it. Or maybe you’ve been using Windows Azure since PDC in 2008, but you’d like a clearer picture of the roadmap and pricing. If any of these points resonate with you, or if you have different questions and concerns, please join Wade Wegner, Architect Evangelist with Microsoft, and Joseph Paradi, Innovation Lead with Accenture, as they provide you with an update on the Windows Azure Platform and show you how companies like Accenture are using the cloud today. Additionally, Wade and Joseph will discuss the migration of existing internal applications to Windows Azure, securing applications through claims-based authentication and passive federation with Geneva Server, using relational databases in the cloud with SQL Azure, migrating data to the cloud through tools like SSIS, and more.
Our intent was to provide the user group with an update to the Windows Azure Platform and show how some companies (like Accenture) are starting to explore the migration of internal IT applications to the cloud. I am hopeful we were successful.
During the presentation, I promised that I would put together a blog post and share the user group recording (thanks to Brennan and Scott for recording), useful links, and our decks. You’ll find all three below.
Rather than dropping a two hour presentation – which absolutely no one would watch or find useful – I have taken the time to extract some of the most important pieces of the presentation. This is a bit of an experiment on my part. I hope you find this useful; please feel free to provide me with feedback.
Why should you care?
"The Pillars of Concern"
Quick notes:
"The Pillars of Concern"
Authentication
Authorization
Data synchronization
Security of data
Application integration
Operations / management
Ultimate goal: reduce the cost/effort to move to Azure while proving we can
Demo Infrastructure
Quick notes:
The users are out there somewhere on the Internet
Windows Azure Platform
OrgChart application runs on Windows Azure
Database for OrgChart runs on SQL Azure
On-premises
Corporate active directory
"Geneva" Server
Lookup applications runs locally
Database for Lookup applications is local
There is no copy of active directory in the Microsoft data center; it all stays local
In my opinion, SQL Azure is the “secret sauce” of the Windows Azure Platform. Through SQL Azure, you have the ability to store your data in a true cloud-based relational database. It’s as simple as deploying your database to SQL Azure and updating your connection string to point to the new database – done! I think this really provides a core differentiator between the Windows Azure Platform and other cloud vendors.
Nevertheless, despite all the benefits you get from SQL Azure today, we’re still in CTP – SQL Azure is not yet released! Consequently, there are a few places where it’s a bit rough around the edges. In particular, the tooling through SQL Server Management Studio leaves a bit to be desired and some of the differences between what’s supported in SQL Server 2005/2008 versus SQL Azure can be a bit confusing. It took me hours to manually modify the SQL script of a moderately complex database so that I could deploy it into SQL Azure. What was missing was a good tool that would help with this process. Fortunately, my good friend and coworker George Huey has made this process much easier by creating the SQL Azure Migration Wizard.
At it’s core, the SQL Azure Migration Wizard help you migrate your SQL Server databases into SQL Azure. Point to your local database, walk through the wizard, and the end result is a SQL script you can deploy to SQL Azure – in fact, the tool will even deploy it for you. I used this tool against the same database that took me hours to manually migrate and the process only took a few minutes.
George has made the SQL Azure Migration Wizard available on CodePlex – you can download the source code and/or the binaries. Additionally, he has put together the following screen cast to demonstrate how easy it is to use this tool. Take a look:
I would like to point out that, while the SQL Azure Migration Wizard is a fabulous tool that will save you a lot of time when migrating your databases to SQL Azure, it’s a temporary solution. The SQL Server and SQL Azure teams will solve many of these problems before SQL Azure releases later this year.
Personally, I’d like to thank George Huey for all his hard work putting together this tool. If you try out the tool and agree, or if you have suggestions on how the tool can provide even more value, please leave some feedback on the CodePlex site.
If you’d like to learn more about SQL Azure, and start using a relational database in the cloud, please take a look at the following resources: