Tag Archives: azure

Billion dollar revenue or not, Microsoft Azure is growing fast

Is Microsoft Azure now a billion dollar business? Maybe, maybe not. The milestone was announced by Curt Anderson, CFO for Server and Tools at Microsoft, in this Bloomberg piece:

Microsoft Corp. (MSFT)’s Windows Azure software and related programs have surpassed $1 billion in annual sales for the first time … Microsoft’s $1 billion sales figure includes Azure, as well as software provided to partners to create related Windows cloud services, Anderson said in an interview.

The remarks have prompted discussion of what exactly makes up this billion dollars of sales. In particular, what is this software sold to partners for “related Windows cloud services” and how much is it worth?

Timothy Prickett Morgan on the Register takes the most sceptical line:

It seems likely, however, that the bulk of that revenue figure comes from peddling Windows Server, Systems Center, SQL Server, and any other wares that service providers, telcos, and hosters have bought to build Windows-based clouds.

It’s hard to imagine it being even a 20-80 split for Azure proper versus Azure-alike, and the ratio is probably something on the order of 10-90 if you put a gun to our head and made us guess. And maybe more like 5-95.

He overstates the case though. Context: Server and Tools earned revenue of over $18bn in the Microsoft’s last financial year ending June 30 2012 and is set to exceed that in 2013. As Mary-Jo Foley reports here, System Center (which forms the basis for Microsoft’s “private cloud” offering) was already over $1bn last year, so it seems unlikely that Anderson would now lump System Center revenue in with Azure and call it Azure revenue.

At the same time, the qualification in Anderson’s statement does imply that Azure on its own, without this “software provided to partners” does not quite make it.

It matters little. It is clear to me that Azure is a rapidly growing business for Microsoft, and that the energy put in by Scott Guthrie and his team is paying off. Check his blog for a stream of strong announcements.

Server and Tools boss Brad Anderson told me that Azure is a “massive public cloud that doubles every six months.”

It makes sense too. If your business runs on Microsoft’s platform and you want to scale into the cloud, Azure is a strong contender now that its usability and features are maturing. Azure Virtual Machines, providing infrastructure as a service, are of key importance; note that while they have been available for a while they only came out of preview officially on April 16th, a couple of weeks ago. Azure Active Directory and the possibility of federation with on-premise AD is another critical feature, and so is virtual networking, which became generally available at the same time as the Virtual Machines.

On the other hand, Prickett Morgan’s response and other exclamations of surprise around the web (Say What? says Gigaom) show the extent to which Microsoft botched the Azure launch back in 2008 and 2009, and how far it has to go before it is perceived as a strong cloud platform contender beyond the circles of Microsoft partners.

Amazon Web Services on the other hand won its cloud reputation years ago and shows no sign of letting go of its lead, with energetic development of its platform that at least matches Microsoft’s efforts as well as commodity pricing.

Still, with both Office 365 and Azure now booming, it seems to me that the time when you could laugh off Microsoft’s cloud efforts has passed. Expect an unqualified $1bn revenue for Azure before too long.

Twilio integrates with Google App Engine for cloud telephony applications

Cloud telephony company Twilio has announced a partnership with Google to integrate its API with App Engine, Google’s platform for cloud applications. Google has a clear explanation of what this enables here. You can have your application respond to incoming SMS texts or voice calls, and send an SMS back, or for voice, play messages, record the call, or ask for further digits to be pressed to route the call appropriately. You can also use the API to initiate calls or send texts.

If you look here there are how-to examples (generic to Twilio, not specific to App Engine) for some of the things you do with Twilio:

  • Automated reminder calls
  • Click to call on your web site
  • Company directory
  • IVR (Interactive Voice Response) for automated support
  • Conferencing
  • Phone polls
  • Voice mail
  • Voice transcription

and more of course. Help desk applications and other kinds of support are the most obvious applications, but there are no limits: if you want to build voice calls or SMS messaging into your app, Twilio is the obvious solution.

