Tag Archives: cloud computing

As Microsoft Build 2018 begins, what is happening to Microsoft’s developer platform?

Microsoft’s Build developer conference starts today in Seattle.

image

Ahead of Build though, it is worth noting that this Build is different in feel than previous events. The first Build was in 2011 and it was focused on Windows 8, released there in preview.Historically it has always been a Windows-focused event, though of course with some sessions on Microsoft’s wider platform.

Microsoft is changing, and the key document for those interested in the company’s direction is this one from 29th March 2018 – the most significant strategic move since the June 2015 “aligning engineering to strategy” announcement that dismantled the investment in Windows Phone.

In the March announcement CEO Satya Nadella explains that the Windows and Devices Group (WDG) has become the Experiences and Devices Group – no longer just Windows. Former WDG chief Terry Myerson is leaving Microsoft, while Rajesh Jha steps up to run the new team.

I regard this new announcement as a logical next step following the departure of Steven Sinofsky in November 2012 (the beginning of the end for Windows 8) and the end of Windows Phone announced in June 2015. Sinofsky’s vision was for Windows to be reinvented for a new era of computing devices based on touch and mobile. This strategy failed, for numerous reasons which this is not the place to re-iterate. Windows 10, by contrast, is about keeping the operating system up to date as a business workhorse and desktop operating system, a market that will slowly decline as other devices take over things that we used to do with PCs, but which will also remain important for the foreseeable future.

Windows, let me emphasise, is neither dead nor dying. We still need PCs to do our work. The always-enthusiastic Joe Belfiore is now in charge of Windows and we will continue to see a stream of new features added to the operating system, though increasingly they will work in tandem with new software for iOS and Android. However, Windows can no longer be an engine of growth at Microsoft.

Microsoft has positioned itself to succeed despite the decline of the PC, primarily through cloud services. It has made huge investments in cloud infrastructure – that is, datacenters and connectivity – as well as in the software to make that infrastructure useful, from low-level server and network virtualisation to a large range of high level services (which is where the biggest profits can be made).

The company’s biggest cloud success is not Azure as such, but rather Office 365, now running a substantial proportion of the world’s business email, and building on that base with a growing range of collaboration and storage services. It is a perfect upsell opportunity, which is why the company is now talking up “Microsoft 365”, composed of Office 365, Windows 10, and Enterprise Mobility + Security (EMS).

Nadella’s new mantra is “the intelligent cloud and the intelligent edge”, where the intelligent cloud is all things Office 365 and Azure, and the intelligent edge is all the computing devices that connect to it, whether as small as a Raspberry Pi running Azure IoT Edge (a small cross-platform runtime that connects to Azure services), or as large as Azure Stack (an on-premises cloud in a box that uses the Azure computing model).

We need an “intelligent edge” because it makes no sense at all to pump all of the vast and increasing amounts of data that we collect, from sensors and other inputs, directly into the cloud. That is madly inefficient. Instead, you process it locally and send to the cloud only what is interesting. Getting the right balance between cloud and edge is challenging and something which the industry is still working out. Nothing new there, you might think, as the trade-off between centralised and distributed computing has been a topic of endless debate for as long as I can remember.

Coming back to Build, what does the above mean for developers? From Microsoft’s perspective, it is more strategic to have developers building for its cloud platform than for Windows itself; and if that means coding for Linux, iOS or Android, it matters little.

At the same time, Belfiore and his team are keen to keep Windows competitive against the competition (Mac, Linux, Chromebook). Even more important from the company’s point of view is to get users off Windows 7 and onto Windows 10, which is more strategic in every way.

Just because Microsoft wants you to do something does not make it in your best interests. That said, if you accept that a cloud-centric approach is right for most businesses, Windows 10 does make sense in lots of ways. It is more secure and, increasingly, easier to manage. Small businesses can log in directly with Azure Active Directory, and larger organisations get benefits like autopilot, now beginning to roll out as the PC OEMs ready the hardware.

The future of UWP (Universal Windows Platform) is less clear. Microsoft has invested heavily in UWP and made it an integral part of new Windows features like HoloLens and Mixed Reality. Developers on the other hand still largely prefer to work with older frameworks like Windows Presentation Foundation (WPF), and the value of UWP has been undermined by the death of Windows Phone. In addition, you can now get Store access and the install/uninstall benefits of UWP via another route, the Desktop Bridge – which is why key consumer applications like Spotify and Apple iTunes have turned up in the Store.

