Windows Azure: New Hadoop service + HTML5/JS (CORS), PhoneGap, Mercurial and Dropbox support

Today we released a number of great enhancements to Windows Azure. These new capabilities include:

  • Mobile Services: HTML5/JS (CORS) Client + PhoneGap + Windows Phone 7.5 + .NET Portable Library support
  • Web Sites: Mercurial Source Control + Dropbox Deployment support
  • HDInsight: New service that enables you to easily deploy and manage Hadoop Clusters on Azure

All of these improvements are now available to start using immediately (note: some services are still in preview). Below are more details on them:

Mobile Services: HTML5/JS Client (CORS), PhoneGap, Windows Phone 7.5

Today we are adding support to enable pure HTML5/JS clients (and PhoneGap apps) as well as Windows Phone 7.5 clients to use Windows Azure Mobile Services as a backend.  This comes in addition to the new Android SDK for Windows Azure Mobile Services we released two weeks ago (as well as the Windows 8, Windows Phone 8 and iOS support we had earlier).

HTML5/JS Clients

You can now connect both HTML5 web client apps as well as Apache Cordova/PhoneGap apps to your Mobile Services, and use Windows Azure for both data storage and authentication.  We are delivering this via:

  • New Mobile Services web client library that supports IE8+ browsers, current versions of Chrome, Firefox, and Safari, plus PhoneGap 2.3.0+. It offers the same data querying and storage APIs support we have in other native SDKs, and allows easy user authentication via any of the four identity providers supported by Mobile Services (Microsoft Account, Google, Facebook, and Twitter). Please use the GitHub issue tracker to report any issues, and our forum to get help.
  • Cross Origin Resource Sharing (CORS) support to enable your Mobile Service to accept cross-domain Ajax requests. You can now configure a whitelist of allowed domains for your Mobile Service using the Windows Azure management portal.

To get started, create a mobile service in the Windows Azure Management Portal and open the Quickstart tab. You can now select “HTML” and find the steps to create a new HTML5/JS client or add a backend to an existing one:

image

You can then continue with this tutorial for the remaining steps and build a simple HTML5 todo list app (that runs entirely in a browser) in under 5 minutes.

image

When deploying the HTML5 front-end app to a production environment, make sure to add the host name of the website you use to host it to your Windows Azure Mobile Services’ Cross-Origin Resource Sharing (CORS) whitelist using the Configure tab as shown below:

image

Visit the Windows Azure Mobile dev center and read this tutorial to learn more about working with server-side data, or this one if you want to learn more about authenticating users.

Windows Phone 7.5 Support and a new C# Client Library on NuGet

A few days ago we published a preview of our next version of the Mobile Services C# client library on NuGet.  The goal of this pre-release is to give Mobile Services developers an early look at the new features we are planning for our next C# SDK update and an opportunity to try them out ahead of time. Some of the great new features we have added include:

  • Portable Library Support: We have consolidated our Windows 8 and Windows Phone 8 clients on top of a single codebase using Portable Libraries. This enables us to reach a variety of new client platforms, as well as enable you to call Mobile Services from your ASP.NET and .NET server backend.
  • Windows Phone 7.5 support: With the move to Portable Libraries, we are also enabling support for Windows Phone 7.5
  • Json.NET and HttpClient: We migrated our implementation to use the latest and most flexible HTTP components to enable maximum robustness and extensibility.

Note: Today’s drop is a pre-release. For production apps we recommend continuing to use the “stable” Mobile Service client libraries for .NET available for download here

Keep Giving Us Feedback

Please continue to visit our uservoice page to let us know what you’d like to see added next (today’s release added 3 of the top 5 asks in uservoice!). Email us to show off your app, and ask questions in our forum whenever you run into a problem. 

Web Sites: Mercurial and Dropbox Deployment Support

Today’s release also includes a number of deployment/publishing enhancements to Windows Azure Web Sites:

Mercurial Source Control Support

You can now use Mercurial (Hg) repositories when setting up continuous deployment of your Websites from your CodePlex or Bitbucket repositories.  This is in addition to the TFS, CodePlex, Git and GitHub source control provider support that we previously supported. 

Today’s release also includes improved UI that makes it even easier to setup deployment from source-control.  Simply click the “Setup deployment from source control” link on your web-site dashboard, and a new wizard will appear that makes it trivial to walkthrough setting up publishing endpoints using a variety of source control providers and sites.  For example, below is how you could choose to enable source code deployment from a public or private Mercurial (Hg) repository you might have on Bitbucket:

image

Dropbox Deployment Support