The relationship with Google is not exclusive. Twilio already has integration with Windows Azure, Microsoft’s cloud platform. Google has one-upped Microsoft though. The Azure promotion gets you free credit for 1000 texts or minutes for Azure, while there are free 2000 texts or minutes for Google App Engine customers.

You can also use Twilio on any platform that can use a REST API. There is a module for Node.js, and libraries for PHP, Python, Ruby, C#, Java and Apex (used by Salesforce.com).

Microsoft’s growth areas: Azure, Server with Hyper-V, Office 365, Windows Phone

Microsoft has left slip a few figures in posts from PR VP Frank Shaw and platform evangelist Steve Guggenheimer.

Observers have tended to focus on Windows “Blue” and what is happening with Microsoft’s core client operating system, but what caught my eye was a few figures on progress in other areas.

  • Windows Azure compute usage doubled in six months
  • Windows Azure revenue growing 3X
  • Office 365 paid seats tripled year on year last quarter
  • Server 2012 Datacenter edition licenses grown 80%

A notable feature of these figures is that they are relative, not absolute. Office 365 is a relatively new product, and Windows Azure (from what I can tell, since Microsoft did not release numbers) performed rather badly until its renaissance in early 2011 under Satya Nadella, Scott Guthrie and others – see here for more about this). It is easy to post big multiples if you are starting from a small base.

This is real progress though and my guess is that growth will continue to be strong. I base this not on Microsoft’s PR statements, but on my opinion of Office 365 and Windows Azure, both of which make a lot of sense for Microsoft-platforms organisations migrating to the cloud.

Why the growth in Server 2012 Datacenter? This one is easy. Datacenter comes with unlimited licenses for Windows Server running in Hyper-V virtual machines on that server, so it is the best value if you want to the freedom to run a lot of VMs, especially if some of those VMs are lightly used and you can afford to overcommit the processors (you need a new license for every two physical processors you install).

Here’s another figure that Shaw puts out:

Windows Phone has reached 10 percent market share in a number of countries, and according to IDC’s latest report, has shipped more than Blackberry in 26 markets and more than iPhone in seven.

Spin, of course. This February report from IDC gives Windows Phone just a 2.6% market share in the 4th quarter of 2012. Still, it did grow by 150% year on year, thanks no doubt to Nokia’s entry into the market.

My personal view is that Windows Phone will also continue to grow. I base this on several things:

  • I see more Windows Phones on the high street and in people’s hands, than was the case a year ago.
  • Windows Phone 8 is decent and the user interface is more logical and coherent than Android, which mitigates a lack of apps.
  • Nokia is bringing down the price for Windows Phone devices so they compare well with Android in the mid-market below Apple and the premium Android devices.
  • There is some momentum in Windows Phone apps, more so than for Windows 8. Guggenheimer notes that downloads from the Phone Store now exceed 1 billion.

The context of the above is not so good for Microsoft. It is coming from behind in both cloud and mobile and the interesting question would what kind of market share it is likely to have in a few years time: bigger than today, perhaps, but still small relative to Amazon in cloud and Apple and Android in mobile.

There is also the Windows 8 problem. Many prefer Windows 7, and those who use Windows 8, use it like Windows 7, mostly ignoring the tablet features and new Windows Runtime personality.

How will Microsoft fix that? Along with leaked builds of Windows Blue, Microsoft has announced the next Build conference, which will be in San Francisco June 26-28, 2013 (I am glad this will not be on the Microsoft campus again, since this venue has not worked well). There is a lot to do.

image

Microsoft’s Azure Mobile Services: node.js and more in beginnings of easy cloud to device development

Microsoft announced Azure Mobile Services last month and it was mentioned by Microsoft Server and Tools boss Satya Nadella at the launch of Visual Studio 2012, as an example of where Microsoft is going with its “Modern app” vision, continuous services and connected devices (but with a Windows 8 or Windows Phone 8 flavour).