Finally, Build did not sell out this year; however I have heard that it has doubled in size, so these things are relative. Nevertheless, this is perhaps an indication that Microsoft still has work to do with its repositioning in the developer community. The challenge for the company is to keep its traditional Windows-focused developers on board, while also attracting new developers more familiar with non-Microsoft technologies. Anecdotally, I would say there are more signs of the former than the latter.

Microsoft financials: Azure revenue grows 93% year on year

Microsoft delivered excellent figures in its latest financial results, for the period Jan-March 2018. Total revenue of $26,819 million was up 16% year on year, within which Azure revenue grew 93%.

The overall story is that cloud services and subscription income is working well for the company. Azure is not the whole of Microsoft’s cloud; in fact I would argue that Office 365 (built around hosted Exchange) is equally important, since it drives uptake for other products and services including desktop Office and Dynamics. Office 365 commercial revenue grew 42% and Office consumer grew 12%.

Perhaps more surprising is that this was also a good quarter for Windows and Xbox. Windows OEM revenue up 4%, Surface up 32%, Xbox up 24%. Why is Windows growing? One reason is that businesses really are upgrading to Windows 10, where perhaps they sat out Windows 8 as best they could. This is necessary for security reasons if nothing else. The uptake for Windows 10 has had spin-off benefits for things like Surface sales, as CFO Amy Hood explained in the financial webcast.

Even LinkedIn is doing well, with revenue growth of 37%, driven by job advertising and sponsored content.

In the webcast, CEO Satya Nadella talked up “the intelligent cloud and the intelligent edge” and the role of AI in securing the cloud.

GDPR is also seen as an opportunity. It is less costly to host applications in our GDPR-complaint cloud than to achieve this on-premises, said Microsoft.

So everything is fine for Microsoft? Perhaps, perhaps not. The company has transitioned not only to cloud, but to enterprise, and is becoming less and less visible to consumers. The home PC is not the ubiquitous thing it once was, and in mobile there is no longer any Windows, aside from the occasional Windows 10 tablet. Xbox and gaming PCs are the only bright spots in consumer.

This means the company has changed its character. It has also missed out on things like mobile payments, home assistants and home automation. You can see how Google, Amazon and to some extent Apple are jostling for position as a kind of portal to everything for the consumer, with great strategic advantage as powerful intermediaries to consumer purchases. Microsoft is absent.

Every business person is also a consumer and retreating from this market could prove costly long-term.

For now though, the company is delivering nicely on Nadella’s cloud strategy.

Here is the breakdown by segment, such as it is:   

Quarter ending March 31st 2018 vs quarter ending March 31st 2017, $millions

Segment Revenue Change Operating income Change
Productivity and Business Processes 9006 +1299 3115 +575
Intelligent Cloud 7896 +1166 2654 +506
More Personal Computing 9917 +1142 2523 +488

The segments break down as:

Productivity and Business Processes: Office, Office 365, Dynamics 365 and on-premises Dynamics, LinkedIn

Intelligent Cloud: Server products, Azure cloud services

More Personal Computing: Consumer including Windows, Xbox; Bing search; Surface hardware

Google’s Digital Garage, hosted by UK City Councils

I have recently moved into a new area and noticed that my (now) local city council was running a Google Digital Garage:

Winchester City Council is very excited to be partnering up with The Digital Garage from Google – a digital skills training platform to assist you in growing your business, career and confidence, online. Furthermore, a Google digital expert is coming to teach you what is needed to gain a competitive advantage in the ever changing digital landscape, so come prepared to learn and ask questions, too.

I went along as a networking opportunity and learn more about Google’s strategy. The speaker was from Google partner Uplift Digital, “founded by Gori Yahaya, a digital and experiential marketer who had spent years working on behalf of Google, training and empowering thousands of SMEs, entrepreneurs, and young people up and down the country to use digital to grow their businesses and further their careers.”

I am not sure “digital garage” was the right name in this instance, as it was essentially a couple of presentations which not much interaction and no hands-on. The first session had three themes:

  • Understanding search
  • Manage your presence on Google
  • Get started with paid advertising

