Category Archives: microsoft

SSD storage has come to Azure VMs, along with faster Azure SQL

Microsoft has introduced SSD storage for Azure VMs. This is a catch-up with Amazon which has been offering this at least since June 2014. It is an important feature though, and now in preview. The SSDs are part of the Azure storage service but can only be used for disks attached to VMs, not for general-purpose block files. There are three virtual disks available:

  P10 P20 P30
Disk size 128GB 512GB 1TB
IOPS 500 2300 5000
Throughput 100 MB/s 150 MB/s 200 MB/s

Price is $6.90 per 100GB per month, which if I am reading this right is less than Amazon’s $0.10 per GB per month ($10 per 100GB) as shown here.

One obvious use case is for SQL Server running on a VM. This generally performs better than Microsoft’s Azure SQL database service. That said, Microsoft is also previewing an improved Azure SQL which supports most of the features of SQL Server 2014, including .NET stored procedures and in-memory columnstore queries. Microsoft’s Scott Guthrie says performance is better:

Our internal benchmark tests (using over 600 million rows of data) show query performance improvements of around 5x with today’s preview relative to our existing Premium Tier SQL Database offering and up to 100x performance improvements when using the new In-memory columnstore technology.

If you can make it work, Azure SQL is better sense than running SQL Server in a VM with all the hassles of server patching and of course Microsoft’s licensing fees; but the performance has to be there. Another factor which drives users to the VM option is that SQL Reporting Service is not available in Azure SQL.

Windows Phone wobbles: why users are losing heart

When Microsoft acquired Nokia in April this year, there was always a risk that the Windows Phone platform would lose momentum (yes there was some momentum).

Nokia was better at marketing, better at hardware innovation, and better at the all-important operator relations than Microsoft itself.

I consider the launch of Windows Phone 7 in October 2010 to be one of Microsoft’s great disasters, not because of the operating system which is very good, but because the company failed to get all the pieces in place at the right time. When the phone was first released in the UK, you could not buy it at all in my local town centre, and even if you could find it, the hardware was indifferent, just slightly tweaked Android handsets from the likes of HTC and Samsung.

The underlying problem was that Microsoft was late to market and the iOS/Android duopoly was already dominant; but even so, the company could have done better.

Nokia’s adoption of Windows Phone in February 2011 (first devices came in October 2011) made a striking difference. Distinctive hardware and better visibility in the high street gave the platform a better chance of success. Nokia Drive for turn-by-turn navigation was a great feature, along with other Nokia apps and services like Mix Radio. Admittedly the Lumia 800 (the launch model) had some issues, especially with battery life and charging problems, but better devices followed.

Nokia also started making cheaper Windows Phones, delivering some of the best value smartphones on any platform.

The Nokia Lumia 1020, released in late summer 2013, brought the best camera in any smartphone to market, thanks to the company’s PureView research along with a high-quality though slightly protruding lens.

image
Nokia Lumia 1020

That was something of a high point for Windows Phone. Nokia, perhaps, started to panic as Windows Phone sales still failed to take off as quickly as had been hoped. At Mobile World Congress in February 2014, it announced Nokia X, a version of Android without Google services. This made no sense to me at the time; but indicated that Nokia had diverted its focus away from improving Windows Phone to chase an alternative (and doomed) platform.

There was also a period of hiatus between Sept 2013 when Microsoft’s acquisition was announced, and April 2014 when it completed. During this time Nokia operated independently, but with the knowledge that the businesses would be merged in due course; not a good scenario for long-term planning.

The problem today is that even those few who have adopted Windows Phone are losing heart. This is not only to do with market dynamics and the app problems over which Microsoft has no control. Check out this monster thread on Microsoft’s forums. There is a hardware issue with some Lumia models (including the 1020) such that the 8.1 update causes the phone to freeze at random intervals; not good if, for example, you have an alarm set or are waiting for a call. What you will see is that users started complaining on September 10th. Nobody from Microsoft bothered to comment on the thread or help users with mitigation suggestions until November 22nd, when Kevin Lee at Microsoft made an appearance:

Beginning in early September we started to receive an increased number of customer feedback regarding Microsoft Lumia 1020 and 925 device freezes. During the last two months we have been reaching out for more and more data and devices to systematically reproduce and narrow down the root cause. It turned out to be a power regulator logic failure where in combination with multiple reasons the device fails to power up the CPU and peripherals after idling into a deep sleep state.