Azure Mobile Services is in some ways a reworking of the WCF RIA Services developed to support Silverlight applications, and in fact I swear I saw a reference to RIA Services flash past when I was opening my first Azure Mobile Services project in Visual Studio. It consists of a service type in Microsoft’s Azure cloud combined with a client SDK which is currently for Windows Runtime apps in Windows 8, though the REST protocol used could be called from any client platform.

image

Looking at the dashboard for a Mobile Services project in the Azure portal, you can see what Microsoft is going for here. Mobile Services handles authenticated access to data stored in SQL Server Azure. It is designed to be simple and cost-effective to get started, but can be scaled out by moving from a service on a shared host, to a dedicated VM with multiple instances.

image

It is easy to think of cases where the cloud component of a cloud plus device app need do little more than authenticate users, and retrieve and update data. Azure Mobile Services also provides for server-side scripts which you can modify to handle validation and other tasks.

I was interested to see that the server-side scripts are written in JavaScript and executed by node.js. Node.js is fantastic, and one of the benefits is that if you have an HTML and JavaScript client, you can use JavaScript both on the client and on the server. On the other hand, I wonder if Microsoft’s community would rather work with C# on the server, which is more mature and more familiar. Scott Guthrie’s introductory tutorial does not mention node.js.

I had a quick go at creating my own Azure Mobile Service. I have only been partially successful so far.

Things started well enough. I created a mobile service and the Quick Start opened.

image

Both Guthrie’s blog and the Quick Start wizard in the Azure portal are based on a todo list app. I went slightly off-piste here, deciding instead to create an app to track my articles on the web. I wanted to see how Azure Mobile Services copes with related tables, as opposed to a single table.

I had a frustrating time trying to create the database tables. I had to add my IP address to a firewall rule, enable popups, and deal with connection failures caused by unknown network issues.

Finally I was able to get into the database designers. I created an Articles table joined to a Publications table, with a very few fields.

Next I downloaded an automatically generated Windows 8 app from the portal. I had hoped this would magically work with my data. Unfortunately though, it seems to be hard-coded for the todo list app. If you do not want a todo list, you have to write your own code; and so far I have not had time to figure out from the reference what to do next. I looked at the Get started with data article, and guess what, it is the todo list again.

When you create a database, you can specify simple permissions. The todo list example depends on an application key stored in your app and sent over SSL, to grant permission to read and modify data. I selected authenticated user access instead.

image

There is an article explaining how to add authentication, though note that it presumes use of a Microsoft Live ID (the service formerly known as passport). This is perfect in the context of Windows 8 and Windows Store apps, but businesses will want to use Active Directory instead, whether hosted in Azure or Office 365 or on premise. I presume Microsoft will add this at some point though it is not mentioned currently.

My initial conclusion is that Azure Mobile Services shows lots of promise, but that the introductory documentation could be usefully improved, for example not to assume that you want to make a single table todo list app.

In this context the partnership with Xamarin, which is extending the SDK to Apple iOS and Google Android, is excellent news. This makes Azure Mobile Services useful more broadly, and I have a hunch that Xamarin’s support will soon improve the documentation and tutorials. The client SDK is open source and on github.

Note that according to Microsoft’s Kirill Gavrylyuk, in answer to a question from Roger Jennings, Microsoft plans to “roll out full support for iOS and Android including native SDKs soon”, rather than leaving the non-windows support entirely to Xamarin and C#.

Microsoft SQL Azure versus SQL Server on Amazon AWS

Amazon RDS for Microsoft SQL Server offers cloud instances of SQL Server. Amazon’s offering even supports “License Mobility”, Microsoft jargon that lets volume licensing customers use an existing SQL Server license for an Amazon’s instance. But how does Amazon’s cloud SQL Server compare with Microsoft’s own offering, SQL Database running on Azure?

