Azure Service Manager and Azure Resource Manager
You might already know that Azure has these two model of deployment, known as ASM and ARM models. ASM is old and all resources are now migrating to ARM model. Please refer
here, for a complete list of comaprison. Please refer here for an even
more detailed picture.
Azure Client SDK for .NET SDKs are used in our custom applications to communicate with Azure Services. We have separate SDKs for both ASM and ARM models. SDK libraries with a namespace starting as Microsoft.WindowsAzure is for ASM model and for ARM model, you have SDK libraries with a namespace starting with Microsoft.Azure. If you choose SDKs for Azure, you first need to check the target deployment model, i.e., is it ASM or ARM?
If an Azure Service has been deployed with ASM model and the SDK you are planing to use is ARM model, then it won't work. For example, SDK library with a namespace Microsoft.WindowsAzure.Management doesn't support creating the storage account under a resource group. Because resource group is an ARM model way of organizing Azure resources and here, Microsoft.WindowsAzure.Management has a namespace belonging to ASM.
Why two .NET SDK Models
ASM is a model which first started in Azure and we have live Azure Entities running under ASM and so Microsoft.WindowsAzure SDKs are still very much needed. Moreover, not all the services are supported in Microsoft.Azure SDKs, but it is still updating. The list of supported services are mentioned
here.
Decision making before real work has a crucial role in IT. I hope this blog will add some insights to your knowledge for taking a decision before any Azure SDK work.