I am pleased to pass on that we have a fix candidate under validation which we expect to push out the soon with the next SW update!

Which update? When? Mr Lee has made no further comment, and phones are still freezing. It is frustrating for users who return phones for repair, have the software reset, and then still suffer the problem, because it is incorrectly diagnosed by the repair engineers (read the thread for many such tales).

While the specific issue affects only a subset of Windows Phone users, this is not only indicative of poor quality control before the 8.1 release was pushed out, but also poor communication with users of the high-end Windows Phone devices; the market where Microsoft is weakest.

More seriously, the 1020 which is now coming up to 18 months old is still in some ways top of the range, certainly for the camera; note that in the Lumia range you have 8x, 9x, and 10x prefixes, and there has been no advance on 1020 in the 10x series.

Another issue for Windows Phone is that Microsoft is putting out Office for iOS and Android while seeming to neglect its own platform. The forthcoming Visual Studio 2015 includes a new set of tools for both native and HTML-based development for iOS and Android. It is beginning to look as if Microsoft itself is now treating the platform as second-class.

Unlike Ed Bott and Tom Warren I still use a 1020 as my main phone. I like the platform and I like not taking a separate camera with me. It was great for taking snaps on holiday in Norway. But I cannot survive professionally with just Windows Phone. It seems now that a majority of gadgets I review come with a supporting app … for iOS or Android.

Microsoft is capable of making sense of Windows Phone, particularly in business, whether it can integrate with Office 365, Active Directory and Azure Active Directory. On the consumer side there is more that could be done to tie with Windows and Xbox. Microsoft is a software company and could do some great first party apps for the platform (where are they?).

The signs today though are not good. Since the acquisition we have had some mid-range device launches but little to excite. The sense now is that we are waiting for Windows 10 and Universal Apps (single projects that target both phone and full Windows) to bring it together. Windows 10 though: launch in the second half of 2015 is a long time to wait. If Windows Phone market share diminishes between then and now, there may not be much left to revive.

What is .NET Core, “the foundation of all future .NET platforms”?

I have been looking at .NET Core, an official Microsoft open source project which you can find on github and which is at the heart of Microsoft’s plans to open source most of its .NET technology.

Currently there are three Microsoft repositories for the .NET Core platform. There are the .NET Compiler Platform (“Roslyn”), ASP.NET 5, and the .NET Core Framework. Note that these are all v.Next versions of the .NET Framework. ASP.NET 5 and the .NET Core Framework are on github, but Roslyn is on CodePlex, Microsoft’s open source repository site. There is also a github repository for Entity Framework 7, currently part of ASP.NET though I am not sure that it belongs there. The current version of EF is 6.11 but the code for this is on CodePlex. The KRuntime, which is the implementation of the parts of the .NET Runtime needed to host an ASP.NET application, is also in the ASP.NET repository. Its full name is the K Runtime Environment (KRE); I am not sure what K stands for. Note that Microsoft has only promised to open source the .NET server stack, not desktop frameworks like Windows Presentation Foundation.

I had a look at the .NET Core Framework. This is the key set of libraries for .NET applications. The easiest way to build the core libraries is from the command line. Open a Visual Studio 2013 Developer Command Prompt (which sets up the path and environment for command line builds), go to your clone of the github repository and type build.

image

Cool. But what is in it? Not that much: System.Collections, Parallel Linq, Vectors and XML libraries.

“More is coming soon. Stay tuned!” say the docs. And in this blog post by Microsoft’s Immo Landwerth:

Consider the subset we have today a down-payment on what is to come. Our goal is to open source the entire .NET Core library stack by Build 2015.

Landwerth says that Microsoft is “currently figuring out the plan for open sourcing the runtime”; this is the native code that creates the .NET Virtual Machine which executes .NET code.

Of course there is also Mono, the old open source implementation of .NET which is from an independent code base.

This is exciting stuff for .NET developers, especially since official runtimes for Linux and Mac are also promised, but also somewhat confusing. What is .NET Core versus what we have known as the .NET Framework?

Here is a diagram from Landwerth’s blog:

image

