Category Archives: microsoft

Amazon web service APIs: a kind of cloud standard?

I am at the Cloud Computing World Forum in London where one of the highlights was a keynote yesterday from Amazon CTO Werner Vogels. Amazon, oddly enough, does not have a stand here; yet the company dominates the IAAS (Infrastructure as a service) market and has moved beyond that into more PAAS (Platform as a service) type services.

image

Vogels said that the reason for Amazon’s innovation in web services was its low margin business model. This was why, he said, none of the established enterprise software companies had been able to innovate in the same way.

He added that Amazon did not try to lock its customers in:

If this doesn’t work for you, you should be able to work away. You should be in charge, not the enterprise software company.

Sounds good; but Amazon has its own web services API and if you build on it there is an element of lock-in. Or is there? I was intrigued by a remark made by Huawei’s Head of Enterprise R&D John Roese at a recent cloud computing seminar:

We think there is an imperative in the industry to settle on standardised interfaces. There should be no more of this rubbish where people think they can differentiate based on proprietary interfaces in the cloud. A lot of suppliers are not very interested in this because they lose the stickiness of the solution, but we will not see massive cloud adoption without that portability. 

But what are these standardised interfaces? Roese said that Huawei uses Amazon APIs. For example, the Huawei Cloud Storage Engine:

The CSE boasts a high degree of openness. It supports S3-like interfaces and exposes the internal storage service enabler to 3rd party applications.

There is also Eucalyptus, open source software for private clouds that uses Amazon APIs. Is the Amazon web services API becoming a de-facto standard, and what does Amazon itself think about third parties adopting its API?

I asked Vogels, whose response was not encouraging for the likes of Huawei treating it as a standard. The question I put: is the adoption of Amazon’s API by third parties influencing his company in its maintenance and evolution of those APIs?

It is not influencing us. It is influencing them. Who is adopting our APIs? We licensed Eucalyptus. People ask us about standardisation. I’d rather focus on innovation. If others adopt our APIs, I don’t know, we rather focus on innovation.

The lack of interest in standardisation does undermine Vogels’ comments about the freedom of its customers to walk away, though lock-in is not so bad if your use of public cloud is primarily at the IAAS level (though you may be locked into the applications that run on it).

Another mitigating factor is that third parties can wrap cloud management APIs to make one cloud look like another, even if the underlying API is different. Flexiant, which offers cloud orchestration software, told me that it can do this successfully with, for example, Amazon’s API and that of Microsoft Azure. Perhaps, then, standardisation of cloud APIs matters less than it first appears.

Visual Studio LightSwitch to get HTML5 support

Microsoft’s Visual Studio LightSwitch is a rapid application development tool designed to create database-oriented, browser hosted applications with little code.

LightSwitch is intriguing because it does model-driven development. You design the model, LightSwitch generates the application. Microsoft’s idea was that non-specialist developer would like the tool, though there is little evidence of that. However, it does enable professional developers to put together functional applications quickly.

Unfortunately LightSwitch was conceived when Silverlight was all the rage at Microsoft. It generates Silverlight apps, which means they can run either on the desktop or in the browser, but also cuts out every device out there that does not run Silverlight. Including of course hot new mobile devices from Apple iOS to Android and even, on the Metro side, Windows 8.

But this is model-driven development, right? Just add code generation for HTML 5 and the same tool will generate standard browser-based apps.

Microsoft has announced just that at TechEd, under way this week in Florida. Visual Studio VP Jason Zander demonstrated LightSwitch for HTML5:

image

which means you can run the apps on iOS:

image

This feature is not in the current RC of Visual Studio 2012 but will be added later.

HTML 5 support puts LightSwitch back on the map as a RAD (Rapid Application Development) tool. But is there any appetite for model-driven development, which has all-but failed in so many other implementations?

That is as yet unproven, but at least the fate of LightSwitch no longer depends on that of Silverlight.

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.

Microsoft, Windows 8, and the Innovator’s Dilemma (or, why you hate Windows 8)