What we got was pretty much the official Google line on search: make sure your site performs well on mobile as well as desktop, use keywords sensibly, and leave the rest to Google’s algorithms. The second topic was mainly about Google’s local business directory called My Business. Part three introduced paid advertising, mainly covering Google AdWords. No mention of click fraud. Be wary of Facebook advertising, we were told, since advertising on Facebook may actually decrease your organic reach, it is rumoured. Don’t bother advertising on Twitter, said the speaker.

image

Session two was about other ways to maintain a digital presence, mainly looking at social media, along with a (rather unsatisfactory) introduction to Google Analytics. The idea is to become an online authority in what you do, we were told. Good advice. YouTube is the second most popular search engine, we were told, and we should consider posting videos there. The speaker recommended the iOS app YouTube Director for Business, a free tool which I later discovered is discontinued from 1st December 2017; it is being replaced by Director Onsite which requires you to spend $150 on YouTube advertising in order to post a video.

Overall I thought the speaker did a good job on behalf of Google and there was plenty of common sense in what was presented. It was a Google-centric view of the world which considering that it is, as far as I can tell, entirely funded by Google is not surprising.

As you would also expect, the presentation was weak concerning Facebook, Twitter and other social media platforms. Facebook in particular seems to be critically important for many small businesses. One lady in the audience said she did not bother with a web site at all since her Facebook presence was already providing as many orders for her cake-making business as she could cope with.

We got a sanitised view of the online world which in reality is a pretty mucky place in many respects.

IT vendors have always been smart about presenting their marketing as training and it is an effective strategy.

The aspect that I find troubling is that this comes hosted and promoted by a publicly funded city council. Of course an independent presentation or a session with involvement from multiple companies with different perspectives would be much preferable; but I imagine the offer of free training and ticking the box for “doing something about digital” is too sweet to resist for hard-pressed councils, and turn a blind eye to Google’s ability to make big profits in the UK while paying little tax.

Google may have learned from Microsoft and its partners who once had great success in providing basic computer training which in reality was all about how to use Microsoft Office, cementing its near-monopoly.

Which Azure Stack is right for you?

I went in search of Azure Stack at Microsoft’s Ignite event. I found a few  in the Expo. It is now shipping and the Lenovo guy said they had sold a dozen or so already.

Why Azure Stack? Microsoft’s point is that it lets you run exactly the same application on premises or in its public cloud. The other thing is that although you have some maintenance burden – power, cooling, replacing bits if they break – it is pretty minimal; the configuration is done for you.

I talked to one of the vendors about the impact on VMware, which dominates the market for virtualisation in the datacentre. My sense in the VMware vs Hyper-V debate is that VMware still has an edge, particularly in its management tools but Hyper-V is solid (aside from a few issues with Cluster Shared Volumes) and a lot less expensive. Azure Stack is Hyper-V of course; and the point the vendor made was that configuring an equivalent private cloud with VMware would be possible but hugely more expensive, not only in license cost but also in the skill needed to set it all up correctly.

So I think this is a smart move from Microsoft.

Why no Dell? They told me it was damaged in transit. Shame.

image
Lenovo

image
Cisco

image

HP Enterprise

Microsoft financials: cloud good, Surface down, and “We had no material phone revenue this quarter”

Microsoft has released its financial results for the third quarter of its financial year. Revenue was up 8% year on year, and operating income up 6%. I’m always interested in the segmentation of the figures so here is a quick table:

Quarter ending  March 31st 2017 vs quarter ending March 31st 2016, $millions

Segment Revenue Change Operating income Change
Productivity and Business Processes 7958 +1437 2783 -198
Intelligent Cloud 6763 +667 2181 +5
More Personal Computing 8836 -703 2097 +346
Corporate and Other -1467 +158 -1467 +158

There is a bit more detail in the earnings slide:

image

A few points of note:

Cloud growth remains on track. Office 365 business revenue is up 45% year on year, according to Microsoft. Dynamics 365 revenue is up 81%. Azure revenue is up 93%. Of course these figures are offset by static or declining sales of on-premises licenses, though Microsoft does not spell this out precisely.

