Introducing new previews for Azure management libraries

Nick Zhu

Nick

We’re excited to announce that a new set of Azure management libraries for Java, .NET and Python are now in public preview. These libraries follow the Azure SDK guidelines and share a number of core features such as authentication protocols, HTTP retries, logging, and transport protocols. We believe that this will make the libraries easier to learn and integrate into your management scenarios. You can get these libraries using your favorite package manager.

The services we support for these new management libraries are:

Java.NETPython
App ConfigurationApp Configuration
App Service
Authorization
ComputeComputeCompute
Cosmos DB
Event HubsEvent Hubs
Key VaultKey VaultKey Vault
Managed Identity
MonitorMonitor
NetworkNetworkNetwork
ResourcesResourcesResources
SQL Database
StorageStorageStorage

To get started follow the links linked below:

Why are we doing this?

The goal of our management libraries is to enhance the productivity of developers managing Azure resources and provide idiomatic, consistent, approachable, diagnosable, and dependable code to easily integrate with Azure resources. We’ve been listening to your feedback and we’ve made sure that our new effort has incorporated your suggestions and requests. Finally, we understand that ease of use, service coverage, documentation and consistency are equally important when it comes to resource management with Azure SDKs.

What’s Different?

The team will go into details in follow-up blog posts but to get started, the big changes came from a set of objectives we defined based on your feedback. Those were:

  • Create easy to use APIs with productivity on par with the best libraries of the language ecosystems.
  • Provide APIs that are idiomatic to the language and ecosystem they are used in.
  • Evolve over time in a very compatible fashion.
  • Focus as much on documentation and samples, as on APIs.
  • Change how we create the libraries at their core.

Idiomatic libraries

A key piece of feedback we heard while talking with developers was that our APIs didn’t always feel ergonomic in a language. To fix that, we explicitly established as one of our core principles that the libraries we author should follow the patterns of that language. For these preview libraries, we’ve made sure that they follow the guidelines for each language so that the transition is seamless when developers use the libraries.

Service Coverage

Coverage of Azure services is an important aspect in management libraries. We understand that developers usually use management SDKs to provision a variety of Azure services as the services sometimes have connections with each other. For this preview release, we’ve selected the most common and core services in Azure based on the feedback we heard. We will also speed up the pace of covering more services while we continue to improve the quality of our preview libraries.

Compatibility

Compatibility has always been a value at Microsoft. Developers put significant time and money into solutions and should be able to count on them continuing to work. There is a tension here. For some cases we have had to make breaking changes to get to a better foundation. We believe aligning on that foundation will help meet the productivity goals outlined above, and once it’s set we intend to provide a high degree of compatibility. As a final note on compatibility, we’ve looked at the dependencies that we took and tried to minimize them as much as possible to reduce future incompatibilities and versioning complexities which should make upgrading libraries and using other pieces of software alongside these libraries easier.

Documentation

Many developers rate documentation and samples as the top factor in choosing what technologies to use, so we are highlighting it as a top goal. Much like the usability studies we’re doing on the APIs themselves, we have been doing the same on Azure Quickstarts to ensure that new developers can begin to experiment with Azure Services quickly. We have also heard feedback that both API Reference code snippets and samples get out-of-date and we have been building the tooling to build API Reference code snippets and samples regularly from GitHub and publish those into documentation.

We have provided these quick-start guides for the new preview libraries.

Next steps

We are pleased to be sharing the preview release of the new Azure management libraries that conform to many of the principles outlined above. We would like to encourage you to download and try the new SDKs today. To help you along the way, we are providing release notes describing what’s new in each library, and how to get the packages.

Please use the “Preview” tag when filing an issue.

Working with us and giving feedback

So far, the community has filed hundreds of issues against these new SDKs with feedback ranging from documentation issues to API surface area change requests to pointing out failure cases. Please keep that coming. We work in the open on GitHub and you can submit issues here:

Finally, please keep up to date with all the news about the Azure developer experience programs and let us know how we are doing by following @AzureSDK on Twitter.

0 comments

Leave a comment