One thing is obvious from the immediate reaction to Windows 8 Release Preview. Most of those who try it do not like it. It is a contrast to the pre-release days of Windows 7, when there was near-consensus that, whatever you think of Windows overall, the new edition was better than its predecessors.

Why would a company with huge resources and the world’s most popular desktop operating system – 600 million Windows 7 licenses so far, according to OEM VP Steven Guggenheimer – create a new edition which its customers do not want?

Microsoft under Steve Ballmer is a somewhat dysfunctional company – too many meetings, says ex-softie Brandon Watson – but there is still a wealth of talent there. Specifically, Windows President Steven Sinofsky has proven his ability, first with Microsoft Office 2007 which beat off the challenge from OpenOffice.org, and next with Windows 7, which if it repeated the disappointment of Windows Vista would have damaged the company severely.

If it is not incompetence, then, what is it?

In this context, Clayton M. Christensen’s 1997 classic The Innovator’s Dilemma – When new technologies cause great firms to fail is a good read. Chapter one is here. Christensen studied the hard drive market, asking why sixteen of the seventeen companies which dominated the industry in 1976 had failed or been acquired by 1995, replaced by new entrants to the market. Christensen argues that these firms failed because they listened too much to their customers. He says that delivering what your customers want is mostly a good idea, but occasionally fatal:

This is one of the innovator’s dilemmas: Blindly following the maxim that good managers should keep close to their customers can sometimes be a fatal mistake.

Specifically, hard drive companies failed because new entrants had physically smaller hard drives that were more popular. The reason the established companies failed was because their customers had told them that physically smaller drives was not what they wanted:

Why were the leading drive makers unable to launch 8-inch drives until it was too late? Clearly, they were technologically capable of producing these drives. Their failure resulted from delay in making the strategic commitment to enter the emerging market in which the 8-inch drives initially could be sold. Interviews with marketing and engineering executives close to these companies suggest that the established 14-inch drive manufacturers were held captive by customers. Mainframe computer manufacturers did not need an 8-inch drive. In fact, they explicitly did not want it: they wanted drives with increased capacity at a lower cost per megabyte. The 14-inch drive manufacturers were listening and responding to their established customers. And their customers–in a way that was not apparent to either the disk drive manufacturers or their computer-making customers–were pulling them along a trajectory of 22 percent capacity growth in a 14-inch platform that would ultimately prove fatal.

Are there any parallels with what is happening in computer operating systems today? I think there are. It is not exact, given that tablet pioneer Apple cannot be described as a new entrant, though Google with Android is a closer match. Nevertheless, there is a new kind of operating system based on mobility, touch control, long battery life, secure store-delivered apps, and cloud connectivity, which is eating into the market share for Windows. Further, it seems to me that for Microsoft to do the kind of new Windows that its customers are asking for, which Christensen calls a “sustaining innovation”, like Windows 7 but faster, more reliable, more secure, and with new features that make it easier to use and more capable, would be a trajectory of death. Existing customers would praise it and be more likely to upgrade, but it would do nothing to stem the market share bleed to Apple iPad and the like. Nor would it advance Microsoft’s position in smartphones.

Should Microsoft have adapted its Windows Phone OS for tablets two years ago, or created Metro-style Windows as an independent OS while maintaining Windows desktop separately? YES say customers infuriated by the full-screen Start menu. Yet, the dismal sales for Windows Phone show how difficult it is to enter a market where competitors are firmly entrenched. Would not the same apply to Windows Metro? Reviewers might like it, developers might like it, but in the shops customers would still prefer the safety of iPad and Android and their vast range of available apps.

You begin to see the remorseless logic behind Windows 8, which binds new and old so tightly that you cannot escape either. Don’t like it? Stick with Windows 7.

Microsoft will not say this, but my guess is that customer dissatisfaction with Windows 8 is expected. It is the cost, a heavy cost, of the fight to be a part of the next generation of client computers. It is noticeable though that while the feedback from users is mostly hostile, Microsoft’s OEM partners are right behind it. They do not like seeing their business munched by Apple.