I presume that the top left box (.NET Framework) has not been promised as open source, but the other two boxes have. Note that ASP.NET 5 will run on either .NET Core or the full .NET Framework; and that .NET Native – the project to compile a .NET application as true native code – sits as part of .NET Core.

Store apps (also known as Windows Runtime apps, or Metro apps) are not covered in the above diagram, but since .NET Native currently only works for Store apps, maybe .NET Core is also the .NET runtime for Store apps. Landwerth says:

.NET Core is a modular development stack that is the foundation of all future .NET platforms. It’s already used by ASP.NET 5 and .NET Native.

There are also some clues about .NET Core in the home page for the github repository:

.NET Core and the .NET Framework have (for the most part) a subset-superset relationship. .NET Core is named "Core" since it contains the core features from the .NET Framework, for both the runtime and framework libraries. For example, .NET Core and the .NET Framework share the GC, the JIT and types such as String and List<T>. We’ll continue improving these components for both .NET Core and .NET Framework.

.NET Core was created so that .NET could be open source, cross platform and be used in more resource-constrained environments. We have also published a subset of the .NET Reference Source under the MIT license, so that you and the community can port additional .NET Framework features to .NET Core.

The second paragraph is intriguing. Microsoft has posted parts of the source for the .NET Framework library so that the community can port some of it to .NET Core. What this means I think is not that this code should be part of .NET Core (otherwise it becomes more than just core) but rather that it would run on .NET Core.

It seems, contrary to what you might have thought, that the full .NET Framework is not a superset of .NET Core, although it is intended to be close to that. This has interesting implications for future compatibility. If .NET Core is intended to be more agile and to evolve more rapidly than the .NET Framework, since it is somewhat free of backwards compatibility constraints, we will soon find that there are features in .NET Core that do not exist in the .NET Framework as well as vice versa, in other words, two incompatible stacks. That could be a problem.

Despite Microsoft’s impressive openness in publishing much of its .NET work and forming the .NET Foundation, I for one would appreciate a clearer presentation of the plans for .NET Core and .NET Framework and the extent to which .NET Framework should now be considered a legacy or Windows desktop only technology. I suspect the answer for the moment is “wait for Build.”

Microsoft’s Azure outage: a troubling account of what went wrong

Microsoft’s Jason Zander has published an account of what went wrong yesterday, causing failure of many Azure services for a number of hours. The incident is described as running from 0.51 AM to 11.45 AM on November 19th though the actual length of the outage varied; an Azure application which I developed was offline for 3.5 hours.

Customers are not happy. From the comments:

So much for traffic manager for our VM’s running SQL server in a high availability SQL cluster $6k per month if every data center goes down. We were off for 3 hrs during the worst time of day for us; invoicing and loading for 10,000 deliveries. CEO is wanting to pull us out of the cloud.

So what went wrong? It was a bug in an update to the Storage Service, which impacts other services such as VMs and web sites since they have a dependency on the Storage Service. The update was already in production but only for Azure Tables; this seems to have given the team the confidence to deploy the update generally but a bug in the Blob service caused it to loop and stop responding.

Here is the most troubling line in Zander’s report:

Unfortunately the issue was wide spread, since the update was made across most regions in a short period of time due to operational error, instead of following the standard protocol of applying production changes in incremental batches.

In other words, this was not just a programming error, it was an operational error that meant the usual safeguards whereby a service in one datacenter takes over when another fails did not work.

Then there is the issue of communication. This is critical since while customers understand that sometimes things go wrong, they feel happier if they know what is going on. It is partly human nature, and partly a matter of knowing what mitigating action you need to take.

In this case Azure’s Service Health Dashboard failed:

There was an Azure infrastructure issue that impacted our ability to provide timely updates via the Service Health Dashboard. As a mitigation, we leveraged Twitter and other social media forums.

This is an issue I see often; online status dashboards are great for telling you all is well, but when something goes wrong they are the first thing to fall over, or else fail to report the problem. In consequence users all pick up the phone simultaneously and cannot get through. Twitter is no substitute; frankly if my business were paying thousands every month to Microsoft for Azure services I would find it laughable to be referred to Twitter in the event of a major service interruption.

Zander also says that customers were unable to create support cases. Hmm, it does seem to me that Microsoft should isolate its support services from its production services in some way so that both do not fail at once.

Still, of the above it is the operational error that is of most concern.

