Category Archives: cloud computing

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.

Amazon Reinvent: new products announced including Aurora database with claimed performance 5 times that of MySQL

Amazon is holding its third Reinvent conference in Las Vegas – 13,500 attendees catching up on Amazon’s Web Services platform. In this morning’s keynote, Amazon’s Senior VP of cloud services Andy Jassy evangelised the platform and announced a number of new services which, in typical Amazon style, are now available in preview.

image

Amazon is well ahead of its competitors in cloud services, in terms of market share and mindshare, and Jassy had no problems reeling off impressive statistics and case studies. A slide showing that AWS is not only larger but also growing faster yea-on-year than its competition prompted a small protest. Microsoft claims that Amazon understated its rate of growth:

cloudwars

The refrain from those who spoke on behalf of companies such as Intuit (which intends to move 100% of its applications to AWS) was that no alternative cloud provider could offer a realistic alternative to AWS. With the progress being made by competitors I wonder for how long this will be true – and bear in mind that this is an Amazon conference – but it testifies to the dominance that Amazon has achieved.

Jassy made a key point about security and compliance. The relative security of public cloud versus private datacenters has long been debated, initially on the assumption that computing resources you own and guard yourself must be more secure than those hosted by third-parties. The counter is that few organisations can afford the level of security that big public cloud providers can achieve. Jassy’s point though was that the number of certifications now achieved by AWS is now such that security and compliance is now a driver towards cloud computing.

The main news though was a series of product announcements:

Aurora relational database: a MySQL compatible database as a service for which Jassy claims 5x the performance of MySQL. He says that businesses stick with commercial, proprietary database managers because open source solutions lack the performance, but that Aurora now provides a solution at a commodity price. Unfortunately Aurora is not going to help those with applications locked into Oracle, SQL Server or others. Still, 5x performance is always welcome.

CodeDeploy: apparently based on a service Amazon uses internally, this is a deployment tool for pushing out updated applications to EC2 (Elastic Compute Cloud) VMs without downtime.

CodeCommit: a source code management service for Git repositories.

CodePipeline: automate your software release by defining a workflow of tests and approvals.

Key Management Service: if you manage encrypted data you will be familiar with the hassles of managing and rotating encryption keys. Here is a service to manage that.

AWS Config: A discovery service for the AWS resources you are using.

Service Catalog: a custom portal for users to browse and use AWS resources offered by an organisation.

This was day one; there is another keynote tomorrow and there may be more announcements.

There is no doubting the momentum behind AWS, and according to Jassy, there is still a long way to grow. Towards the end of the keynote he talked about businesses moving entire datacenters to AWS, for example when leases expire, and in the press Q&A session later he expressed the belief that eventually few companies will operate their own datacentres; he does not see much future for private cloud – in the sense of self-managed clouds on your own infrastructure. That is of course what you would expect Amazon to say.

Partnerships are key in this industry and I was interested to note the Reinvent sponsors:

image

The Diamond sponsors (who I presume have paid the most) are Accenture, Cloudnexa (AWS consultants), CSC (also consultants), Intel (I guess Amazon buys a lot of CPUs), Trend Micro and twilio (who must me doing well to be on this list).

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.

How is Microsoft Azure doing? Some stats from Satya Nadella and Scott Guthrie

Microsoft financials are hard to parse these days, with figures broken down into broad categories that reveal little about what is succeeding and what is not.

image
CEO Satya Nadella speaks in San Francisco

At a cloud platform event yesterday in San Francisco, CEO Satya Nadella and VP of cloud and enterprise Scott Guthrie offered some figures. Here is what I gleaned:

  • Projected revenue of $4.4Bn if current trends continue (“run rate”)
  • Annual investment of $4.5Bn
  • Over 10,000 new customers per week
  • 1,200,000 SQL databases
  • Over 30 trillion storage objects
  • 350 million users in Azure Active Directory
  • 19 Azure datacentre regions, up to 600,000 servers in each region

