Category Archives: cloud computing

Microsoft cloud account problems

I am working extensively with Visual Studio 2013, Office 365 and Windows Azure, researching cloud development on Microsoft’s platform. It is in general a reasonable experience, but the way Microsoft manages its cloud accounts is a constant annoyance and sometimes a source of bugs.

The problem is that you cannot manage with just one Microsoft cloud account. I have an MSDN subscription which is a Microsoft account, and an Office 365 subscription for which I log in with an Organizational account, for example. Microsoft accounts are for accounts with Microsoft itself, while Organizational accounts are controlled by my business. The distinction makes some sense, but Internet Explorer does not cope all that well when you are using both, which for development seems unavoidable.

Right now, for example, I have encountered a bug. I want to log in to Office 365, so I browse to http://portal.microsoftonline.com. However, this is redirecting automatically to login.live.com (it should not do this), which is a Microsoft account. So I get this screen:

image

This is for a Microsoft account, which will not work with Office 365. If I now present Organizational account credentials, it says the account is not recognized. If I present valid Microsoft account credentials, I get an error. “Sorry, that didn’t work”.

image

Agreed – but if I now click Sign out, I bounce back to the very same screen. In other words, I cannot sign out.

I have also seen the scenario where you cannot sign out of Office 365. You choose Sign out, Internet Explorer thinks for a moment, then logs you back in automatically. This may be a consequence of checking the mysterious “Keep me signed in” option when logging into Office 365. This should only keep you signed in until you specifically log out, but it can fail in both directions, asking you to sign in again later, or failing to sign you out. “Keep me signed in” is actually required for some features to work properly, such as Open in Explorer (or WebDav) in SharePoint online.

The inability to sign out is a security issue, since you may need to leave your machine, think you have signed out, and find someone else can access your account; though I suppose you can lock your Windows account to overcome this.

It can also be a practical problem. As a developer, you might want to log in with an Office 365 administrator account to configure a new app, and then with a non-administrator account to test. You need to be able to switch accounts for this purpose. It might be better to use a virtual machine for one of the two accounts.

I am not sure what the fix is, though it usually starts working again eventually. As ever, rebooting Windows may well help. Microsoft has a problems when signing out article which hints at some of these problems; it suggests that you to a couple of special logout urls to log out from an organizational account and logout from a Microsoft account but this does not always work. It also suggests clearing all cookies, which is a nuisance because then have to log back in to all your internet accounts, but even this can fail in my experience. Using another browser is a partial workaround. I do not know if you can get this problem in other browsers.

Visual Studio can also get confused. Imagine you are developing an Office 365 application hosted on Azure. You might have a Microsoft account for Azure along with the Organizational account for Office 365. You proceed through a publish wizard which needs both sets of credentials, and you are likely to get an error in my experience.

I can understand that this stuff is complex to get right, but from the user’s perspective logging in and logging out is basic functionality and something Microsoft should get right.rrrrrrrrr

Salesforce 1 and the cloud platform wars

Salesforce has announced Salesforce 1, but what it is? Something new, or the same old stuff repackaged?

image

Even if it is something new, the ingredients are familiar. Salesforce 1, I have been told,  is a new brand over the Salesforce platform, though it does not replace individual components like Force.com or Heroku.

At heart, Salesforce is a multi-tenant cloud database and web services API, designed originally for CRM but easily adapted for other purposes, and easily extended by third-party partners with their own apps. If you review the components of Salesforce 1 you will find the same core platform and services as before.

If you want a quick overview of what makes up Salesforce 1, I recommend this list of platform services, including quick app development using browser-based tools, Heroku for code-centric development using Ruby, Java, Node.js or Python, web site development with site.com, a mobile SDK for iOS, Android or HTML5,  role-based user access management, private app portal, translation services, custom databases, social and collaboration services, reporting and analytics.

There is a new Salesforce 1 mobile app announced which you can customize. It only runs on iOS or Android; no support for Windows Phone.   

The Salesforce 1 proposition is that user identities are managed in the Salesforce database and that you build your cloud applications around them. Therefore the minimal Salesforce 1 product is One Enterprise App, at $25 per user/month, which gives you identity services (and a few others) and the app platform.