What are the wider implications? There are two takes on this. One is to say that since Azure is not reliable try another public cloud, probably Amazon Web Services. My sense is that the number and severity of AWS outages has reduced over the years. Inherently though, it is always possible that human error or a hardware failure can have a cascading effect; there is no guarantee that AWS will not have its own equally severe outage in future.

The other take is to give up on the cloud, or at least build in a plan B in the event of failure. Hybrid cloud has its merits in this respect.

My view in general though is that cloud reliability will get better and that its benefits exceed the risk – though when I heard last week, at Amazon Re:Invent, of large companies moving their entire datacenter infrastructure to AWS I did think to myself, “that’s brave”.

Finally, for the most critical services it does make sense to spread them across multiple public clouds (if you cannot fallback to on-premises). It should not be necessary, but it is.

Microsoft promises to fix OneDrive sync in Windows 10, with one engine for Business and Consumer

Microsoft’s Jason Moore has responded to feedback on the change to OneDrive sync in the latest Windows 10 preview. The change removed the “placeholder” feature, where OneDrive files and metadata all show up in Windows Explorer, but do not actually download until requested. It was not a popular move among Windows power users, as reported here.

It turns out there is more going on here than merely tweaking a feature. In his response, Moore states:

We stepped back to take a fresh look at OneDrive in Windows. The changes we made are significant. We didn’t just “turn off” placeholders – we’re making fundamental improvements to how Sync works, focusing on reliability in all scenarios, bringing together OneDrive and OneDrive for Business in one sync engine, and making sure we have a model that can scale to unlimited storage. In Windows 10, that means we’ll use selective sync instead of placeholders. But we’re adding additional capabilities, so the experience you get in Windows 10 build 9879 is just the beginning. For instance, you’ll be able to search all of your files on OneDrive – even those that aren’t sync’ed to your PC – and access those files directly from the search results. And we’ll solve for the scenario of having a large photo collection in the cloud but limited disk space on your PC.

This is good news since it goes to the heart of a more serious issue: the poor implementation of OneDrive sync in Windows, especially in the “Business” edition which has a sync engine based on Office Groove. The consumer OneDrive sync is not perfect either, with a tendency to create duplicate files if you use more than one PC. There is also some kind of bug which means you can edit a file, save it, email it as an attachment, and find that you actually emailed an old version (this has happened to me when submitting articles to editors; no fun).

I have written more on OneDrive issues and confusions here. The poor sync experience with OneDrive for Business is perhaps the weakest point in Office 365 currently; a significant problem.

Now we will get a single sync engine across both versions of OneDrive. If it is also a better sync engine than either of the current ones, Microsoft’s cloud customers will be delighted.

Moore adds: “Longer term, we’ll continue to improve the experience of OneDrive in Windows File Explorer, including bringing back key features of placeholders.”

Questions remain of course. Will Microsoft unify the server technology as well as the sync engines? Will the new sync engine come to Windows 7 and 8 as well as 10? Will the company fix the mobile apps as well? Will OneDrive ever approach the fast, seamless sync achieved by Dropbox?

Watch this space.

Microsoft kills best Windows OneDrive feature in new Windows 10 preview

In Windows 8.1, Microsoft integrated its OneDrive cloud storage with the Windows file system, so you see your OneDrive files in Windows Explorer.

There was a twist though: in Explorer you see all your OneDrive files, but they are not actually downloaded to your PC unless you specifically configure a file or folder for “offline” use, or open a file in which case it downloads on demand.

The strength of this feature is that you have seamless access to what might be multiple Gigabytes of cloud files, without actually trying (and failing) to sync them to your nice, fast, but relatively small SSD, such as on a Surface tablet.

In the latest preview of Windows 10, Microsoft has killed the feature, supposedly on the basis that users did not understand it, says Gabe Aul:

In Windows 8.1, we use placeholders on your PC to represent files you have stored in OneDrive. People had to learn the difference between what files were “available online” (placeholders) versus what was “available offline” and physically on your PC. We heard a lot of feedback around this behavior. For example, people would expect that any files they see in File Explorer would be available offline by default. Then they would hop onto a flight (or go someplace without connectivity) and try to access a file they thought was on their PC and it wasn’t available because it was just a placeholder. It didn’t feel like sync was as reliable as it needed to be. For Windows 10, having OneDrive provide fast and reliable sync of your files is important. Starting with this build, OneDrive will use selective sync. This means you choose what you want synced to your PC and it will be. What you see is really there and you don’t need to worry about downloading it. You can choose to have all of your OneDrive files synced to your PC, or just the ones you select.

