Introducing: Blue Monday, A Series On Recent Azure Service Updates

Microsoft Azure rolls out new features every two weeks. Keeping up with it all can be a challenge; especially, if your interest in Azure is narrow.

That especially tends to be the case for most developers; doubly so if you work in a specific technology stack, e.g., node.js, .NET or PHP.

So I’m starting what I hope will be a biweekly feature of this blog. I’m calling it “Blue Monday,” and it will be a rundown, published every Monday morning after an Azure sprint, of release notes relevant to developers, especially .NET developers.

So without further ado, let’s kick off Blue Monday with notes on new and updated features released the week of 8 May 2016. I’m ordering these by how relevant I think they are to the developer community at large.

Azure Mobile Services migrating to App Services

For the last year or so, Azure has been breaking down the largely artificial separation of offering by intent, in favor of offerings by type. That is, when Azure started out, it would create a suite of services aimed at mobile application development, or hosting websites, or some other specific purpose.

This makes little sense because basically, the kinds of services needed to power a mobile application or a website or a microservices / SaaS solution are all the same: e.g., hosts for the parts of your program, a messaging solution to communicate back and forth, a place to store files and data, and some command and control to keep it all documented and operating in concert.

To that end, Microsoft is migrating Mobile Services from a standalone suite of products, into its App Service offering, which is basically platform-as-a-service (with a little persistent storage and other infrastructure-as-a-service addons that make life a little easier).

The takeaway is that anything you built in Azure Mobile Services must be migrated, since Azure Mobile Services are being shut down in December 2016.

Fortunately, Microsoft provides documentation on how to do this, as well as some code. Mind you, if your Azure Mobile Services solution is complex, you’re going to be doing some heavy lifting, but for many it will be a straightforward lift-and-shift with a few variable tweaks.

PHP 7 available in App Service; PHP 5.4, 5.5 soon to be retired

Azure now has a standardized build of PHP 7 available in App Service instances. It’s important to note that the default PHP 7 build does not include the SQL Server driver, which is still in preview. However, you can enable the preview driver as a custom extension.

It’s also worth noting that you can fairly easily run your own PHP builds in App Service.

Microsoft will soon discontinue predefined builds of PHP 5.4 and 5.5, and intends to make PHP 5.6 the default build for App Service. Again, you can run these legacy versions of PHP as custom runtime builds on App Service, but understand that Azure won’t help you out with the security risks inherent in using those runtimes.

New Datacenters in Canada and South Korea

Azure has opened datacenters in Quebec City and Toronto, as well as Seoul, South Korea. There’s an additional datacenter planned for South Korea.

I’m located in northern New England, so the existence of a datacenter in Quebec City is an attractive option.

However, it’s unclear to me if Quebec’s fairly stiff data privacy law applies to anything I host in that datacenter. My guess is that yes, it does; so I’ll probably only serve static / impersonal data there. Still, it could provide me with a significant network performance boost in those cases.

I’ll update you all at some later date with my findings.

Akamai-backed content delivery network generally available

Last year, Microsoft announced it would be partnering with Akamai to enhance what was, at the time, a really mediocre content delivery network product.

Since then, Microsoft also partnered with Verizon, providers of the EdgeCast CDN, to effectively remarket EdgeCast under the Azure banner.

So now Azure has three tiers of CDN service: Akamai, its most basic offering; and two tiers of EdgeCast. All are significant improvements over Microsoft’s late-2015 offering which, among its many failings, would not allow you to to purge or preload files, rendering it useless for most deployment scenarios.

The benefit of an Azure CDN is that it’s basically the same price to serve content from it as the bandwidth cost to serve a file from blob Storage; in some cases, it’s actually cheaper to serve a file from CDN than directly from Storage. That, coupled with the fact that Microsoft does have dozens of points of presence worldwide, makes CDN a real bargain.

Azure SQL Database elastic pools generally available

If you have the need to quickly scale SQL Server instances to match a demand — such as a big monthly data warehousing crunch, or an annual registration process, etc. — you’ll like elastic pools. It’s basically a way to tell Azure, “I need a big pile of SQL Server. But exactly how much, I’m not sure. Just dogpile until the job is done, then scale back to what I need to proceed as normal.”

Elastic pool had been available in several regions since AzureCon 2015, but it’s now available in most regions, and soon to be all of them.

I haven’t had occasion to need elastic database, but I’ve seen it demoed and it appears to work great. It’s certainly a far more attractive option that having to configure a bunch of SQL Server VMs, chunk the work across them and attempt to reconcile all those chunks at the end of the day.

Speaker Recognition API in public preview

As much hype as there is out there over virtual reality goggles and artificial intelligence, I’m a firm believer that voice-based systems are the vanguard of user interfaces and will grow exponentially over the next half-decade; especially as they become more feature-rich.

For example, Microsoft has recently released its Speaker Recognition API. As they note, this can not only be used for authentication, it can be used to customize interactions based on the provided identity.

An example from my own industry: I could, in theory, create a chatbot that delivers news specific to the speaker. He need not tell the chatbot what he wants; it will know who he is and deliver news customized to him.

I’m not certain it’s good enough a tech stack to ensure the speaker’s identity; for example, I wouldn’t want to conduct financial or health care information exchanges based solely on voice, not when there are so many good voice impersonators out there. But that said, I think it is an exciting technology that’s worth a try.

Odds and ends

Also announced last week:

1 Comment

Leave a Reply

  • Check out the Commenting Guidelines before commenting, please!
  • Want to share code? Please put it into a GitHub Gist, CodePen or pastebin and link to that in your comment.
  • Just have a line or two of markup? Wrap them in an appropriate SyntaxHighlighter Evolved shortcode for your programming language, please!