Blue Monday: DevTest Labs, Automation, DocumentDB Enhancements

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

Azure is pouring effort into making DocumentDB better. (To the obvious detriment of Azure Table storage, which appears to be on its way out.)

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.

Yes, I know Entity Framework is designed to work with deeply relational data and DocumentDB is not meant to be deeply relational.

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.

Odds and ends

Feature photo by RyanMcGuire via Pixabay, in the public domain.
Feature photo by RyanMcGuire via Pixabay, in the public domain.

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!