State of the Azure SDK 2021

Azure SDK

Azure SDK

In July 2019, we announced the first preview libraries of the new Azure SDKs. These new libraries center the developer experience in our development process and guiding principles, as outlined in our General Guidelines. Accordingly, we are concentrating our efforts in developing first-party Azure SDKs that are:

  1. Idiomatic: SDKs are conventional with their target language and feel natural to developers.
  2. Consistent: SDKs are consistent across languages and services so that developers have a single experience and can support each other across development paradigms.
  3. Approachable: Great documentation, especially for first-time Azure users, is a priority to make getting started with Azure simple and quick.
  4. Diagnosable: Debugging is essential to the developer experience, and our libraries center discoverability and logging as fundamental features of each library.
  5. Dependable: Breaking changes are exceptions, not norms. Compatibility across library versions is a priority so that developers can seamlessly upgrade to the latest improvements.

Since our initial release in July 2019, we’ve grown to support 4 core languages across over a dozen Azure services, with 5 more languages on the way. Thanks to our engineering team and developers’ feedback, we’re on track to deliver an even better Azure development experience!

As the year 2021 begins, we thought we’d take some time to reflect on our progress and introduce our roadmap for progress to come.

Making the Azure SDK in 2020

While a portion of our team already worked from their homes around the world, we all faced the changes brought on by COVID-19; this included work-from-home guidance for our entire team. To their credit, everyone on the team continued to bring their best selves each week. Since our 2019 previews, we have:

  • Released our guidelines as GA for .NET, Java, JavaScript/TypeScript, and Python.
  • Introduced draft guidelines for our mobile libraries, including iOS and Android; draft guidelines for C and C++; and draft guidelines for Go.
  • Released GA libraries for:
    • Azure Storage
    • App Configuration
    • Cognitive Search
    • Event Hubs
    • Service Bus
    • Key Vault
    • Form Recognizer
    • Text Analytics
  • Introduced beta packages for:
    • Anomaly Detector
    • Communication
    • Cosmos DB (.NET)
    • Event Grid
    • Metrics Advisor
    • Tables
  • Released GA management libraries in Java and Python, which include coverage for:
    • Compute
    • Cosmos DB
    • DNS
    • Key Vault
    • Monitor
    • Storage
  • Increased our blog update rhythm at aka.ms/azsdk/blog and expanded content to include solutions from guest authors and tips and practices from our development. You can follow us by subscribing to our blog feed.
  • Launched a new developer landing page at azure.com/sdk.

The latest list of published libraries can be found at aka.ms/azsdk. We update this page with each release using the release notes within our github repositories, which you can find linked in the footer of this post.

Blog Highlights

While this is just a small sample of the great posts highlighting what you can accomplish with the new SDK, our engineering team and guest authors have used the Azure SDK Blog to explore their custom solutions on Azure. A few of our recommended posts, in no particular order, include:

Upcoming work for 2021

It’s probably not a surprise that our goal for 2021 is to continue improving the developer experience for Azure users! To that end, we plan to continue investing in languages and service libraries to provide greater coverage of Azure services. However, we aren’t the group to ship-it-and-forget-it; this year will also see improvements to our documentation and getting-started guides, with an emphasis on helping you find the libraries and examples that will help you build solutions quickly and easily!

On a technical level, efforts to improve our libraries will likely include expansions to our mobile beta libraries; GA of some libraries such as Event Grid and Tables; and continued improvements to our already GA’d libraries, such as Storage, Text Analytics, Form Recognizer, and Metrics Advisor. You can keep up with our plans through the github repos listed in the footer or follow us on Twitter, @AzureSDK.

To help you find answers and examples easily, we’ve made concentrated efforts to include samples and comprehensive README’s for every library, in every language, right next to the source code that we produce. In each of our repos linked in the footer, you can find instructions and quicklinks within the samples directory. Additionally, each library contains a list of samples under the sdk/{service}/{library}/samples directory. For example, if I needed to upload a blob to Azure Storage, I could look up some samples on the Azure SDK for .NET – Azure.Storage.Blobs Samples page. Our samples are also available on Microsoft Docs.

Conclusion

Thank you, from our entire team, for your continued adoption of our latest service libraries. We welcome feedback, from comments and suggestions to support requests and issue reports on our github repos; you can find links to each language’s repo in the footer of this post.

Cheers to your success with Azure in 2021 and beyond!

Azure SDK Team 2020

Azure SDK Blog Contributions

Thank you for reading this Azure SDK blog post! We hope that you learned something new and welcome you to share this post. We are open to Azure SDK blog contributions. Please contact us at azsdkblog@microsoft.com with your topic and we’ll get you set up as a guest blogger.

0 comments

Comments are closed. Login to edit/delete your existing comments