I would imagine that most Salesforce 1 customers will also use other Salesforce 1 products such as CRM or the Service Cloud. CRM, for example, runs from $5.00 per user/month for contact management to $300 per user/month for the Performance Edition, including the Service Cloud, workflow approval and unlimited custom apps. There is feature overlap between the various Salesforce products which may explain why the company encourages you to ask for a custom quote.

My immediate reflection on the Salesforce 1 announcement is that it is a cloud platform play. If you agree that the future of business IT is in cloud and mobile, then it follows that the future competitive landscape will be largely formed around the companies that offer cloud platforms. Large scale tends to win in the cloud, so for better or worse only a few companies will be able to compete effectively. Hence the cloud platform wars.

In this context, Amazon is strong on the app platform and cloud infrastructure side, but does not offer a complete enterprise platform, though recent announcements seem to me a move in that direction.

Google has immense scale and Android, but its strong focus on advertising and consumers perhaps hold back its enterprise offerings. If you run Android you are already hooked into Google’s identity platform.

Microsoft, perhaps oddly given its vast desktop legacy, seems to me a close competitor to Salesforce. Where Salesforce has CRM, Microsoft has Office 365, and where Salesforce has its own identity platform, Microsoft has Azure Active Directory. Apps for Office hook into SharePoint and Azure Active Directory in the same way Salesforce 1 apps hook into the Salesforce platform. There is no love between Salesforce and Microsoft, and constant sniping from Microsoft’s Dynamics CRM team. At the same time, there must be many businesses attracted to Office 365 for email and Office, and to Salesforce for CRM, which may lead to some difficult choices down the road. No wonder Salesforce is ignoring Windows Phone.

Amazon’s big reinvent aims at the enterprise

Amazon made some big announcements at its re:Invent conference last week.

CTO Dr Werner Vogels on stage at re:Invent

The two I find most interesting are in virtualisation. The company announced two new virtualisation services, in preview. AppStream is application virtualisation. You install a streaming client, available for Windows, iOS, Android and Kindle/FireOS (Amazon’s version of Android). The developer deploys a Windows app to Amazon’s cloud, and users stream it. There is a client API, but you can have the app run entirely in the cloud. There is also an Entitlement Service for authenticating users. Nothing new about the concept, but if Amazon does its usual fine job of engineering this is potentially attractive for businesses who want the benefit and continuity of Windows desktop applications but without being tied to Windows desktops or laptops.

You can go further with WorkSpaces, which is full desktop virtualisation. Users run Windows Server 2008 made to look like Windows 7. You get 1 virtual CPU, 3.75GiB RAM, 50GB storage (a GiB is fractionally larger than a GB) for $35 per user/month, or with Office includes, $50 per user/month.

WorkSpaces run on an instance of Amazon’s Virtual Private Cloud which means you can use it as an extension of an on-premise network and use Active Directory, Group Policy and so on. Amazon is messing with our minds here, since everyone else uses “private cloud” to mean a cloud that runs on premise, but Amazon’s VPC runs on Amazon’s public cloud.

There were other announcements too, like CloudTrail for logging AWS API calls.

What impresses me about Amazon’s cloud services is the pace of development and a continuing commitment to something like commodity pricing. It is this last point that some commentary I see tends to miss, when comparing Amazon to IBM, Microsoft and others. Keen pricing is part of Amazon’s business philosophy, and from what I can tell the company runs a leaner operation, in terms of the numbers of marketers and middle managers, than its competitors. It also leaves plenty of space for partners, since these are web services on which you can build what you want.

Most of us use Amazon without realising it, via other services which use the platform, Netflix being a well-known example.

Now Amazon is making a strong push into corporate computing and I can only see it continuing to grow.

Users report SkyDrive issues: sync failures, Microsoft Account problems

SkyDrive, Microsoft’s cloud storage service, is critical to the company’s strategic direction for Windows. It is the means by which content and settings are kept in synch across different Windows machines; or more precisely, user accounts across different Windows machines.