image

Now, one observation from the above is that Microsoft says it is spending more on Azure than it is earning – not unreasonable at a time of fast growth.

However, I do not know how complete the figures are. Nadella said Office 365 runs on Azure (though this may be only partially true; that certainly used to be the case); but I doubt that all Office 365 revenue is included in the above.

What about SQL Server licensing, for example, does Microsoft count it under SQL Server, or Azure, or both depending which marketing event it is?

If you know the answer to this, I would love to hear.

At the event, Guthrie (I think) made a bold statement. He said that there would only be three vendors in hyper-scale cloud computing, being Microsoft, Amazon and Google.

IBM for one would disagree; but there are huge barriers to entry even for industry giants.

I consider Microsoft’s progress extraordinary. Guthrie said that it was just two years ago that he announced the remaking of Azure – this is when things like Azure stateful VMs and the new portal arrived. Prior to that date, Azure stuttered.

Now, here is journalist and open source advocate Matt Asay:

Microsoft used to be evil. Then it was irrelevant. Now it looks like a winner.

He quotes Bill Bennett

Microsoft has created a cloud computing service that makes creating a server as simple as setting up a Word document

New features are coming apace to Azure, and Guthrie showed this slide of what has been added in the last 12 months:

image

The synergy of Azure with Visual Studio, Windows Server and IIS is such that it is a natural choice for Microsoft-platform developers hosting web applications, and Azure VMs are useful for experimentation.

Does anything spoil this picture? Well, when I sat down to write what I thought would be a simple application, I ran into familiar problems. Half-baked samples, ever changing APIs and libraries, beta code evangelised by Microsoft folk with little indication of what to do if you would rather not use this in production, and so on.

There is also a risk that as Azure services multiply, working out what to use and when becomes harder, and complexity increases.

Azure also largely means Windows – and yes, I heard yesterday that 20% of Azure VMs run Linux – but if you have standardised on Linux servers and use a Mac or Linux for development, Azure looks to me less attractive than AWS which has more synergy with that approach.

Still, it is a bright spot in Microsoft’s product line and right now I expect its growth to continue.

Adobe opens up Creative Cloud to app developers

At the Adobe Max conference in Los Angeles, Adobe has announced enhancements and additions to its Creative Cloud service, which includes core applications such as Photoshop, Illustrator, InDesign and Dreamweaver, mobile apps for Apple’s iPad, and the online portfolio site Behance. Creative Cloud is also the mechanism by which Adobe has switched its customers from perpetual software licences to subscription, even for desktop applications.

One of today’s announcements is a public preview version of the Creative SDK for iOS, with an Android version also available on request. Nothing for Windows Phone, though Adobe does seem interested in supporting high-end Windows tablets such as Surface Pro 3, thanks to their high quality screens and pen input support.

image

The Creative SDK lets developers integrate apps with Adobe’s cloud, including access to cloud storage, import and export of PSD (Photoshop) layers, and image processing using cloud services. It also gives developers the ability to support Adobe hardware such as Ink and Slide, which offers accurate drawing even on iOS tablets designed exclusively for touch control.

Adobe’s brand guidelines forbid the use of Adobe product names like Photoshop or Illustrator in your app name, but do allow words such as “Photoshop enabled” and “Creative Cloud connected.”

Other Adobe announcements today include:

Mobile app changes

Adobe’s range of mobile apps has been revised:

  • Adobe Sketch is now Photoshop Sketch and lets you send drawings to Photoshop.
  • Adobe Line is now Illustrator Line and lets you send sketches to Illustrator.
  • Adobe Ideas is now Illustrator Draw, again with Illustrator integration.
  • Adobe Kuler is now Adobe Colour CC and lets you capture colours and save them as themes for use elsewhere.
  • Adobe Brush CC and Adobe Shape CC are new apps for creating new brushes and shapes respectively. For example, you could convert a photo into a vector art that you can use for drawing in Illustrator.
  • Adobe Premiere Clip is a simple video editor for iOS that allows export to Premiere Pro CC.
  • Lightroom Mobile has been updated to enable comments on photos shared online, and synchronisation with Lightroom desktop.