Windows is not doing too badly, despite continuing weakness in the PC market. OEM revenue up 5%, which the company attributes to “a higher mix of premium SKUs”. Surface is weak. Revenue is down 26%. Microsoft blames “heightened price competition and product end of lifecycle dynamics.” The truth is that the Surface range is not good value versus the competition. There should be a perfect marriage of hardware and software, given that it is all Microsoft, but instead there have been too many little issues. The likes of HP and Dell do a better job at lower price and with easier upgradeability.

“We had no material phone revenue this quarter” says Microsoft. I remain sad about the killing of Windows Phone, and regard it as a mistake, but that is a done deal.

Xbox is doing OK. Xbox live revenue growth has offset declining hardware sales.

Search revenue is up 8%. Nobody pays for search, so this is about advertising. Windows 10 drives users to “Cortana” search, and Edge defaults to Bing. Users can easily find defaults changed inadvertently, which is annoying, but Microsoft has a touch competitor (Google).

 

 

A reminder of Microsoft’s segments:

Productivity and Business Processes: Office, both commercial and consumer, including retail sales, volume licenses, Office 365, Exchange, SharePoint, Skype for Business, Skype consumer, OneDrive, Outlook.com. Microsoft Dynamics including Dynamics CRM, Dynamics ERP, both online and on-premises sales.

Intelligent Cloud: Server products not mentioned above, including Windows server, SQL Server, Visual Studio, System Center, as well as Microsoft Azure.

More Personal Computing: What a daft name, more than what? Still, this includes Windows in all its non-server forms, Windows Phone both hardware and licenses, Surface hardware, gaming including Xbox, Xbox Live, and search advertising.

AWS Summit London 2016: no news but strong content, and a little bit of Echo

I attended day two (the developer day) of the Amazon Web Services Summit at the ExCel conference centre in London yesterday. A few quick observations.

It was a big event. I am not sure how many attended but heard “10,000” being muttered. I was there last year as well, and the growth was obvious. The exhibition has spilled out of its space to occupy part of an upper mezzanine floor as well. The main auditorium was packed.

image

Amazon does not normally announce much news at these events, and this one conformed to the pattern. It is a secretive company when it comes to future plans. The closest thing to news was when AWS UK and Ireland MD Gavin Jackson said that Amazon will go ahead with its UK region despite the referendum on leaving the EU.

CTO Dr Werner Vogels gave a keynote. It was mostly marketing which disappointed me, since Vogels is a technical guy with lots he could have said about AWS technology, but hey, this was a free event so what do you expect? That said, the latter part of the keynote was more interesting, when he talked about different models of cloud computing, and I will be writing this up for the Register shortly.

Otherwise this was a good example of a vendor technical conference, with plenty of how-to sessions that would be helpful to anyone getting started with AWS. The level of the sessions I attended was fairly high, even the ones described as “deep dive”, but you could always approach the speaker afterwards with your trickier issues. The event was just as good as some others for which you have to pay a fee.

The sessions I attended on DevOps, containers, microservices, and AWS Lambda (serverless computing) were all packed, with containers perhaps drawing the biggest crowd.

At the end of the day I went to a smaller session on programming for Amazon Echo, the home voice control device which you cannot get in the UK. The speaker refused to be drawn on when we might get it, but I suppose the fact that Amazon ran the session suggests that it will appear in the not too distant future. I found this session though-provoking. It was all about how to register a keyword with Amazon so that when a user says “Alexa what’s new with [mystuff]” then the mystuff service will be invoked. Amazon’s service will send your service the keywords (defined by you) that it detects in the question or interaction and you send back a response. The trigger word – called the Invocation Name – has to be registered with Amazon and I imagine there could be big competition for valuable ones. It is all rather limited at the moment; you cannot create a commercial service, for example, not even for ordering pizzas. Check out the Alexa Skills Kit for more.

Presuming commercial usage does come, there are some interesting issues around identity, authentication, and preventing unauthorised or inappropriate use. Echo does allow ordering from Amazon, and you can optionally set a voice PIN, but I would have thought a voice PIN is not much use if you want to stop children ordering stuff, for example, since they will hear it. If you watch your email, you would see the confirming email from Amazon and could quickly cancel if it were a problem. The security here seems weak though; it would be better to have an approval text sent to a mobile, for example, so that there is some real control.

Overall, AWS is still on a roll and I did not hear a single thing about security concerns or the risks of putting all your eggs in Amazon’s basket. I wonder if fears have gone from being over blown to under recognized? In the end these considerations are not quantifiable which makes risks hard to assess.