Peter Marriott has posted on the subject here (registration required). The key point: despite the obvious similarity (both are SQL Server), these two offerings are radically different. Amazon’s RDS SQL is more IaaS (infrastructure as a service) than PaaS (platform as a service). You choose an edition of SQL Server and rent one or more instances. The advantage is that you get full SQL Server, just like the on-premise editions but hosted by Amazon.

Microsoft’s Azure-hosted SQL on the other hand is more abstracted. You do not rent a SQL Server instance; you rent a database. Under the covers Microsoft provides multiple redundant copies of the data, and if traffic increases, it should scale automatically, though the database size is limited to 150GB. The downside is that not all features of SQL Server are available, as I discovered when migrating data.

Marriott adds that SQL Azure supports encrypted connections and has a more usable administration interface.

A further twist: you can also install SQL Server on an Azure Virtual Machine, which would get you something more like the Amazon approach though I suspect the cost will work out higher.

Moving a database from on-premise SQL Server to SQL Azure: some hassle

I am impressed with the new Windows Azure platform, but when I moved a simple app from my local machine to Azure I had some hassle copying the SQL Server database.

The good news is that you can connect to SQL Azure using SQL Server Management studio. You need to do two things. First, check the server location and username. You should already know the password which you set when the database was created. You can get this information by going to the Azure portal, selecting the database, and clicking Show connection strings on the dashboard.

Second, open the SQL firewall for the IP number of your client. There is a link for this in the same connection string dialog.

Now you can connect in SQL Server Management Studio. However, you have limited access compared to what you get as an admin on your local SQL Server.

Here is the Tasks menu for an on-premise SQL Server database:

image

and here it is for a SQL Server Azure database:

image

Still, you can start Export Data or Copy Database from your on-premise connection and enter the Azure connection as the target. However, you should create the destination table first, since the Export Data wizard will not recreate indexes. In fact, SQL Azure will reject data imported into a table without at least one clustered index.

I tried to script a table definition and then run it against the SQL Azure database. You can generate the script from the Script Table as menu.

image

However even the simplest table will fail. I got:

Msg 40514, Level 16, State 1, Line 2
‘Filegroup reference and partitioning scheme’ is not supported in this version of SQL Server.

when attempting to run the script on SQL Azure.

The explanation is here.

Windows Azure SQL Database supports a subset of the Transact-SQL language. You must modify the generated script to only include supported Transact-SQL statements before you deploy the database to SQL Database.

Fortunately there is an easier way. Right-click the table and choose Generate Scripts. In the wizard, click the Advanced button for Set Scripting Options.

image

Find Script for the database engine type, and choose SQL Azure:

image

You may want to change some of the other options too. This generates a SQL script that works with SQL Azure. Then I was able to use the Export Data wizard using the new table as the target.  If you use Identity columns, don’t forget Enable identity insert in Edit Mappings.

image

aQuantive may be Microsoft’s biggest acquisition failure. Have there been good ones? A look back.

Today’s news that Microsoft  is writing off $6.2 billion from the useless acquisition of aQuantive in August 2007 gives me pause for thought.

How bad is this company at acquisitions? Particularly those under CEO Steve Ballmer’s watch. He became CEO in January 2000.

image

Microsoft acquired Danger in February 2008 for $500M. Small relative to the aQuantive acquisition, but how much further money did the company burn transforming Danger from an excellent cloud and mobile company to the group that came up with Kin, the phone withdrawn from the market after just two months on sale? Not to mention the downtime and threatened loss of data suffered by Danger’s online service under Microsoft’s stewardship.

Microsoft attempted to buy Yahoo for $44.6bn in 2008. Yahoo’s executives declined, a move that was (very) bad for Yahoo shareholders but quite possibly right in a business sense; it would not have been a good fit.

Microsoft acquired Groove Networks complete with Notes inventor Ray Ozzie in March 2005. I put this in the disaster category. Groove went nowhere at Microsoft. Ozzie became Chief Software Architect and talked of internet vision but did not deliver. The wretched SharePoint Workspace is apparently based on Groove.