There are now a confusingly large number of ways you can draw or paint on the iPad using an Adobe app, but the common theme is better integration with the desktop Creative cloud applications.

Desktop app enhancements

On the desktop app side, Adobe announcements include Windows 8 touch support in Illustrator, Photoshop, Premiere Pro and After Effects; 3D print features in Photoshop CC; a new curvature tool in Illustrator; and HiDPI (high resolution display support) in After Effects.

New cloud services

New Adobe cloud services include Creative Cloud Libraries,a design asset management service that connects with both mobile and desktop Adobe apps, and Creative Cloud Extract which converts Photoshop PSD imagines into files that web designers and developers can use, such as colours, fonts and CSS files.

Adobe’s Creative Cloud is gradually growing its capabilities, even though Adobe’s core products remain desktop applications, and its move to subscription licensing has been executed smoothly and effectively despite annoying some users. The new SDK is mainly an effort to hook more third-party apps into the Adobe design workflow, though the existence of hosted services for image processing is an intriguing development.

It is a shame though that the new SDK is so platform-specific, causing delays to the Android version and lack of support for other platforms such as Windows Phone.

Adobe actually has its own cross-platform mobile toolkit, called PhoneGap, though I imagine Adobe’s developers feel that native code rather than JavaScript is the best fit for design-oriented apps.

Microsoft Azure: new preview portal is “designed like an operating system” but is it better?

How important is the Azure portal, the web-based user interface for managing Microsoft’s cloud computing platform? You can argue that it is not all that important. Developers and users care more about the performance and reliability of the services themselves. You can also control Azure services through PowerShell scripts.

My view is the opposite though. The portal is the entry point for Azure and a good experience makes developers more likely to continue. It is also a dashboard, with an overview of everything you have running (or not running) on Azure, the health of your services, and how much they are costing you. I also think of the portal as an index of resources. Can you do this on Azure? Browsing through the portal gives you a quick answer.

The original Azure portal was pretty bad. I wish I had more screenshots; this 2009 post comparing getting started on Google App Engine with Azure may bring back some memories. In 2011 there were some big management changes at Microsoft, and Scott Guthrie moved over to Azure along with various other executives. Usability and capability improved fast, and one of the notable changes was the appearance of a new portal. Written in HTML 5, it was excellent, showing all the service categories in a left-hand column. Select a category, and all your services in that category are listed. Select a service and you get a detailed dashboard. This portal has evolved somewhat since it was introduced, notably through the addition of many more services, but the design is essentially the same.

image

The New button lets you create a new service:

image

The portal also shows credit status right there – no need to hunt through links to account management pages:

image

It is an excellent portal, in other words, logically laid out, easy to use, and effective.

That is the old portal though. Microsoft has introduced a new portal, first demonstrated at the Build conference in April. The new portal is at http://portal.azure.com, versus http://manage.windowsazure.com for the old one.

The new portal is different in look and feel:

image

Why a new portal and how does it work? Microsoft’s Justin Beckwith, a program manager, has a detailed explanatory post. He says that the old portal worked well at first but became difficult to manage:

As we started ramping up the number of services in Azure, it became infeasible for one team to write all of the UI. The teams which owned the service were now responsible (mostly) for writing their own UI, inside of the portal source repository. This had the benefit of allowing individual teams to control their own destiny. However – it now mean that we had hundreds of developers all writing code in the same repository. A change made to the SQL Server management experience could break the Azure Web Sites experience. A change to a CSS file by a developer working on virtual machines could break the experience in storage. Coordinating the 3 week ship schedule became really hard. The team was tracking dependencies across multiple organizations, the underlying REST APIs that powered the experiences, and the release cadence of ~40 teams across the company that were delivering cloud services.