Windows Azure also now supports site/app deployment from Dropbox to Web sites, making website deployment as easy as copying files to a folder on your local computer.  To enable this from the Windows Azure management portal, click the “Set up deployment from source control” link on your Web site dashboard, choose Dropbox and authorize the connection, and then choose a Dropbox sub-folder to synchronize:

image 

You can then simply copy your source files to the Dropbox sub-folder on your local computer and press the “Sync” button in the Windows Azure Portal to deploy the files.  Windows Azure will automatically build sources as needed, similar to Git or TFS based deployments.  Also, the deployment history tab in the portal will keep track of your deployments and enables you to re-deploy any previous deployment with the click of a button.

Watch this 2 minute screencast to see how easy it now is to deploy web sites to Windows Azure using Dropbox.

Improved UI for Managing Source Control Deployments

In addition to the new setup wizard for source control deployment, today’s Windows Azure release also includes some other nice enhancements to the source control UI.  Deployment history in the management portal now accurately reflects which source control provider is connected for continuous deployment, such as TFS, CodePlex, GitHub, or Bitbucket.  It is also now possible to disconnect from an already connected source provider on a web-site in order to set up a different one (previously you had to delete the site to do this).

TFS Certificate Renewal

It’s also now possible to renew the certificate used by Team Foundation Service for continuous deployment directly from the Windows Azure management portal. To do this, click the “Renew TFS certificate” link on either the Dashboard or Quick Start page.

Support for Regenerating the Publish Profile

Today you can download a publish profile from the Web Sites dashboard. Once that profile is downloaded, the credentials are basically good forever. We understand that this is not optimal. To address this, with today’s release we are introducing a new quick glance command in the dashboard called Reset publish profile credentials. When clicked, you will get a confirmation for resetting the credentials and the credentials are regenerated.

New HDInsight Server: Deploy and Manage Hadoop Clusters on Azure

Today we also released a public preview of the new HDInsight Service for Windows Azure. HDInsight provides everything you need to quickly deploy, manage and use Hadoop clusters running on Windows Azure.

If you have a Windows Azure account you can request access to the HDInsight Preview and then easily create an HDInsight cluster within the Windows Azure Management Portal. Within the Windows Azure Management Portal click the New button and select the new HDInsight service to create a Hadoop cluster.  Specify a name for the cluster, a password for logging into the cluster and the size of cluster you need:

image

Note: a storage account is required to create a cluster and in the current public preview the storage account must reside in the East US region. The Azure Storage account you associate with your cluster is where you will store the data that you will analyze in HDInsight.

HDInsight Clusters

A cluster will take a few minutes to create (as part of creating it will configure the necessary Virtual Machines that together make up your Hadoop cluster). The Hadoop components installed as part of an HDInsight cluster are outlined here. Once the cluster is created, you can drill into the dashboard view to see the cluster quick glance screen. This quick glance allows you to see the basic information about your cluster and gives you a simple method to connect to the cluster (just click the Manage button at the bottom of the dashboard).

When you connect to the cluster you’ll see a page that contains a number of tiles that provide information about the cluster and can be used to perform additional tasks:

image

The Create Job tile opens a MapReduce job submission form that you can use to submit MapReduce jobs as JAR files. The Interactive Console tile opens a console that lets you execute Javascript and Hive queries directly against your cluster.  The Samples title includes samples that you can use to get started.

Summary

The above features are now available to start using immediately (note: some of the services are still in preview).  If you don’t already have a Windows Azure account, you can sign-up for a free trial and start using them today.  Visit the Windows Azure Developer Center to learn more about how to build apps with it!

Hope this helps,

Scott

P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: twitter.com/scottgu