I could not help but contrast this AWS event to one I attended on Microsoft Azure last month. AzureCraft benefited from the presence of corporate VP Scott Guthrie but it was a tiny event in comparison to Amazon’s effort. If Microsoft is serious about competing with AWS it needs to rethink its events and put them on directly rather than working through user groups that have a narrow membership (AzureCraft was up on by the UK Azure User Group).

Microsoft Financials: steady, but a turning point as on-premises server business declines

Microsoft has announced its latest financials, and I have made a quick table summarising the year-on-year comparison for the quarter. See the end of this post for what the confusing segment categories represent.

Quarter ending  March 31st 2016 vs quarter ending March 31st 2015, $millions

Segment Revenue Change Operating income Change
Productivity and Business Processes 6522 +65 2994 -210
Intelligent Cloud 6096 +193 2188 -345
More Personal Computing 9458 +89 1645 +596
Corporate and Other -1545 -1545 -1544 -1352

A few observations.

Overall the figures are flat. That is not a bad result if you think of Microsoft as a PC company, considering that the PC is in decline; disappointing if you think of Microsoft as a cloud company. The answer is that one is offsetting the other, which is not too bad.

Microsoft says that revenue and income would be up, were it not for currency fluctuations. Of course there is that big hit in “Corporate and other” which is “net revenue deferral related to Windows 10 of $1.6 billion,” according to the earnings statement.

On-premises server business is in retreat. It is not possible to migrate customers to the cloud while at the same time growing on-premises business. That truth finally showed up in Microsoft’s figures. CFO Amy Hood referred to a “larger than expected decline in our transactional on premise server business” in the earnings call.

Margins are not so good in cloud. Selling software license is almost all profit, once you have developed it. Not so with cloud, which requires data centres, networking, and ongoing maintenance. “Our company gross margin percentage declined this quarter driven by our accelerating mix of cloud services in our Intelligent Cloud and Productivity and Business Processes segment offset by higher gross margin percentage performance from products within More Personal Computing,” said Hood.

Office 365 continues to grow. CEO Satya Nadella said that “Commercial Office 365 customers surpassed 70 million monthly active users and we grew seats by 57 percent” year on year. This is key to the company’s health. Customers in Office 365 are hooked to the platform and more likely to buy other services such as Dynamics CRM, Enterprise Mobility Services MDM (Mobile Device Management), or applications hosted on Azure. “Dynamics CRM Online seats more than doubled this quarter with over 80 percent of our new CRM customers deploying in the cloud,” said Nadella.

Windows 10 is being taken up. The nagware is working according to Nadella, who said that “The number of Windows 10 devices is twice that of Windows 7 over the same time period since launch.” Nevertheless I still hear a lot of caution out there, with people advising one another to stick with Windows 7. Windows 10 pushes users more strongly to Microsoft services than 7, with Cortana driven by Bing. “Over 35 percent of our search revenue last month came from Windows 10 devices,” said Nadella.

Windows Phone is dying fast. “For phone we expect year over year revenue declines to deepen in Q4 as we work through our Lumia channel position,” said Hood.

Linux is growing. Nadella made a few comments about SQL Server on Linux and Linux on Azure. Why SQL Server on Linux? “We look at that as an expansion opportunity,” he said. Over 20% of VMs on Azure are Linux, he added. Microsoft made Linux “first class” on Azure in order to be able to host an enterprise’s “entire data estate across Windows and Linux.” People don’t move between operating systems, he said, but “now they have a choice around database.”

I’d add that we are now seeing scenarios where Linux is ahead of Windows on Azure. The new Azure Container service is currently Linux only, for example, though a Windows option is planned.

What Microsoft does with Linux in the coming years will be interesting to see. Office on Linux? Microsoft Android?

A reminder of Microsoft’s segments:

Productivity and Business Processes: Office, both commercial and consumer, including retail sales, volume licenses, Office 365, Exchange, SharePoint, Skype for Business, Skype consumer, OneDrive, Outlook.com. Microsoft Dynamics including Dynamics CRM, Dynamics ERP, both online and on-premises sales.

Intelligent Cloud: Server products not mentioned above, including Windows server, SQL Server, Visual Studio, System Center, as well as Microsoft Azure.