Many users did understand the feature though, and for them it is a disaster. No longer can you see all your OneDrive files in Windows Explorer, or search your cloud storage using the tools built into Windows.

This is just a preview though, and Microsoft may restore the feature, or add an advanced option for users who want it, if it gets feedback – as it is already doing?

The questions though: is there really time to revert the change, and is Aul telling the full story about why it was removed?

Microsoft takes its .NET runtime open source and cross-platform, announces new C++ compilers for iOS and Android: unpacking today’s news

Microsoft announced today that the .NET runtime will be open source and cross-platform for Linux and Mac. There are a several announcements and it is potentially confusing, so here is a quick summary.

The .NET runtime, also known as the CLR (Common Language Runtime) is the virtual machine that runs Microsoft’s C#, F# and Visual Basic .NET languages, performing just –in-time compilation to native code and providing interop between the application code and the operating system APIs. It is distinct from the .NET Framework, which is the library of mostly C# code that underlies application platforms like ASP.NET, Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation and more.

There is is already a cross-platform version of .NET, an open source project called Mono founded by Miguel de Icaza in 2001, not long after the first preview release of C# in 2000. Mono runs on Linux, Mac and Windows. In addition, de Icaza is co-founder of Xamarin, which uses Mono together with its own technology to compile C# for iOS, Android and Mac OS X.

Further, some of .NET is already open source. At Microsoft’s Build conference earlier this year, Anders Hejlsberg made the Roslyn project, the compiler for the next generation of the .NET Runtime, open source under the Apache 2.0 license. I spoke to Hejlsberg about the announcement and wrote it up on the Register here. Note the key point:

Since Roslyn is the compiler for the forthcoming C# 6.0, does that mean C# itself is now an open source language? “Yes, absolutely,” says Hejlsberg.

What then is today’s news? Blow by blow, here are what seems to me the main pieces:

  • The CLR itself will be open source. This is the C++ code from which the CLR is compiled.
  • Microsoft will provide a full open source server stack for Mac and Linux including the CLR. This will not include the frameworks for client applications; no Windows Forms or WPF. Rather, it is the “.NET Core Runtime” and “.NET Core Framework”. However Microsoft is working with the Mono team which does support client applications so there could be some interesting permutations (bear in mind that Mono also has its own runtime). However Microsoft is focused on the server stack.
  • Microsoft will release C++ frameworks and compilers for iOS and Android, using the open source Clang (C and C++ compiler front-end) and LVVM (code generation back end), but with Visual Studio as the IDE. If you are targeting iOS you will need a Mac with a build agent, or you can use a cloud build service (see below). The Android compiler is available now in preview, the iOS compiler is coming soon. “You can edit and debug a single set of C++ source code, and build it for iOS, Android and Windows,” says Microsoft’s Soma Somasegar, corporate VP of the developer division.
  • Microsoft has a new Android emulator for Windows based on Hyper-V. This will assist with Android development using Cordova (the HTML and JavaScript approach also used by PhoneGap) as well as the new C++ option.

    image

  • The next Visual Studio will be called Visual Studio 2015 and is now available in preview; download it here.
  • There will be a thing called Connected Services to make it easier to code against Office 365, Salesforce and Azure
  • A new edition of Visual Studio 2013, called the Community Edition, is now available for free, download it here. The big difference between this and the current Express editions is first that the Community Edition supports multiple target types, whereas you needed a different Express edition for Web applications, Windows Store and Phone apps, and Windows desktop apps.  Second, the Community Edition is extensible so that third parties can create plug-ins; today Xamarin was among the first to announce support. There may be some license restrictions; I am clarifying and will update later.
  • New Cloud Deployment Projects for Azure enable the cloud infrastructure associated with a project to be captured as code.
  • Release Management is being added to Visual Studio Online, Microsoft’s cloud-hosted Team Foundation Server.
  • Enhancements to the Visual Studio Online build service will support builds for iOS and OS X
  • Visual Studio 2013 Update 4 is complete. This is not a big update but adds fixes for TFS and Visual C++ as well as some new features in TFS and in GPU performance diagnostics.