Content in SkyDrive is accessible via any web browser, and there are clients for Windows and for various mobile devices. Office Web Apps are also built-in so you can create and edit documents in the cloud.

In principle it is an excellent service, but since the release of Windows 8.1 a few problems have emerged. Specifically:

Some users report problems synching. Check out this thread which begins with users of the 8.1 preview but continues through to the release. The main issue mentioned is that synchronisation simply fails for some users, but others report duplicate documents created with names like somedoc-mypc.xls and somedoc-mylaptop.xls, where “mypc” and “mylaptop” are the names of computers used with the service. Working out which document is the most current can be tricky.

I have encountered this myself, even on some occasions with a document created and edited solely on one machine. Somehow SkyDrive manages to think there is a conflict.

Another problems is unnecessary network traffic. Here is an example of some of these issues:

My brand new shiny Surface Pro 2 was set to have the documents available offline and everything else online only.  The sync has stalled just like everyone else reports in this thread.  I changed the folder to "online only" and the sync claimed to complete.  I then changed the folder back to "available offline" and it proceeded to redownload thousands of files, finally stalling again with a little more than 200 left.  The Metro app says that the files have completed yet they are still in the pending queue.

Many users express what seems to me a valid complaint, that Windows 8.1 gives you less information and control than was in Windows 8.0.

Some users dislike being tied to a Microsoft account. SkyDrive is a consumer service, and you can only use it with a Microsoft account (MSA) – a descendant of what was once called Passport. In Windows 8 and earlier, which had standalone SkyDrive clients, that was not too bad. You can sign into SkyDrive just as you would into Dropbox or any cloud service. In Windows 8.1 though, SkyDrive is baked into the operating system, which means that you have to sign in centrally to a Microsoft account.

There are several reasons users struggle with this, including privacy concerns, inconvenience if you have more than one SkyDrive account you want to use, and complications when you have a corporate login to a Windows domain as well as SkyDrive:

When I login with my domain account and connect my MSA to it, Skydrive still won’t sync, it keeps creating "Skydrive" folders in the user directory each time it tries to start. I can’t find anything in the logs to help.

If I instead login with the MSA account to the computer it will sync.

SkyDrive is a free service and Microsoft has good reason to encourage users to sign in with one of its accounts, which gives access to the Windows Store, Xbox Music and other services. I can see why users object, but also why Microsoft wants to encourage users to sign in.

It is harder to understand why the service does not work reliably. The impression I get is that this is more to do with the client, especially in Windows 8.1, than with the cloud service; but it is hard to be sure.

How extensive are the problems? Again, it is hard to get firm data. I find it works reasonably well for me, though I get the duplicate file problem as well as regular issues saving Office documents. The notorious Office Upload Center reports a problem and you have to re-open the document in Office and save to resolve it.

What to do if SkyDrive disappears from Windows 8.1 Explorer?

Here is the scenario. You are working away in Windows 8.1 and want to save a document to SkyDrive. You look for the SkyDrive link in Windows Explorer but it is not there.

image

Don’t panic; your documents are most likely fine and you can get to them in the web browser via http://skydrive.live.com

Still, that is inconvenient. How can you restore the Explorer link, other than by rebooting and hoping it reappears?

The solution is to open a command prompt (press Start button and type command) and then type:

%systemdrive%\windows\system32\skydrive.exe

and press Enter. You don’t need to run the command prompt with administrator rights.

All going well, SkyDrive will reappear:

image

What if it doesn’t? Now you have to check the logs or event viewer and look for specific errors. But the simple technique described first has always worked for me.

Microsoft proves resilience with bumper quarter, but is not yet a devices and services business

Microsoft delivered record revenue of $18.53 billion in the quarter ended September 30th 2013 – which might come as a surprise if you have been focusing on the companies failings in tablets and smartphones versus Apple and Android, the steep decline in PC sales, and its small market share in search versus Google, but less so if you have been watching the advance of products like Office 365, Windows Azure, SQL Server and Windows Server, all of which have been making good progress.

In its report, the company says the Windows OEM revenue declined 7% (reflecting PC malaise) but Surface revenue grew to $400 million. Search advertising revenue grew 47% reflecting some degree of success for Bing.

