Volume 25 Number 12
Toolbox - Azure Development Resources
By Terrence Dorsey | December 2010
As you’ve probably read elsewhere in MSDN Magazine, Azure is Microsoft’s stack of cloud computing resources that range from coding, testing and deploying Visual Studio and Microsoft Azure to Azure itself and the SQL Azure storage services. Here’s a collection of tools and information that will get you writing apps for Azure today.
When you’re ready to start developing for Azure, your first stop should be the Azure Developer Center on MSDN (msdn.microsoft.com/windowsazure). Here you’ll find information about the entire platform along with links to documentation, tools, support forums and community blog posts.
Next, head over to the Azure portal (azure.microsoft.com/) and set up your account. This gives you access to Azure, and SQL Azure for storage (Figure 1). You’ll need a Windows Live ID to sign up. If you don’t have one already, there’s a link on the sign-in page.
Figure 1 Running a Service on Azure
As we go to press, Microsoft is offering an introductory special that lets you try out many features of the Azure at no charge. See microsoft.com/windowsazure/offers/ for details.
Before you can start slinging code, you’ll need to get your development environment set up. While you could probably build your Azure app with Notepad and an Internet connection, it’s going to be a lot more productive—and enjoyable—to use tools optimized for the job.
If you don’t have Visual Studio 2010, you can enjoy (most of) the benefits of a Azure-optimized development environment with Visual Web Developer 2010 Express (asp.net/vwd). You can get it via the Web Platform Installer (microsoft.com/web), which can also install SQL Server 2008 Express Edition, IIS, and extensions for Silverlight and ASP.NET development.
If you’re already using Visual Studio, simply download and install the Azure Tools for Microsoft Visual Studio (azure.microsoft.com/downloads/). These tools support both Visual Studio 2008 and Visual Studio 2010 and contain templates and tools specifically for Azure development. Azure Tools includes the Microsoft Azure SDK.
Moving Data from SQL Server
If you’re migrating an existing Web application to Azure, you’ll need some way to migrate the app’s data as well. For apps that employ SQL Server 2005 or SQL Server 2008 as a data store, the SQL Azure Migration Wizard (sqlazuremw.codeplex.com) makes this transition a lot easier (Figure 2). The wizard not only transfers the actual data, but also helps you identify and correct possible compatibility issues before they become a problem for your app.
Figure 2 SQL Azure Migration Wizard
To get a handle on how to use the SQL Server Migration Wizard, along with a lot of other helpful information about moving existing apps to Azure, see “Tips for Migrating Your Applications to the Cloud” in the August 2010 issue of MSDN Magazine(msdn.microsoft.com/magazine/ff872379).
Security Best Practices
You need to take security into consideration with any widely available application, and cloud apps are about as widely available as they come. The Microsoft patterns & practices team launched a Azure Security Guidance project in 2009 to identify best practices for building distributed applications on the Azure. Their findings have been compiled into a handy PDF that covers checklists, threats and countermeasures, and detailed guidance for implementing authentication and secure communications (bit.ly/aHQseJ). The PDF is a must-read for anyone building software for the cloud.
PHP Development on Azure
Dating from before even the days of classic ASP, PHP continues to be a keystone of Web application development. With that huge base of existing Web apps in mind, Microsoft created a number of tools that bring support for PHP to Azure. These tools smooth the way for migrating older PHP apps to Azure, as well as enabling experienced PHP developers to leverage their expertise in the Microsoft cloud.
There are four tools for PHP developers:
Azure Companion helps you install and configure the PHP runtime, extensions and applications on Azure.
Azure Tools for Eclipse for PHP is an Eclipse plug-in that optimizes the open source IDE for developing applications for Azure (Figure 3).
Figure 3 Azure Tools for Eclipse
Azure Command-Line Tools for PHP provides a simple interface for packaging and deploying PHP applications on Azure.
Azure SDK for PHP provides an API for leveraging Azure data services from any PHP application.
You’ll find more information about the tools and links to the downloads on the Azure Team Blog at bit.ly/ajMt9g.
Azure Toolkit for Facebook
Building applications for Facebook is a sure-fire way to reach tens of millions of potential customers. And if your app takes off, Azure provides a platform that lets you scale easily as demand grows. The Azure Toolkit for Facebook (azuretoolkit.codeplex.com) gives you a head start in building your own highly scalable Facebook app. Coming up with the next FarmVille is still up to you, though!
Azure SDK for Java
PHP developers aren’t the only ones getting some native tools for Azure. Now Java developers can also work in their language of choice and get seamless access to Azure services and storage. The Azure SDK for Java includes support for Create/Read/Update/Delete operations on Azure Table Storage, Blobs and Queues. You also get classes for HTTP transport, authorization, RESTful communication, error management and logging.
Setting up Your System
Here are a few useful blog posts from the Azure developer community that walk you through the process of setting up a development environment and starting your first cloud apps:
Getting Started with Azure: Part 1 - Setting up Your Development Environment
Hosting Videos on Azure
Easy Setup for PHP on Azure Development
Visual Studio Magazine
Cloud Development in Visual Studio 2010