29 Comments

  • Could somebody please tell me why is Azure availability limited to a few countries? I really do like to use Windows Azure but I can't even create an Azure account because it is not available to my country. Now I am forced to use Amazon Web Service.

  • Is it possible to read/update a table created for one mobile service (e.g. Win Store app) from another mobile service (e.g. HTML)? The tables are created in the schema specific to the type of mobile service, but can you update a single table shared across mobile services?

    If not, what are recommended ways to allow a user's data to be shared across UI's? Thanks.

  • Can we get a few less Mobile Services updates and a single Virtual Machine GA update? Thanks!

  • Although Dropbox support is pretty cool...why not Skydrive too?

  • Great news, now I can add AMS support, namely online score, to my older XNA WP7 app :)
    Anyway, you should really close or at least answer those completed UserVoice requests, so we know, what is currently the top requested feature.

  • Tim, you can have multiple apps (Win Store, Win Phone, iOS, Android, HTML) all talk to the same mobile service. So you can share the personalized state of your user between all user's devices.

  • Those are nice updates. I like that Azure is getting more features and getting easier to use. The Dropbox support is surprising. I didn't know people wanted something like that. Will deploy from SkyDrive support be coming too?

  • Normally I'm excited to see what you have to announce, but until one of them is ssl for websites, everything is moot to me.

  • CORS Whitelist support is a great idea! Too bad only Internet Explorer 10 actually comes close to supporting it.

  • Mercurial deployment is superb news, Scott! Thank you.

  • I also ask: Why no Skydrive?

  • Some great new features here but SSL certificates for websites would be even better. We're having to use Heroku instead for a lot of our sites.

  • I am quite surprised by the DropBox support for source deployment. In fact this move is brilliant. Everybody is doing Github, by providing DropBox Microsoft is showing a leadership position. This would be very cool with Mobile developers.

    Also Microsoft embracing Hadoop shows new thinking within Microsoft. Microsoft is making a choice that is customer driven.

  • Dropbox support but still no support for SSL certificates, really? Who is driving the priorities here?

  • Very nice feature, but when will you support SSL certificates for custom hostnames!! This is the only reason why we can't use Azure for the moment, I believe this is really a must-have feature that should be addressed before some things that you guys are working on. I saw on several forums and blogs that you guys were working on it. This is such a basic feature that I am sure is essential for a lot of potential customers.

  • i just tried the Dropbox deployment, its insane, so easy
    many thanks

  • Hi Scott,

    When can we expect you to port visual studio to a web based IDE and tie it into Azure with deployment, cloud storage, version control, etc. I mean why do we need all these other products to interface with Azure. Make Azure a one stop shop for the MS stack. Just an idea.

  • @Bucha,

    >>>>> Could somebody please tell me why is Azure availability limited to a few countries? I really do like to use Windows Azure but I can't even create an Azure account because it is not available to my country. Now I am forced to use Amazon Web Service.

    Which country are you trying to sign up from?

    Thanks,

    Scott

  • @Tim,

    >>>>>> Is it possible to read/update a table created for one mobile service (e.g. Win Store app) from another mobile service (e.g. HTML)? The tables are created in the schema specific to the type of mobile service, but can you update a single table shared across mobile services? If not, what are recommended ways to allow a user's data to be shared across UI's? Thanks.

    Tim, you can have multiple apps (Win Store, Win Phone, iOS, Android, HTML) all talk to the same mobile service. So you can share the personalized state of your user between all user's devices.

  • @aaron,

    >>>>>> Can we get a few less Mobile Services updates and a single Virtual Machine GA update? Thanks!

    We are hard at working on VM GA - stay tuned.

    Thanks,

    Scott

  • @Don, @Charles, @Matt, @Todd

    >>>>>> Some great new features here but SSL certificates for websites would be even better

    We are hard at work on SSL and it is coming soon (both SNI and IP address based SSL). SSL is definitely out top priority. Implementing it requires some changes to our azure networking stack which is one reason why it is taking longer - unfortunately putting more people working on this won't speed it up (but we are almost done which is the good news). The features released this week didn't require these networking changes which is why they shipped before it - we didn't use any resources that could have helped with SSL to do them.

    Hope this helps,

    Scott

  • @Scott

    Thank you for the response. I am from Maldives.

  • Is reverse DNS now available? Amazon has had RDNS for ages, it's essential for certain hosted services...

  • Thanks

  • This is very good!!

  • > [Pete] CORS Whitelist support is a great idea! Too bad only Internet Explorer 10 actually comes close to supporting it.

    The new Mobile Services Web client supports IE8+. You are right that only IE10 supports true CORS, so for IE 8 and 9, we automatically and transparently fall back on a different cross-domain technique (still enforcing the same domain whitelist). So with this API you'll be OK on any reasonably current browser!

  • @Bucha,

    >>>>> Could somebody please tell me why is Azure availability limited to a few countries? I really do like to use Windows Azure but I can't even create an Azure account because it is not available to my country. Now I am forced to use Amazon Web Service.

    If you send me email (scottgu@microsoft.com) I can get you setup.

    Thanks,

    Scott

  • @Takeo,

    >>>>> Is reverse DNS now available? Amazon has had RDNS for ages, it's essential for certain hosted services...

    Unfortunately reverse DNS is not supported yet. Are you using it for email server scenarios or something else?

    Thanks,

    Scott

  • Could somebody please tell me why is Azure availability limited to a few countries?
    I trying from Belize

Comments have been disabled for this content.