The process by which these new .NET projects will interact with the open source community will be handled by the .NET Foundation.

What is Microsoft up to?

Today’s announcements are extensive, but with two overall themes.

The first is about open sourcing .NET,  a process that was already under way, and the second is about cross-platform.

It is the cross-platform announcements that are more notable, though they go hand in hand with the open source process, partly because of Microsoft’s increasingly close relationship with Mono and Xamarin. Note that Microsoft is doing its own C++ compilers for iOS and Android, but leaving the mobile C# and .NET space open for Xamarin.

By adding native code iOS and Android mobile into Visual Studio, Microsoft is signalling real commitment to these platforms. You could interpret this as an admission that Windows Phone and Windows tablets will never reach parity with their rivals, but it is more a consequence of the company’s focus on cloud, and in particular Office 365 and Azure. The company is prioritising the promotion of its cloud services by providing strong tooling for all major client platforms.

The provision of new Microsoft server-side .NET runtimes for Mac and Linux is a surprise to me. The Mac is not much used as a server but very widely used for development. Linux is an increasingly important operating system within the Azure cloud platform.

A side effect of all this is that the .NET Framework may finally fulfil its cross-platform promise, something Microsoft suppressed for years by only supporting it on Windows. That is good news for those who like programming in C#.

The .NET Framework is changing substantially in its next version. This is partly because of the Roslyn compiler, which is itself written in C# and opens up new possibilities for rich refactoring and code transformation; and partly because of .NET Core and major changes in the forthcoming version of ASP.NET.

Is Microsoft concerned that by supporting Linux it might reduce the usage of Windows Server? “In Azure, Windows and Linux are a core part of our platform,” Somesegar told me. “Helping developers by providing a good set of tools and letting them decide what server they run on, we feel is all goodness. If you want a complete open source platform, we have the tools for them.”

How big are these announcements? “I would say huge,”  Somasegar told me, “What is shows is that we are not being constrained by any one platform. We are doing more open source, more cross-platform, delivering Visual Studio free to a broader set of people. It’s all about having a great developer offering irrespective of what platform they are targeting or what kind of app they are building.”

That’s Microsoft’s perspective then. In the end, whether you interpret these moves as a sign of strength or weakness for Microsoft, developers will gain from these enhancements to Visual Studio and the .NET platform.

An Azure Web Site is a VM which supports multiple applications

This will be unnecessary for Azure experts, but I have seen some misunderstanding on this point, hence this post.

A “web site” is a unit of service on the Azure cloud platform which represents a web application hosted on IIS, Microsoft’s web server (but see below). You write a standard ASP.NET application and deploy it. Azure takes care of configuring the host VM, the server operating system, and IIS.

Using a web site is preferable to creating your own VM and installing IIS on it, for several reasons. One is that you do not have to worry about patching and maintaining the operating system. Another is that web sites can be scaled, manually or automatically, with an option for scheduling so that you can scale down the site for periods of low demand.

image

The main reason for using a VM rather than a web site is if the app has dependencies that fall outside what a web site can handle.

Another thing to know about Azure web sites is that they have four “plan modes,” but only two are worth considering for production. The Free and Shared modes host your application on a shared VM, and quotas are applied. If Azure decides your site is out of quota, it will stop responding. Fine for a prototype, but not something you want customers or users to see. This feature is not shown clearly on the table of features but it is in note 2:

Shared Instance: Free and Shared (Preview) tiers include 60 minutes and 240 minutes of CPU capacity per day, respectively. The Shared (Preview) Website rates are applied per website instance.

The Basic tier on the other hand is decent. It is a dedicated VM, and you can scale it (manually) to 3 instances. It costs around 25% less than a Standard tier site.

Why go Standard? You get 50B storage thrown in (a Basic tier site has 10GB), auto-backup, auto-scale up to 10 instances, and a fixed IP address for SSL. If you have to buy a fixed IP address for a single instance Basic tier site, the price goes above a Standard tier site, except for a Large instance.

Currently a Basic tier web site costs from £35.64 to £141.92 per month, and a Standard tier from £47.10 to £189.65, depending on the size of the VM.

It is a significant cost, but what may not be obvious is that you can deploy multiple applications to a single web site, which makes my statement above, “A ‘web site’ is a unit of service on the Azure cloud platform which represents a web application hosted on IIS”, not quite correct.