More Personal Computing: What a daft name, more than what? Still, this includes Windows in all its non-server forms, Windows Phone both hardware and licenses, Surface hardware, gaming including Xbox, Xbox Live, and search advertising.

Microsoft financials Jan-March 2015

Microsoft has released figures for its third quarter, ending March 31st 2015. Here is my simple summary of the figures showing the segment breakdown:

Quarter ending  March 31st 2015 vs quarter ending March 31st 2014, $millions

Segment Revenue Change Gross margin Change
Devices and Consumer Licensing 3476 -1121 3210 -807
Computing and Gaming Hardware 1800 -72 414 +156
Phone Hardware 1397 N/A -4 N/A
Devices and Consumer Other 2280 +456 566 +175
Commercial Licensing 10036 -299 9975 -157
Commercial Other 2760 +858 1144 +669

The figures form a familiar pattern: Windows and shrink-wrap (non-subscription) Office is down, reflecting weak PC sales and the advent of free Windows at the low end, but subscription sales are up and cloud is booming. See the foot of this post for an explanation of Microsoft’s confusing segment breakdown.

Microsoft says that Surface Pro 3 is doing well (revenue of $713 million) and this is reflected in the Devices figures. Commercial cloud (Office 365, Azure and Dynamics) is up 106% year on year.

Cloud aside, it is impressive that server products reported a 12% year on year increase in revenue. This is the kind of business that you would expect to be hit by cloud migration, though I am not sure how Microsoft accounts for things like SQL Server licenses deployed on Azure.

Xbox One is disappointing, bearing in mind the success of the Xbox 360. Microsoft managed to lose out to Sony’s PlayStation 4 with its botched launch and market share will be hard to claw back.

Microsoft reports 8.6 million Lumias sold, the majority being low-end devices. Not too bad for a platform many dismiss, but still treading water and miles behind iOS and Android.

The company remains a huge money-making machine though, and Office 365 is doing well. A few years ago it looked as if cloud and mobile could destroy Microsoft, but so far that is not the case at all, though its business is changing.

Microsoft’s segments summarised

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?

Computing and Gaming Hardware: the Xbox One and 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.

AWS Summit London: cloud growth, understanding Lambda, Machine Learning

I attended the Amazon Web Services (AWS) London Summit. Not much news there, since the big announcements were the week before in San Francisco, but a chance to drill into some of the AWS services and keep up to date with the platform.

image

The keynote by CTO Werner Vogels was a bit too much relentless promotion for my taste, but I am interested in the idea he put forward that cloud computing will gradually take over from on-premises and that more and more organisations will go “all in” on Amazon’s cloud. He instanced some examples (Netflix, Intuit, Tibco, Splunk) though I am not quite clear whether these companies have 100% of their internal IT systems on AWS, or merely that they run the entirety of their services (their product) on AWS. The general argument is compelling, especially when you consider the number of services now on offer from AWS and the difficulty of replicating them on-premises (I wrote this up briefly on the Reg). I don’t swallow it wholesale though; you have to look at the costs carefully, but even more than security, the loss of control when you base your IT infrastructure on a public cloud provider is a negative factor.

As it happens, the ticket systems for my train into London were down that morning, which meant that purchasers of advance tickets online could not collect their tickets.

image

The consequences of this outage were not too serious, in that the trains still ran, but of course there were plenty of people travelling without tickets (I was one of them) and ticket checking was much reduced. I am not suggesting that this service runs on AWS (I have no idea) but it did get me thinking about the impact on business when applications fail; and that led me to the question: what are the long-term implications of our IT systems and even our economy becoming increasingly dependent on a (very) small number of companies for their health? It seems to me that the risks are difficult to assess, no matter how much respect we have for the AWS engineers.

I enjoyed the technical sessions more than the keynote. I attended Dean Bryen’s session on AWS Lambda, “Event-driven code in the cloud”, where I discovered that the scope of Lambda is greater than I had previously realised. Lambda lets you write code that runs in response to events, but what is also interesting is that it is a platform as a service offering, where you simply supply the code and AWS runs it for you:

AWS Lambda runs your custom code on a high-availability compute infrastructure and administers all of the compute resources, including server and operating system maintenance, capacity provisioning and automatic scaling, code, and security patches.

