-1

I'm looking for any gaps in the support for operations on Azure resources via the Azure SDK (java) vs. ARM templates.

So far, we've only found that blobs/queues/tables cannot be managed by ARM, while the containing StorageAccount can be. No documentation that calls out the differences either.

I prefer to use ARM templates as they provide atomicity of create and update across resources, provided they support all or most of the functionality.

Resources we're interested in are mostly IAAS-ish resources - Virtual network, security groups, subnets et al, LBs, storage artifacts, VM instances, DNS, etc.

Need this for basic create/delete operations and frequent update operations (e.g. patch VM images, modify DNS entries, move the ENI from one VM to another, etc).

Shui shengbao
  • 18,746
  • 3
  • 27
  • 45
Pragya
  • 73
  • 1
  • 5
  • arm templates should be the way to go, no differences in them, all features are available via SDK vs templates – harishr Aug 11 '17 at 04:07
  • 1
    template only supports ARM mode. Azure SDK supports ARM mode and asm mode. Using template, you could deploy multiple resource to Azure, but SDK could do more. Like start VM, stop VM. template could not do this. – Shui shengbao Aug 11 '17 at 05:15
  • We don't have baggage of old ASM resources. Valid point on startVM/stopVM kind of operations, generalized to all mgmt operations on a resource. – Pragya Aug 11 '17 at 05:33
  • @Pragya Use template, you could create, modify, delete Azure resource. I think SDK also could do them. But I think use template more easily. But use SDK, you could manage your resource, like stop, start a VM, webapp. You could write data to blob. – Shui shengbao Aug 11 '17 at 05:39
  • @Pragya Based on my experience, use template you could define a resource but you could not operation the resource. But SDK can. You had better refer to Azure java [SDK](http://azure.github.io/azure-sdk-for-java/). – Shui shengbao Aug 11 '17 at 05:42
  • how do you delete a specific resource using the template @Walter-MSFT also, its wrong, SDK cannot do more, sdk lacks a lot of resources whereas template can deploy almost anything – 4c74356b41 Aug 11 '17 at 08:01
  • @Pragya Thanks for 4c74356b41. Template could not delete resource. But SDK could. – Shui shengbao Aug 11 '17 at 08:02

1 Answers1

2

Firstly, Template only supports ARM mode. Azure SDK supports ARM mode and asm mode.

Second, with template you could define a resource but you could not operation the resource, like start, stop a VM or a web app.

If you just want to deploy resources to Azure, I suggest you could select template, it is more easy for you to do it. SDK is more suitable for developer, Azure provides powerful API. You could manage your Azure resources and integrate them to your service.

Update:

If you only want to create or modify resources in Azure. Template is a more suitable option. Template supports more resources. Java SDK supports API is here. Template supports resource is here. Click Reference.

Note: You could not use template to delete a resource.

Shui shengbao
  • 18,746
  • 3
  • 27
  • 45
  • Thanks @Walter for the reply. I'm looking for specific gaps between templates and SDK for creating or modifying resources in Azure. Your answer helps as an opinion but does not answer my question fully. So keeping it open. – Pragya Aug 14 '17 at 04:59
  • @Pragya If you only want to create or modify resources in Azure, template is more suitable option. Template almost support all ARM Azure resource, but Java SDK only could support the resource that API is provided. I check the [API](http://azure.github.io/azure-sdk-for-java/) some resource(such as HDIcluster) is not supported. The [link](https://learn.microsoft.com/en-us/azure/templates/) is template supported. – Shui shengbao Aug 14 '17 at 05:12
  • @Pragya You could check, template supports more resources in Azure. – Shui shengbao Aug 14 '17 at 05:12
  • @Pragya Do you need more future help? – Shui shengbao Nov 02 '17 at 08:46