When you create a new web site, if you have one already, you can choose a “web hosting plan”. Here is an example:

image

In this case, there are two pre-existing web site VMs, one in East Asia and one in Europe. If you choose one of these two, the new web site will be added to that VM. If you choose “Create new web hosting plan”, you will create a new dedicated instance (or free, or Shared). Adding to an existing VM means no extra cost.

If you are a developer, it may well be better to run a single Basic VM for prototyping, and add multiple sites, rather than risking a free or shared instance which might be out of quota when you demonstrate it to your customer.

What is the limit to the number of web sites you can add? There is none, other than the overloading the VM and getting unresponsive applications.

Postscript: the Web Site service is interesting as an example which blurs the boundaries between IaaS (Infrastructure as a service) and PaaS (Platform as a service). It is more PaaS than IaaS, in that you do not have to worry about maintaining the OS, but more IaaS than PaaS, in that you are still having to think about individual VMs. It would be more purist if Microsoft abstracted away the VMs and simply guaranteed a certain level of service, or scaled up automatically and billed for what you use. On the other hand, the Web Site concept puts a lot of control in the hands of the developer/admin and help them to make best use of the resources, while still removing most of the maintenance burden. I think it is a good compromise.

Microsoft Band: do you want to track your health? and with a Microsoft device?

Data on human health has immense value. At an individual level, use of that data has the potential to enhance well-being and productivity, to extend life, and in some cases to avert disaster – such as prompting early investigation into a heart condition. In aggregate, more data on human health enables deeper medical research, especially when combined with other data about lifestyle, profession, location, diet and so on. Medicine is big business, so this is a business opportunity as well as (one hopes) a benefit to humanity.

There is also a dark side to this data. The more data an insurance company has on our health, the more likely they are to exclude the conditions we are most likely to suffer (defeating the purpose of insurance) or to ratchet up premiums for worse risks. Do we trust the industry, whether that is the IT industry or the insurance industry, to safeguard our personal data from being used against us?

The value of this data goes some way to explaining the IT industry’s obsession with fitness gadgets, an obsession that seems to go beyond the demand. I tried a Fitbit for several months, a wristband version. It is a great device, and I found the data interesting, but not enough to motivate me to keep the thing charged up and on my wrist, after the novelty wore off.

The reality is that most of us strike a balance between keeping vaguely fit while not allowing health concerns to dominate our lives. Coffee may be bad for you, but it is also a lovely drink; there is no point in extending life if you cannot also enjoy it.

How much health data, then, is too much?

These questions are likely to come to the fore as increasing numbers of health-monitoring devices come our way, especially multi-purpose devices that do health monitoring as one of several useful functions.

image

Enter Microsoft Band, which the company successfully kept under wraps until a couple of days ago. It’s $199, works with Windows Phone, Android and iOS, and packs in a lot of features, though its 48 hours battery life is too short for my liking (I am hard to please; my plain old watch has a 10-year battery life).

Band hooks into the Microsoft Health platform. There are apps for all three supported phones, and data goes into a cloud service which delivers “intelligent insights” for you. “The more you share with Microsoft Health, the more accurate and helpful your insights will become,” says the blurb. There seems to be a link with Health Vault, a service which provides for sharing of health information with health professionals; of course the company says privacy and security are highly protected.

If I buy one (only available in the US currently) it will be more for its non-health features. Microsoft Band (by linking to your mobile over low-energy Bluetooth) will do calendar alerts, email previews, plain old watch mode (so it is actually a smartwatch), facebook posts, Twitter messages, weather, and (on Windows Phone only), Cortana, Microsoft’s digital assistant.

There is a built-in microphone and you can speak to Cortana on the go. I’ve been trying Cortana since it was was announced at Microsoft’s Build conference earlier this year, and she/it is pretty good. Cortana is not just voice activated search; it is also an example of voice UI, so you can make appointments, take notes, or ask for directions. Its voice recognition and question parsing is impressive, in my experience, though of course not perfect.

As ever I have a developer’s eye on this and I think it is interesting. Voice recognition, touch screen, and semi-permanent link with a smartphone is a powerful combination, if Microsoft opens this up to developers; and I will find it surprising if it does not.

