5
votes

I have an application that relies on Azure SDK version 1.8 and Azure table and blob storage. Azure SDK 1.8 is scheduled to be "retired" November 12, 2015.

  • Will Azure SDK retirement stop my app from working after November 12, 2015?
  • What is the relationship between Azure SDK version number and and Azure Storage Version date?
  • What is the difference between Azure SDK retirement and Azure Storage version removal? (I get that the version removal means it won't be there to use. Does retirement mean it just won't be supported anymore but will keep working?)
  • Update Question: How does Azure SDK relate to "Azure Storage Client"? What version of my Azure SDK v1.8 maps to which version of the azure storage client?

I THINK that the SDK will keep working, and that the storage service version being retired is too old to affect me, but I'd like to be sure.

Azure SDK version retirement dates are https://msdn.microsoft.com/en-us/library/azure/dn479282.aspx

Version: 1.8/October 2012
Release Date: October 2012
Retirement Date: November 12 2015

Microsoft Azure Storage Service Version Removal versions dates are http://blogs.msdn.com/b/windowsazurestorage/archive/2015/10/19/microsoft-azure-storage-service-version-removal-update-extension-to-2016.aspx

Version 2009-07-17 and prior Azure storage versions will be turned off 
and will quit working. 

UPDATE: I also found this handy "Azure Storage Client" version to Azure protocol Version chart https://msdn.microsoft.com/en-us/library/azure/dn744252.aspx

Storage Client      Underlying REST 
Library Version     Protocol Version
-------             --------
1.7                 2011-08-18
2.x                 2012-02-12
3.x                 2013-08-15
4.x                 2014-02-14
5.x                 2015-02-21
6.x                 2015-04-05

UPDATE: Following this link https://azure.microsoft.com/en-us/documentation/articles/cloud-services-guestos-update-matrix/ I found this chart

GUEST OS FAMILY     SDK VERSIONS SUPPORTED
4                   Version 2.1 and later
3                   Version 1.8 and later
2                   Version 1.3 and later
1                   Version 1.0 and later

The "Cloud Services Guest OS Update Matrix" also has some scary charts that show "Disable Date" and "Expiration Dates" which indicate everything is expired (as of today 11/6/2015) prior to Guest OS 4.19. This makes no sense to me.

I sure would like to see an "Azure SDK" to "Storage Client Library" version table.

UPDATE: 12/3/2015

It kept working. According to this azure storage blog entry, it looks like the retirement date has been pushed off to next summer.

We will delay the removal date for some REST API versions and impacted
client libraries. This includes all REST endpoints starting version 
2009-07-17 and earlier. The effective date for this service removal is
August 1st, 2016.
1

1 Answers

2
votes

There has been some change of plans regarding the version removal. Based on the blog post by Azure Storage team, version 2009-07-17 will now retire on August 1, 2016. Please see this blog post for more details: http://blogs.msdn.com/b/windowsazurestorage/archive/2015/10/19/microsoft-azure-storage-service-version-removal-update-extension-to-2016.aspx.

Regarding the relationship between Azure SDK and Azure Storage Version, as such there's two things to consider:

  1. Storage Client library that gets shipped with SDK.
  2. Storage emulator that gets shipped with SDK.

By default, a SDK version will use a particular version of the library however you're free to upgrade or downgrade the storage client library as per your requirements. Earlier there used to be some dependencies between storage client library and other components of SDK (a good example would be Azure Diagnostics) but not any more.

A storage emulator is again tied to a version of storage client library. Unfortunately if you want to use the storage emulator, then you must use the storage client library it supports. For example, you can't use storage client library version 6 and storage emulator version 4. If you want to use the latest version, and the emulator doesn't support it then you must do all your development against actual cloud storage.

Azure Storage is managed by a REST API and this API is versioned where each new version offers some improvements over the previous versions (and at times remove or change the functionality offered in the previoud version). When they say "Version Removal" essentially what is meant is that particular version of Storage REST API won't be supported. What that also means is that any client library that is tied to that particular REST API version will also stop working.

UPDATE

To answer your specific questions:

Will Azure SDK retirement stop my app from working after November 12, 2015?

Honestly, I don't know (but I will be very curious to know). Each SDK is targeted for specific Guest OS version. From this link (https://azure.microsoft.com/en-us/documentation/articles/cloud-services-guestos-update-matrix/), I gather that SDK 1.8 targets Guest OS Family 3. If you're targeting a specific Guest OS version in your application (please check service configuration file and service for the target OS version) and if that version is set to disabled (and subsequently expire), then I think it would break your application.

enter image description here

What is the relationship between Azure SDK version number and and Azure Storage Version date?

By default, a SDK version will use a particular version of the library however you're free to upgrade or downgrade the storage client library as per your requirements. Earlier there used to be some dependencies between storage client library and other components of SDK (a good example would be Azure Diagnostics) but not any more.

What is the difference between Azure SDK retirement and Azure Storage version removal? (I get that the version removal means it won't be there to use. Does retirement mean it just won't be supported anymore but will keep working?)

Honestly, I don't know. Sorry!

Update Question: How does Azure SDK relate to "Azure Storage Client"? What version of my Azure SDK v1.8 maps to which version of the azure storage client?

Azure SDK 1.8 makes use of Storage Client Library 2.0 (from SDK 1.8 release notes) and Storage Client Library 2.0 targets REST API Version 2012-02-12 (from Protocol Version Support for .NET Client Library Versions)

enter image description here

You can also check the version of storage client library by going into ref directory in your Azure SDK installation directory.