What about the good ones? My view is that Microsoft paid too much for Skype at $8.5 billion but at least it acquired a large number of users and has some chance of enhancing its mobile offerings with Skype integration.

Microsoft acquired Bungie in 2000 and given the success of Halo (without which, maybe, the whole Xbox project might have faltered) we have to count that a success, even though Bungie was spun off back to independence in 2007.

Other notables include Great Plains in December 2000 (now morphed into Dynamics ERP); Connectix in February 2003 which got Microsoft started in virtualization; and Opalis in December 2009 whose software now plays a key role in Microsoft’s System Center 2012 private cloud software.

Winternals in July 2006 was a great acquisition. Microsoft acquired some indispensable Windows troubleshooting tools, and also Mark Russinovich and Bryce Cogwell, able people who I suspect contributed to the transformation of Windows Vista into Windows 7, and in the case of Russinovich, to the technology in Windows Azure which now seems reborn as an excellent cloud platform.

You can see all Microsoft’s completed acquisitions here.

(If the company would like to acquire itwriting.com for a few billion I am willing to talk.)

The new Windows Azure: a better cloud platform from Microsoft

Microsoft’s Scott Guthrie has posted more details of changes in Windows Azure. I was also able to sign up for the preview of Virtual Machines and Web Sites (my web site application is pending).

In the past the Azure portal for managing your cloud services has been functional but ugly and irritating. This has been replaced by a new portal (in preview) which is a great improvement.

image

image

Even better, the portal has a REST API which developers can program directly, giving Amazon-like programmatic control of your Azure infrastructure, though I have not looked at the actual API yet. The SDK is open source and hosted on GitHub under an Apace 2 license.

Guthrie talks about scaling in Azure web sites. You can control the number of VM instances used by your web site and “Windows Azure automatically handles load balancing traffic across VM instances”. The one thing I do not see is how you would have instances brought online and taken offline in response to demand. However, given the REST API you would imagine that writing code to do this would not be too challenging. The portal includes a dashboard for monitoring performance so the API can access this information.

You can have up to 10 web sites on a free shared hosting environment, and pay only when you upgrade to a dedicated VM.

Free is free; but once you do scale up it does not look cheap to me. Here are a couple of samples from the calculator:

image

or for a busier site:

image

These kinds of figures would put me off moving this site to Azure, for example. That said, I would be interested to see a detailed cost comparison between Azure, Amazon, and other cloud hosting providers like Rackspace.

There are more features mentioned in Guthrie’s post and it does look like an improvement both in features and usability.

Windows Azure get new hybrid cloud, infrastructure as a service features

Microsoft has announced new preview features in Windows Azure, its cloud computing platform, which introduce infrastructure as a service features as well as improving its support for hybrid public/private clouds.

The best summary is in the downloadable Fact Sheet (Word document). One key piece is that virtual machines (VMs) can now be persistent. Previously Azure VMs were all conceptually stateless. You could save data within them, but it could be wiped at any time since Azure may replace it with the original you created when it was first deployed.

Supported operating systems are Windows Server 2008 R2, Windows Server 2012 RC, and four flavours of Linux.

One of the features mentioned by VP Bill Laing is the ability to migrate VHDs, the virtual hard drives used by Hyper-V and Azure, between on-premise and Azure:

Virtual Machines give you application mobility, allowing you to move your virtual hard disks (VHDs) back and forth between on-premises and the cloud. Migrate existing workloads such as Microsoft SQL Server or Microsoft SharePoint to the cloud, bring your own customized Windows Server or Linux images, or select from a gallery.

Windows Azure Virtual Network lets you extend your on-premise network to Azure over a VPN. This sounds like the existing feature called Windows Azure Connect first announced at the end of 2010, though since Azure Virtual Network is also a preview this seems to be talking a long time to come to full release.