The new portal is the outcome of some deep thinking about the future. It is architected, according to Beckwith, more like an operating system than like a web application.

The new portal is designed like an operating system. It provides a set of UI widgets, a navigation framework, data management APIs, and other various services one would expect to find with any UI framework. The portal team is responsible for building the operating system (or the shell, as we like to call it), and for the overall health of the portal.

Each service has its own extension, or “application”, which runs in an iframe (inline frame) and is isolated from other extensions. Unusually, the iframes are not used to render content, but only to run scripts. These scripts communicate with the main frame using the window.postMessage API call – familiar territory for Windows developers, since messages also drive the Windows desktop operating system.

Microsoft is also using TypeScript, a high-level language that compiles to JavaScript, and open source resources including Less and Knockout.

Beckwith’s post is good reading, but the crunch question is this: how does the new portal compare to the old one?

I get the sense that Microsoft has put a lot of effort into the new portal (which is still in preview) and that it is responsive to feedback. I expect that the new portal will in time be excellent. Currently though I have mixed feeling about it, and often prefer to use the old portal. The new portal is busier, slower and more confusing. Here is the equivalent to the previous New screen shown above:

image

The icons are prettier, but there is something suspiciously like an ad at top right; I would rather see more services, with bigger text and smaller icons; the text conveys more information.

Let’s look at scaling a website. In the old portal, you select a website, then click Scale in the top menu to get to a nice scaling screen where you can set up autoscaling, define the number of instances and so on.

How do you find this in the new portal? You get this screen when you select a website (I have blanked out the name of the site).

image

This screen scrolls vertically and if you scroll down you can find a small Scale panel. Click it and you get to the scaling panel, which has a nicely done UI though the way panels constantly appear and disappear is something you have to get used to.

There are also additional scaling options in the preview portal (the old one only offers scaling based on CPU usage):

image

The preview portal also integrates with Visual Studio online for cloud-based devops.

The challenge for Microsoft is that the old portal set a high bar for clarity and usability. The preview portal does more than the old, and is more fit for purpose as the number and capability of Azure services increases, but its designers need to resist the temptation to let prettiness obstruct performance and efficiency.

Developers can give feedback on the portal here.

Microsoft OneDrive and OneDrive for Business: a guide for the perplexed

Microsoft’s price plans for additional cloud storage are odd:

image

Hmm, £1.60 per month for 1TB or £3.99 for 200GB. Difficult decision? Especially as OneDrive for Business appears to be a superset of OneDrive:

image

It is not that simple of course (and see below for how you can get 1TB OneDrive for less). The two products have different ancestries. OneDrive was once SkyDrive and before that Windows Live Folders and before that Windows Live Drive. It was designed from the beginning as a cloud storage and client sync service.

OneDrive for Business on the other hand is essentially SharePoint: team portal including online document storage and collaboration. The original design goal of SharePoint (a feature of Windows Server 2003) was to enable businesses to share Office documents with document history, comments, secure access and so on, and to provide a workplace for teams. See the history here. SharePoint supported a technology called WebDAV (Web Distributed Authoring and Versioning) to allow clients to access content programmatically, and this could be used in Windows to make online documents appear in Windows Explorer (the file utility), but there was no synchronization client. SharePoint was not intended for storage of arbitrary file types; the system allowed it, but full features only light up with Office documents. In other words, not shared storage so much as content management system. Documents are stored in Microsoft SQL Server database.

SharePoint was bolted into Microsoft BPOS (Business Productivity Online Suite) which later became Office 365. In response to demand for document synchronization between client and cloud, Microsoft came up with SharePoint Workspace, based on Groove, a synchronization technology acquired along with Groove Networks in 2005.

I have no idea how much original Groove code remains in the the OneDrive for Business client, nor the extent to which SharePoint Online really runs the same code as the SharePoint you get in Windows Server; but that is the history and explains a bit about why the products are as they are. The OneDrive for Business client for Windows is an application called Groove.exe.