SQL Server “grew double digits”, as did “Lync, SharePoint and Exchange.”

Commercial cloud revenue grew 103%, though bear in mind that Microsoft is not telling us the absolute figures; you can easily grow fast if you start from a small number.

Microsoft has changed the way it segments its revenue, making it difficult to track, especially with large sums of money ($1.6 billion) reported as “Commercial Other”. Here is how the new segments look:

Quarter ending September 30th 2013 vs quarter ending September 30th 2012, $millions

Segment Revenue Change Profit Change
Devices and Consumer Licensing 4343 -335 3925 -178
Devices and Consumer Hardware 1485 +401 206 -242
Devices and Consumer Other 1635 +235 352 -10
Commercial Licensing 9594 +645 8801 +618
Commercial Other 1603 +355 275 +170

Now, how to make sense of this? The segment changes are detailed here (Word document). In summary:

Devices and Consumer Licensing: non-volume and non-subscription licensing of Windows, Office, Windows Phone, and “ related patent licensing; and certain other patent licensing revenue” – all those Android royalties?

Devices and Consumer Hardware: the Xbox 360, Xbox Live subscriptions, Surface, and Microsoft PC accessories.

Devices and Consumer Other: Resale, including Windows Store, Xbox Live transactions (other than subscriptions), Windows Phone Marketplace; search advertising; display advertising; Office 365 Home Premium subscriptions; Microsoft Studios (games), retail stores.

Commercial Licensing: server products, including Windows Server, Microsoft SQL Server, Visual Studio, System Center, and Windows Embedded; volume licensing of Windows, Office, Exchange, SharePoint, and Lync; Microsoft Dynamics business solutions, excluding Dynamics CRM Online; Skype.

Commercial Other: Enterprise Services, including support and consulting; Office 365 (excluding Office 365 Home Premium), other Microsoft Office online offerings, and Dynamics CRM Online; Windows Azure.

From this you can see that despite 103% growth, Azure and Office 365 remain relatively small, many times exceeded by the on-premise software licensing which is mainly in “Commercial Licensing”. However Microsoft is reporting a contribution to profits from this segment, though with smaller margins than from software licensing.

Simple addition also tells us that consumer revenue ($7,463 million) is less than business revenue ($11,197 million).

Overall it is obvious that Microsoft is not yet a “devices and services” company even if it has set that as its goal. Most of its revenue comes from traditional software licensing. Can it ever make that transition without shrinking in the process? A good question, and despite excellent figures, one that will ensure Microsoft’s future remains the subject of intense debate.

Microsoft’s MSDN changes: too much marketing

Microsoft has updated its developer site, MSDN (Microsoft Developer Network). Simple, relevant and community driven, says Product Manager Brian Harry in a post introducing the new site.

image

Developers are not convinced that it is an improvement. The comments to Harry’s post are pretty damning, in fact. The core complaint is that the new MSDN home page is not a developer site, but a marketing site. Click on those “Use your skills” buttons and you get not technical references, but marketing pitches. They are misleading too. Click on “I build web apps” and you get a pitch for Windows Store apps build with HTML and JavaScript – and no mention of ASP.NET or Windows Azure.

image

What do developers want? Here’s a good suggestion:

Why don’t you have your team work on changes to MSDN that people would actually want? Like editable blog comments with formatting and code snippet options? Or Connect/UserVoice sites that aren’t horrific and disjointed? Or adding the TypeScript blog to the Dev Tools blog feed (something I’ve mentioned a half dozen times already to various people at MS, you’d think this 5 second update might make it into someone’s queue after TypeScript being out for almost a year now)?

I just cannot fathom how you guys are so adamant that listening to developers is important to you when 99% of feedback is ignored in lieu of changes that no one asked for and no one wants.

Most people come to MSDN in search of technical information. I suspect the strong marketing pitch for Windows Store apps will be counter-productive.

On the other hand, present developers with a fast, coherent, logically organised technical resource so that you can easily find both the API reference for the platform you are targeting, and comments and help with using it, and this will attract them and make them want to use the platform more often.