Windows Azure Web Sites is a new web hosting offering. Previously, Azure was focused on web applications rather than generic web sites. This new offering is aimed at any website, running on Internet Information Server 7 with supported frameworks including ASP.NET, PHP and Node.js. MySQL is supported as well as Microsoft’s own Azure SQL Database based on SQL Server.

There is also a new management portal in preview. Azure SQL Reporting is out of preview, and there are also new services for media, caching, and geo-redundant storage.

My guess is that Microsoft-platform customers will welcome these changes, which make Azure a more familiar platform and one that will integrate more seamlessly with existing on-premise deployments. No doubt Microsoft also hopes to compete more effectively with Amazon’s EC2 (Elastic Compute Cloud).

One thing which I will would like to know more about is Azure’s elasticity, the ability to scale on demand. Laing describes Azure Web Sites as a “highly elastic solution,” and the Fact Sheet mentions:

the ability to scale up as needed with reserved instances.

It is not clear though whether Microsoft is offering built-in load balancing and scaling on demand, an area where both Azure and System Center 2012 (Microsoft’s private cloud management suite) are relatively weak. That is, scaling is possible but complex to automate.

Microsoft’s platform nearly invisible at QCon London 2012

QCon London ended yesterday. It was the biggest London QCon yet, with around 1200 developers and a certain amount of room chaos, but still a friendly atmosphere and a great opportunity to catch up with developers, vendors, and industry trends.

Microsoft was near-invisible at QCon. There was a sparsely attended Azure session, mainly I would guess because QCon attendees do not see that Azure has any relevance to them. What does it offer that they cannot get from Amazon EC2, Google App Engine, Joyent or another niche provider, or from their own private clouds?

Mark Rendle at the Azure session did state that Node.js runs better on Windows (and Azure) than on Linux. However he did not have performance figure to hand. A quick search throws up these figures from Node.js inventor Ryan Dahl: 

  v 0.6.0 (Linux) v 0.6.0 (Windows)
http_simple.js /bytes/1024 6263 r/s 5823 r/s
io.js read 26.63 mB/s 26.51 mB/s
io.js write 17.40 mB/s 33.58 mB/s
startup.js 49.6 ms 52.04 ms

These figures are more “nothing to choose between them” than evidence for better performance, but since 0.6.0 was the first Windows release it is possible that it has swung in its favour since. It is a decent showing for sure, but there are other more important factors when choosing a cloud platform: cost, resiliency, services available and so on. Amazon is charging ahead; why choose Azure?

My sense is that developers presume that Azure is mainly relevant to Microsoft platform businesses hosting Microsoft platform applications; and I suspect that a detailed analysis would bear out that presumption despite the encouraging figures above. That said, Azure seems to me a solid though somewhat expensive offering and one that the company has undersold.

I have focused on Azure because QCon tends to be more about the server than the client (though there was  a good deal of mobile this year), and at enterprise scale. It beats me why Microsoft was not exhibiting there, as the attendees are an influential lot and exactly the target audience, if the company wants to move beyond its home crowd.

I heard little talk of Windows 8 and little talk of Windows Phone 7,  though Nokia sponsored some of the catering and ran a hospitality suite which unfortunately I was not able to attend.

Nor did I get to Tomas Petricek’s talk on asynchronous programming in F#, though functional programming was hot at QCon last year and I would guess he drew a bigger audience than Azure managed.

Microsoft is coming from behind in cloud -  Infrastructure as a Service and/or Platform as a Service – as well as in mobile.

I should add the company is, from what I hear, doing better with its Software as a Service cloud, Office 365; and of course I realise that there are plenty of Microsoft-platform folk who attend other events such as the company’s own BUILD, Tech Ed and so on.

Update:

This is the basis for the claim that node.js runs better on Windows:

IOCP supports Sockets, Pipes, and Regular Files.
That is, Windows has true async kernel file I/O.
(In Unix we have to fake it with a userspace thread pool.)

from Dahl’s presentation on the Node roadmap at NodeConf May 2011.