Microsoft gets idiomatic with revamped Azure SDKs

Microsoft has taken the wraps off a series of Azure SDKs spanning key Azure tools and following a new set of standards designed to be far more idiomatic and business-critical.

The first slew of libraries cover Python, Java, JavaScript and .NET, and cover working with Azure Storage, Azure Cosmos DB, Azure Key Vault, and Azure Event Hub.

Peter Marcu, Principal Group Software Engineering Manager, said in a blogpost, they were a response to “a period of rapid innovation in Azure’s capabilities and learning about how best to expose it to developers”.

“Now that some Azure services have matured and been adopted into business-critical enterprise applications, we have been learning what patterns and practices were critical to developer productivity around these services,” he wrote.

At the same time, he said the company had been listening closely to developer feedback, and “we understand that consistency, ease of use, and discoverability are equally important to the identified patterns when it comes to working with the Azure SDKs.” Which presumably is easier to do within Microsoft’s Azure world, than in the old-on prem days.

Needless to say, Microsoft reckons the latest batch of libraries should be easier to use and make developers more productive – though we’ve yet to encounter a company who said its tools would make devs less productive. But the vendor said it was driving to apply the same guidelines across the libraries, so “When you learn a pattern or API shape in one library you should be able to count on it being the same in others.”

It also stepped up its usability testing for each library, bringing developers into the lab and observing them as they worked through different use cases.

A “key piece of feedback” wrote Marcu, was “that our APIs didn’t always feel ergonomic in a language”. Consequently, the firm has “explicitly established” that libraries should follow the patterns of the language concerned, and that “as we update each service’s libraries to follow these guidelines, we are ensuring that we always release libraries for those services in each of the following languages: Java, Python, JavaScript, and .NET.”

And where can you find the libraries? Unsurprisingly, they’re on GitHub, another Microsoft property, with a central Azure-sdk library here, and separate repositories for each language.