The above does not prove that Microsoft is doing the right thing. Displeasing your customers, remember, is mostly the wrong thing to do. Windows 8 may fail, and Microsoft, already a company with shrinking influence, may go into an unstoppable decline. Bill Gates was right about the tablet taking over from the laptop, history may say, but Microsoft was incapable of making the radical changes to Windows that would make it work until it was too late.

Give credit for this though: Windows 8 is a bold move, and unlike the Tablet PCs that Gates waved around ten years ago, it is an OS that is fit for purpose. Sinofsky’s goal is to unify the smartphone and the tablet, making a new mobile OS that users will enjoy while also maintaining the legacy desktop and slotting in to enterprise management infrastructure. I admire his tenacity in the face of intense protest, and I am beginning to understand that foresight rather than stupidity underlies his efforts.

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.

Windows Vista designer pops up to explain and defend Windows 8

I wrote a first look for Windows 8 Release Preview for The Register which prompted, as you would expect, a barrage of comments from Reg users, most expressing distaste for Redmond’s latest. Buried on page three of the comments though is this one which is worth calling out, since it explains some of the thinking behind Aero Glass in Windows Vista and how that same thinking is expressed in the Metro design – though note that the user mdc (who is that?) says in a later comment that he has “moved into a different field entirely (photography)” so is not responsible for Metro or Windows 8.

image 

Anyway, mdc observes that Microsoft has been working for years on the idea of a “content-centric” user interface, one where the surrounding chrome disappears so that content is king. In this respect, Glass can be seen as a move towards the Metro immersive UI:

The initial premise for Glass (as it was called back then, the Aero UX sprung up around the Glass model) was not – as most people believe – to provide eye candy for the end user. Instead, it was an attempt to pull the window chrome away from the content and make it as unobtrusive as possible. The whole point of the glass effect itself was to allow the end user to make better use of their screen real-estate by allowing them to see content beneath the active window.

Glass was not radical though, and did not change the model of multiple overlapping windows. According to mdc though, something more revolutionary was considered for Vista:

Some of my other concepts promoted a VERY different approach to the user experience, much more in line with what is seen today in Windows 8. In fact, the premise for the shift in the desktop paradigm goes back as far as the early Blackcomb concepts first demoed by the MSN services division in 1999; it has ALWAYS been felt that the desktop itself is a rather clunky way of providing content to the end user, which is – after all – the purpose of computing devices, be they traditional desktops, laptops, phones, or even set-top boxes. Windowing systems were designed to allow users to work on multiple pieces of data in quick succession, and yet over the years usability studies have found that users rarely manipulate more than 2 documents simultaneously.

In the end the idea was rejected, partly because of the work involved, and partly because Microsoft’s Jim Allchin, among others, felt that the familiarity of the Windows user interface was an important selling point versus the competition.

Apparently we  are wrong to imagine that Windows 8 is based on the Windows Phone design:

While some have suggested that Windows 8’s interface is "touch-only" or "based on Windows Phone 7", that couldn’t be further from the truth. Windows Phone 7 was instead a pilot program – in a relatively low risk sector – for the designs originally suggested for Blackcomb, which have now found their way into Windows 8. At the time, touch interfaces hadn’t even been conceived of – remember, back then touch sensitive screens were Resistive nasties that required at best a stylus, or at worst jabbing at them hard with a finger or pen.

The fact is that Metro just happened to be easily accessible for touch devices, and that has been touted as one of its benefits; it is NOT, and never has been, the original aim of the design. The aim of the design is exactly the same as Aero was – to take the chrome away from the content, and allow the user to focus on what they’re doing rather than unnecessary clutter. A perfect example of this is internet Explorer on Metro; in its default state, all you see is a webpage; chrome CAN be pulled up if the user requires, but is otherwise absent. The majority of Metro applications are like this – in fact it’s part of the Metro UX specifications.

and he adds:

Personally, I see Metro as a good thing; it allows me to do my work without distraction, and I’m just disappointed that I wasn’t the one who did the design work for it this time around.

Windows 8 Metro is not just about touch then: it is a reshaping of the user interface to put content first.

Huge icons in Windows 8 Metro

This is the SkyDrive Metro-style app running on my 1280 x 1024 desktop, in its default view. Note that each icon is 185 x 211 px. The actual title of each document is in relatively small text though still readable.