In fact, there are already third-party apps, if you count the Starbucks partnership. You can pair a Starbucks card with Microsoft Band, and pay for coffee with it. The method is rather low-tech: the Band will display a barcode which the Starbucks scanner can read, but still, it beats searching for your card or even pulling out your mobile.

And there is of course the health tracking aspect. There are a ton of sensors here:

  • GPS
  • UV monitor (detect when sunscreen is required)
  • Optical heart rate sensor
  • Gyrometer
  • 3-axis accelerometer
  • “Galvanic skin response”: probably measures electrical conductivity of the skin to assess moisture level
  • Skin temperature
  • Microphone and touch screen

Haptic vibration is used for alerts.

image

Can Microsoft make a success of the Band and steal a march from Apple, whose Watch (which also does fitness tracking) is coming early next year? Apple’s device will be more beautiful, more expensive, and has more functions; but it will not work so well with Android or Windows Phone.

The big downer with Microsoft Band is that it is US only for the moment. Health Vault is already in the UK so we may see a UK release; the possibilities for global rollout are uncertain.

Microsoft financials show robust performance, Office in transition to subscription, both cloud and server growth

Microsoft released its financial results yesterday, for the quarter ending September 30th 2014. It was a good quarter in most respects, though consumer Windows and Windows Phone licensing are weak.

Good news outweighs bad though, particularly the company’s success in transitioning Office customers from perpetual licences to subscription, even in the consumer market. It also seems to be performing some magic in the server segment, growing both cloud and on-premises revenue, a trick CEO Satya Nadella attributes to the “unique hybrid and private cloud capabilities that are built into our Servers”.

Here is the segment breakdown, if you can make sense of Microsoft’s segments:

Quarter ending June 30th 2014 vs quarter ending June 30th 2013, $millions

Segment Revenue Change Gross margin Change
Devices and Consumer Licensing 4093 -391 3818 -102
Computing and Gaming Hardware 2453 +1044 479 +274
Phone Hardware 2609 N/A 478 N/A
Devices and Consumer Other 1809 +255 312 -12
Commercial Licensing 9873 +262 9100 +295
Commercial Other 2407 +805 805 +531

A few notable stats.

Devices and Consumer licensing is weak, in line with the PC market, a decline in Office consumer review (these figures exclude Office 365), and a 46% decline in Windows Phone revenue – the non-Nokia licensees.

Surface Pro 3 is a hit and brought in revenue of $908 million, “twice the [sales] rate of Surface Pro 2”, according to CFO Amy Hood. The gross margin on Surface is “positive this quarter”, said Microsoft, though it is undoubtedly negative over the lifetime of Surface.

2.4 million Xbox consoles were sold (including 360 as well as Xbox One), and overall revenue is up 58%; a decent performance considering that Sony’s PlayStation 4 is generally outselling Xbox One.

Windows Phone: Nadella reported “modest growth driven by sales in Europe, where we gained share with lower priced devices”. 9.3 million Lumias were sold overall. Non-Lumia devices are expected to decline; Microsoft is not interested in this business, though it said sales were “in line with the market for feature phones.” No mention of the mis-conceived Nokia X.

Devices and Consumer Other is where Office 365 consumer revenue lives. There are now over 7 million consumer subscribers and it grew 25% over the previous quarter (most comparisons are year on year). Microsoft’s ability to shift customers to a cloud-based subscription model is key, especially as more of them run Office on an iPad or Android tablet.

Windows Server, System Center and SQL Server grew revenue again; revenue from server products overall is up 13%

Cloud – Office 365, Azure and Dynamics – delivered revenue up by 128%. Nadella added in the webcast that a “major Azure service or feature” is added every three days.

From a financial perspective, Microsoft has an advantage over cloud rivals Amazon and Google, in that its customers are more likely to purchase licenses for products like SQL Server along with the commodity-priced cloud infrastructure.

A key comment from Nadella: “Our premium services on Azure create new monetization opportunities in media, data, machine learning, advanced analytics and enterprise mobility.”

Aside: Microsoft created its online slide deck using a beta PowerPoint add-in called Office Mix, which I had not seen before. It creates a video from a powerpoint deck, with the ability to insert audio, video and interactive content like quizzes, as well as screen capture. Then you can upload it to the cloud. It is mainly aimed at education, but might also be useful for, say, journalists doing product review.