This is a different model than running applications in EC2 (Elastic Compute Cloud) VMs or even in Docker containers, which are also VM based. Of course we know that Lambda ultimately runs in VMs as well, but these details are abstracted away and scaling is automatic, which arguably is a better model for cloud computing. Azure Cloud Services or Heroku apps are somewhat like this, but neither is very pure; with Azure Cloud Services you still have to worry about how many VMs you are using, and with Heroku you have to think about dynos (app containers). Google App Engine is another example and autoscales, though you are charged by application instance count so you still have to think in those terms. With Lambda you are charged based on the number of requests, the duration of your code, and the amount of memory allocated, making it perhaps the best abstracted of all these PaaS examples.

But Lambda is just for event-handing, right? Not quite; it now supports synchronous as well as asynchronous event handling and you could create large applications on the service if you chose. It is well suited to services for mobile applications, for example. Java support is on the way, as an alternative to the existing Node.js support. I will be interested to see how this evolves.

I also went along to Carlos Conde’s session on Amazon Machine Learning (one instance in which AWS has trailed Microsoft Azure, which already has a machine learning service). Machine learning is not that easy to explain in simple terms, but I thought Conde did a great job. He showed us a spreadsheet which was a simple database of contacts with fields for age, income, location, job and so on. There was also a Boolean field for whether they had purchased a certain financial product after it had been offered to them. The idea was to feed this spreadsheet to the machine learning service, and then to upload a similar table but of different contacts and without the last field. The job of the service was to predict whether or not each contact listed would purchase the product. The service returned results with this field populated along with a confidence indicator. A simple example with obvious practical benefit, presuming of course that the prediction has reasonable accuracy.

Reserved IPs and other Microsoft Azure annoyances

I have been doing a little work with Microsoft’s Azure platform recently. A common requirement is that you want a VM which is internet-accessible with a custom domain, for which the best solution is to create a A record in your DNS pointing to the IP number of the VM. In order to do this reliably, you need to reserve an IP number for the VM; otherwise Azure may assign a different IP number if you shut it down and later restart it. If you keep it running you can keep the IP number, but this also means you are have to pay for the VM continuously.

Azure now offers reserved IP numbers. Useful; but note that you can only link a VM with a reserved IP number when it is created, and to do this you have to create the VM with PowerShell.

What if you want to assign a reserved IP number to an existing VM? One suggestion is that you can capture an image from the VM, and then create a new VM from the image, complete with reserved IP. I went partially down this route but came unstuck because Azure for some reason captured the image into a different region (West Europe) than the region where the VM used to be (North Europe). When I ran the magic PowerShell script, it complained that the image was in the wrong region. I then found a post explaining how to move images between regions, which I did, but the metadata of the moved image was not quite the same and creating a new VM from the image did not work. At this point I realised that it would  be easier to recreate the VM from scratch.

Note that when reserved IP number were announced in May 2014, program manager Mahesh Thiagarajan said:

The platform doesn’t support reserving the IP address of the existing Cloud Services or Virtual machines. We expect to announce support for this in the near future.

You can debate what is meant by “near future” and whether Microsoft has already failed this expectation.

There is another wrinkle here that I am not clear about. Some Azure VMs have special pricing, such as those with SQL Server pre-installed. The special pricing is substantial, often forming the largest part of the price, since it includes licensing fees. What happens to the special pricing if you fiddle with cloning VMs, creating new VMs with existing VHDs, moving VMs between regions, or the like? If the special pricing is somehow lost, how do you restore it so SQL Server (for example) is still properly licensed? I imagine this would mean a call to support. I have not seen any documentation relating to this in posts like this about moving a virtual machine into a virtual network.

And there’s another thing. If you want your VM to be in a virtual network, you have to do that when you create it as well; it is a similar problem.

While I am in complaining mode, here is another. Creating a VM with PowerShell is easy enough, but you do need to know the image name you are using. This is not shown in the friendly portal GUI:

image

In order to get the image names, I ran a PowerShell script that exports the available images to a file. I was surprised how many there are: the resulting output has around 13,500 lines and finding what you want is tedious.

Azure is mostly very good in my experience, but I would like to see these annoyances fixed. I would be interested to hear of other things that make the cloud admin or developer’s life harder than it should be.