OneDrive and OneDrive for Business are different products, despite the misleading impression given by the name and the little feature table above. This is why the Windows, Mac and Mobile clients are all different and do different things.

OneDrive for Business is reasonable as an online document collaboration tool, but the sync client has always been poor and I prefer not to use it (do not click that Sync button in Office 365). You may find that it syncs a large number of documents, then starts giving puzzling errors for which there is no obvious fix. Finally Microsoft will recommend that you zap your local cache and start again, with some uncertainty about whether you might have lost some work. Microsoft has been working hard to improve it but I do not know if it is yet reliable; personally I think there are intractable problems with Groove and it should be replaced.

The mobile clients for OneDrive for Business are hopeless as DropBox replacements. The iOS client app is particularly odd: you can view files but not upload them. Photo sync, a feature highly valued by users, is not supported. However you can create new folders through the app – but not put anything in them.

Office on iOS on the other hand is a lovely set of applications which use OneDrive for Business for online storage, which actually makes sense in this context. It can also be used with consumer OneDrive or SharePoint, once it is activated.

The consumer version of OneDrive is mostly better than OneDrive for Business for online storage. It is less good for document collaboration and security (the original design goals of SharePoint) but more suitable for arbitrary file types and with a nice UI for things like picture sharing. The Windows and mobile clients are not perfect, but work well enough. The iOS OneDrive client supports automatic sync of photos and you can upload items as you would expect, subject to the design limitations of Apple’s operating system.

Even for document collaboration, consumer OneDrive is not that bad. It supports Office Web Apps, for creating and editing documents in the browser, and you can share documents with others with various levels of permission. 

What this means for you:

  • Do not trust the OneDrive for Business sync client
  • Do not even think about migrating from OneDrive to OneDrive for Business to get cheap cloud storage
  • No, you mostly cannot use the same software to access OneDrive and OneDrive for Business
  • Despite what you are paying for your Office 365 subscription, consumer OneDrive is a better cloud storage service
  • SharePoint online also known as OneDrive for Business has merit for document collaboration and team portal services, beyond the scope of consumer OneDrive

Finally, what Microsoft should do:

  • Create a new sync client for OneDrive for Business that works reliably and fast, with mobile apps that do what users expect
  • Either unify the technology in OneDrive and OneDrive for Business, or stop calling them by the same name

I do understand Microsoft’s problem. SharePoint has a huge and complex API, and Microsoft’s business users like the cloud-hosted versions of major server applications to work the same way as those that are on premise. However SharePoint will never be a optimal technology for generic cloud storage.

If I were running Office 365, I think I would bring consumer OneDrive into Office 365 for general cloud storage, and I would retain SharePoint online for what it is good at, which is the portal, application platform, and document collaboration aspect. This would be similar to how many businesses use their Windows servers: simple file shares for most shared files, and SharePoint for documents where advanced collaboration features are needed.

In the meantime, it is a mess, and with the explosive growth of Office 365, a tricky one to resolve without pain.

Microsoft has a relatively frank FAQ here.

Postscript: here is a tip if you need large amounts of OneDrive storage. If you buy Office 365 Home for £7.99 per month or £79.99 per year (which works out at £6.66 per month) you get 1TB additional storage for consumer OneDrive for up to 4 users, as well as the main Office applications:

image

The way this works is that each user activates Office using a Microsoft account. The OneDrive storage linked to that account gets the 1TB extra storage while the subscription is active.

Another option is Office 365 Personal – same deal but for one user at £5.99 per month, or £59.99 per year (£4.99 per month).

Even for one user, it is cheaper to subscribe to Office 365 Home or Personal than to buy 1TB storage at £3.99 per month per 200GB. When you add the benefit of Office applications, it is a great deal.

Despite the name, these products have little to do with Office 365, Microsoft’s cloud-hosted Exchange, SharePoint and more. These are desktop applications plus consumer OneDrive.