Microsoft Office 365: migration hassles show why partners still have a role

I have been working with a small business migrating its email to Office 365. The task seems simple enough: migrate just over 100 mailboxes from on-premise Exchange 2007. There is no requirement for a hybrid deployment, so the normal approach is a cutover migration. You run a script on Exchange at the Office 365 end which sucks up all the mailboxes, creating user accounts as it goes. Once the mailboxes are synched, the script (called a migration batch) synchronises the mailboxes every 24 hours. You then change the MX (DNS) records so that mail goes to Office 365, get users to log on to the new mailboxes, and decommission the on-premise Exchange.

It sounds straightforward, and I am sure works fine with small mailboxes and just a few of them. It is meant to work for up to 1000 mailboxes though, so I did not think just 100 would cause any problems.

Here is what I discovered.

First, we soon ran into problems. The migration batch seems remarkably slow, partly thanks to using an ADSL connection (fast download but slow upload) but even slower than that would suggest. Some mailboxes report “Failed” for a variety of reasons, the most common being that they simply stop synching for no apparent reason, or in some cases never start synching. Here are some of the error messages:

  • Error: MigrationPermanentException: Error: Job is poisoned, poison count = 6.
  • Error: SyncTimeoutException: Email migration failed for this user because no email could be downloaded for 5 hours, 0 minutes.
  • Error: MigrationPermanentException: Error: The job has not made progress since 28/07/2013 08:43:19. Job was picked up at 27/07/2013 17:11:15.

image

So what do you do if you get these errors?

My first observation is that documentation for cutover migration is thin. It makes little provision for anything going wrong. There are a few things (like avoiding messages over 25MB or hidden addresses in Exchange) but nothing about “job is poisoned”.

Another observation is that the Cutover Migration Batch is lacking in common-sense options. For example, with a slow-ish connection you might prefer to migrate only two or three mailboxes at a time, rather than then 16, which seems to be the fixed number.

I was also puzzled by the option to “Stop” a migration batch, which you can do using a toolbar button.

image

What are the consequences of stopping a batch? Can you stop it in the morning, and restart in the evening, to reduce bandwidth during the working day, for example? Or do bad things happen?

I headed for the support community. Unfortunately this is not too good either. There are a number of unfailingly polite Microsoft support people there, but they don’t seem all that well informed when it comes to the details of what can go wrong and there is a lot of reference to support articles that might or might not answer the question; or an initial response that doesn’t quite answer the question and then no satisfactory follow-up; or retreat to private messages which, judging from the public responses, are also not always helpful either.

After being told that it was OK to stop and restart a migration batch I tried it. It did not work well at all for me. I even got this lovely error message for a Room mailbox:

Error: ProvisioningFailedException: Couldn‎’t convert the mailbox because the mailbox "mailboxname" is already of the type "Room”

I had better success deleting the migration batch and creating a new one, which is easy because it remembers the connection settings from last time. Mailboxes in progress resumed where they left off, and even some failed mailboxes started synching again.

Still, the detail of this is not so important. Fundamentally, Office 365 seems to me a strong service at a reasonable price (though I like Exchange better than SharePoint), and Microsoft is pushing small businesses towards it so hard that it is becoming difficult to stay on Microsoft’s platform at all unless you migrate – the disappearance of Small Business Server with bundled Exchange makes a small deployment expensive.

This being the case, you would have thought Microsoft would put its best effort into the migration tools, which are critical not only for successful transition, but also as many people’s first impression of the service. I did not expect what look like immature tools with skimpy documentation and poor community support.

Is Microsoft struggling to scale the system quickly enough to meet demand?

In some ways this may actually be good for Microsoft partners who still have their traditional role of puzzling out these kinds of problems and making it easier for their customers.

Real-world cloud computing adoption: pretty slow according to IDG Connect survey

A survey by IDG Connect, sponsored by Dell, asked European IT “decision makers” in organisations with 500 or more employees about their migration plans. The survey took place at the end of 2012 and in early 2013.

Here are the cloud migration plans for email:

  • Migrate email to Office 365: 13%
  • Migrate email to Google Apps: 8%