image

On my slate I only get two rows per screen:

image

You can set it to Detail view which gives nine rows on the desktop display and six rows on the slate.

Touch-friendly, undoubtedly, but is this really best-practice design? What if you have lots of documents in a folder? I suppose it is just swipe-swipe-swipe, not helped by the fact that the SkyDrive app cannot be searched:

image

nor is there any way that I can see to sort the documents, say by last modified.

Of course you can do all these things in the touch-hostile desktop application.

Both the app and Windows 8 itself are pre-release so may improve, but I would like to see a smarter approach to browsing and selecting documents in Windows 8 Metro-style.

For more on Windows 8, see my review on The Register.

New Windows 8, new Visual Studio 2012

Microsoft has released the Release Candidate of Visual Studio 2012 (now the official name), which you can download here, to coincide with the release of Windows 8 Release Preview and Windows Server 2012 Release Preview.

Visual Studio also has a new logo, as you can see from the setup window below.

image

Microsoft’s Jason Zander has posted about the new release here. Some of the main areas of difference between the RC and the Beta are:

  • Better performance
  • User interface tweaks including the return of a little more colour to the product
  • Solution Explorer filtering
  • New Metro style app templates
  • Improved XAML and Blend designers
  • Updated ASP.NET 4.5 web forms to support the await keyword
  • Tweaks to LightSwitch, Team Foundation Server, Architectural Tools

There is also a more detailed post by Scott Hanselman on what’s new in web development here.

Windows 8 Release Preview now available, Adobe Flash included, finished version expected August 2012

Microsoft has made the Release Preview of Windows 8 available to download. So what’s new?

image

The press release:

  • Confirms that a “touch-friendly and power-optimized Adobe Flash Player” is integrated into Internet Explorer 10
  • Announces new Family Safety features
  • States that IE10 is “Do not track” by default
  • Announces new apps and improvements to existing ones

All of which will come as a disappointment to those hoping for any sort of change of direction following a mixed-to-negative reception for the Consumer Preview.

Windows chief Steven Sinofsky says:

If the feedback and telemetry on Windows 8 and Windows RT match our expectations, then we will enter the final phases of the RTM process in about 2 months.

My guess that feedback along the lines of “Bring back the Start menu” will not count as an obstacle.

The application that would not uninstall

I install a ton of pre-release and test software so it is not surprising that I sometimes run into Windows Installer issues. Here is an entertaining error though. It is unlikely, I guess, that you will hit this problem; but I present it as an illustration of what can go wrong, as we move into the era of locked-down operating systems and easy app installs. Though even these are not perfect. Notice how the operating system fights me all the way.

Years ago I installed Microsoft’s Office Labs Ribbon Hero, a tutorial add-on for Office. At the time I was running Windows Vista. Since then I have done an in-place upgrade to Windows 7. I tried to remove it today through Control Panel and got this message:

image

After presenting this information setup closed and the application was not uninstalled.

So … the application does not support Windows 7 and therefore you cannot remove it. Clever, and I found this a tricky problem to get around.

I took a look at the Windows installer files which you can find in %SYSTEMROOT%\Installer. All the msi files have random names. However, you can right-click the column heading area and choose More, then check Subject in the list. Click OK, and now the application to which each msi relates appears.

image

Now you can click the column heading to sort by subject and find the problem msi.

image

I copied the msi to my desktop.

For the next step you need the Orca tool from the Windows Installer SDK. If Orca is installed, you can right-click the MSI and choose Edit with Orca.

image

I then selected LaunchCondition and deleted the launch condition that required Windows XP.

INSTALLED OR VersionNT = 501 OR APPLYING_AUTOUPDATE

Hmm, something odd here as it should pass INSTALLED? Still, save, right-click the msi, choose Uninstall. You still hit the error. Why? Somehow, Windows works out that you are uninstalling a product for which an msi exists in the official location and uses that one instead. You have to copy your modified msi to the correct location. Open an administrator command prompt:

image

Now right-click the msi and choose Uninstall.

It worked. Phew.