I didn’t do a Blue Monday post last Monday because … well, because there weren’t enough things I considered interesting.
That can pretty much be said of this Monday, too. But combined, the last two weeks’ worth of Azure service updates of interest to .NET developers have gone from “meh” to “heh,” so let’s get started.
DocumentDB adds automatic retries, parallel queries
New is an expanded SDK which now includes rate-limited automatic retries and parallel queries on partitioned collections.
This is an additional maturing of the product, and makes it a lot more attractive as a data storage option. Increasingly, I can see its benefits.
But until Microsoft comes out with a black-box DocumentDB ORM interface for Entity Framework, similar to the one it has for SQL Server, I believe it’s going to be difficult for DocumentDB to gain traction.
But let’s face facts: A huge volume of solutions out there are built on Entity Framework.
Unless and until DocumentDB becomes a plug-and-play data provider for EF, or Microsoft comes up with something like EF that works with NoSQL databases, most people are going to consider Azure SQL the better solution.
Azure Active Directory authorization for Azure SQL
In general availability is Azure Active Directory authentication for Azure SQL databases and SQL data warehouses.
This is a nice addition to the security suite for cloud-based data. As noted before, Azure SQL databases at the moment are primarily secured by firewall and previously required you to create SQL Server users to manage permissions; now, you can manage access by accounts, groups, etc. via contained users.
Seems especially helpful if you have enterprise-level needs to access a given Azure SQL database or SQL warehouse but want to manage it all just like any other on-prem domain user.
DevTest Labs enhancements
To its credit, Azure is pumping a lot of effort into DevTest Labs, its means of helping developers and QA folks quickly spin up virtual machines.
I still think DevTest Labs is a poor imitation of even a halfway decent Azure Resource Manager template and PowerShell script.
But Azure is doing its level best to make it more flexible, and has introduced some new features that are softening, somewhat, my opinion of it.
- There are new cost-tracking tools available, so if your Accounts Payable team is on your back about the Azure bill, at least you can see where the money went. Thresholds can even call a webhook, so you could, for example, create a Logic App or API App that spins down those resources if they hit 100 percent of some budget figure.
- Related: You can also set an expiration date on a DevTest Labs VM. OK, I’ll relent a little: This is convenient, and would require me to set up Automation, a WebJob or something like that to do via PowerShell.
- Azure has introduced a secret store for DevTest Labs, so remembering all those random keys to your test boxes is a little less onerous.
Azure Automation improvements
If you schedule a lot of your Azure scale and resources, you’ll appreciate a number of changes that have been announced … or, maybe not.
- You can now send runbook events to Log Analytics. This is big-boy, serious business stuff. I can only hope someday to enter the ultimate feedback loop that is big data crunching of big data metrics.
- Automation is now available in North Europe (Ireland) and Canada Central (Toronto).
- In September, Automation will no longer be administered in the Management Studio / “old portal.” I am slowly warming to the “new new” portal, but still prefer to work in the old portal whenever I can; this is another nail in its coffin, I fear.
- As a consolation prize, you can now set up a classic Run As profile in the “new new” portal.
Odds and ends
- Microsoft has published guidance on how you can use rate and access limits to your API App to monetize an API.
- The “basic” Akamai CDN service now supports HTTP/2. This is seamless to you as a developer; it should be that a client’s modern browser makes use of HTTP/2 when transacting business with your CDN. That should also result in far more efficient transactions with your CDN.
- There’s a new QuickStart script for Mobile Apps. As the supporting documentation notes, creating Mobile Apps in the past has been kind of a rigmarole of preflight tasks. This script doesn’t get rid of that busy work, it just does a lot of it for you in a way that lets you start coding.