Unfortunately the survey does not cover other cloud providers for email.

What about usage of cloud servers?

  • Plan to use Amazon virtual servers: 2%
  • Plan to use Microsoft Azure virtual servers: 1%
  • Plan to use other cloud providers for virtual servers: 9%
  • No plans to use cloud servers: 88%

Surveys are (very) imperfect, and plans can change. Nevertheless, these figures suggest that migration to the cloud remains in an early phase.

A couple of further observations. One is that while the benefits of cloud computing are real – including multi-tenancy, scalability, lower maintenance cost, and arguably better security and resiliency – there are also downsides, in particular loss of control, and vulnerability to interference by outside agencies.

Costs might or might not be lower. There is sometimes an assumption that lower maintenance costs and greater elasticity must mean lower cost overall, but it does not always stack up that way.

On the other hand, I also wonder whether IT administrators protecting their internal organisations is a factor. If you ask an IT admin to assess the benefit of outsourcing a chunk of his work, will you get an objective result? Maybe not.

You can see the whole survey (which also has some eye-opening statistics about usage of Windows XP) here (registration required).

The pros and cons of subscription vs perpetual licenses

Adobe has caused a stir with its announcement that Creative Suite will no longer be available under a perpetual license, for versions beyond the current Creative Suite 6.

Given this, the CC applications will be available only as part of Creative Cloud. We will continue to sell and support Adobe Creative Suite® 6 applications, and will provide bug fixes and security updates as necessary. We do not, however, have any current plans to release new versions of our CS applications.

Although the company tends to portray this as a move to the cloud, that is not accurate. Applications like Photoshop, Dreamweaver and InDesign remain desktop applications, though there are some cloud-like benefits like collaboration and settings synchronisation. The big difference is that you will no longer be able to buy the latest versions outright, but only by subscribing to Creative Cloud. Once your subscription lapses, you can no longer use them.

What the pros and cons? Let’s start with the positives:

  • Subscription income is good for the vendor, because it is predictable and continuous.
  • The vendor is relieved from the pressure of the upgrade cycle: having to come up with new features every eighteen months (or whatever the product cycle is) that are sufficiently compelling to persuade existing users to pay for another round of upgrades. Instead, it can take an iterative approach, more inline with Agile development methodology that prefers iterative development to big releases where many things change at once. At best, this could mean that software vendors focus more on what users want to see improved, rather than working with the marketing department on how to design a new look and features that will drive upgrades.
  • Customers can save money if they they do not need the product continuously.
  • Users always have the latest version of the software.
  • While subscribed, users have a relationship with the vendor that includes some level of service. Your software is never out of support (though a product could be withdrawn, as may happen to Adobe Fireworks which is not being updated).

Negatives? There are a few.

  • Customers may end up paying more. Most companies will calculate subscription costs such that the overall income is at least the same and probably higher than with outright sales, otherwise shareholders will not be happy. The kind of user who is happy to skip upgrades for a version or two will lose most.
  • Users have an ongoing dependency on the vendor. If the vendor discontinues the service for any reason, you no longer have the software. Depending on how the subscription is enforced technically, this injects some uncertainty into whether the software you use today will still be there to use tomorrow. Put another way, this is not going to work unless you have a high level of trust and confidence in the vendor.
  • Customers lose the psychological satisfaction of software ownership. No more “it’s mine, all mine”. You are now renting.
  • The vendor, financially secure thanks to continuing subscription income, may lose the incentive to work energetically on improving the software. Of course if there is a rival subscription service with a similar offering, the competitive drive continues, but that is not always the case.
  • Vendors could lose sales if customers are unwilling to buy by subscription, and turn to competitors who still offer perpetual licenses.

Software by subscription is not new. Customers on schemes such as software assurance also have something similar, though it is different because the license in that case may be perpetual – you can continue to use it even if you drop out of the software assurance scheme.

Today though, fast data connections and always-on internet make software by subscription easier to manage for both customers and vendors. Vendors that can successfully move to this model will want to do so, as for the vendor there are no disadvantages other than the risk mentioned above, that customers will not be willing to subscribe. Get used to it.