{"id":36240,"date":"2019-04-08T06:14:20","date_gmt":"2019-04-08T13:14:20","guid":{"rendered":"http:\/\/devblogs.microsoft.com\/premier-developer\/?p=36240"},"modified":"2019-04-05T07:56:31","modified_gmt":"2019-04-05T14:56:31","slug":"azure-automation-dsc-via-arm-template","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/premier-developer\/azure-automation-dsc-via-arm-template\/","title":{"rendered":"Azure Automation DSC via ARM Template"},"content":{"rendered":"<p>App Dev Manager\u00a0<a href=\"https:\/\/www.linkedin.com\/in\/ben-hlaban-6b276028\/\">Ben Hlaban<\/a> explores deployment automation using Azure Automation Desired State Configuration with ARM templates.<\/p>\n<hr \/>\n<p><span data-contrast=\"auto\">I recently worked with a customer that was required to develop and deploy a solution <\/span><span data-contrast=\"auto\">consisting of virtual machines<\/span><span data-contrast=\"auto\"> run<\/span><span data-contrast=\"auto\">ning a combination of custom and <\/span><span data-contrast=\"auto\">commercial software.\u00a0 One of the challenges was figuring out a way to <\/span><span data-contrast=\"auto\">get the <\/span><span data-contrast=\"auto\">commercial software installed and configured <\/span><span data-contrast=\"auto\">on the virtual machines <\/span><span data-contrast=\"auto\">in a completely automated fashion<\/span><span data-contrast=\"auto\">, which is where Azure Automation DSC <\/span><span data-contrast=\"auto\">fit into <\/span><span data-contrast=\"auto\">the solution.\u00a0 DSC or Desired State Configuration is not a new concept, but I recently <\/span><span data-contrast=\"auto\">learned that Azure Automation can be used as a DSC pull server that hosts your DSC configurations and resources in a convenient location.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\"> Furthermore, you can completely automate the provisioning of not only the Azure Automation Account and the DSC configurations\/resources, but the actual target virtual machines (nodes) to which the configurations will be applied as well.\u00a0 <\/span><\/p>\n<p><span data-contrast=\"auto\">The solution consists of two main Azure Resource Manager (ARM) deployments <\/span><\/p>\n<ol>\n<li><span data-contrast=\"auto\">Azure Automation Account<\/span><\/li>\n<li>T<span data-contrast=\"auto\">arget virtual machine(s) \u00a0<\/span><\/li>\n<\/ol>\n<p>You can find a sample deployment to review at<\/p>\n<p><a href=\"https:\/\/github.com\/Azure\/azure-quickstart-templates\/tree\/master\/101-automation-configuration\">https:\/\/github.com\/Azure\/azure-quickstart-templates\/tree\/master\/101-automation-configuration<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the challenges was figuring out a way to get the commercial software installed and configured on the virtual machines in a completely automated fashion, which is where Azure Automation DSC fit into the solution.  DSC or Desired State Configuration is not a new concept, but I recently learned that Azure Automation can be used as a DSC pull server that hosts your DSC configurations and resources in a convenient location. <\/p>\n","protected":false},"author":582,"featured_media":37840,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[25],"tags":[146,24,207,3,375],"class_list":["post-36240","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","tag-arm","tag-azure","tag-dsc","tag-team","tag-virtual-machine"],"acf":[],"blog_post_summary":"<p>One of the challenges was figuring out a way to get the commercial software installed and configured on the virtual machines in a completely automated fashion, which is where Azure Automation DSC fit into the solution.  DSC or Desired State Configuration is not a new concept, but I recently learned that Azure Automation can be used as a DSC pull server that hosts your DSC configurations and resources in a convenient location. <\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/36240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/users\/582"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/comments?post=36240"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/36240\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media\/37840"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media?parent=36240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/categories?post=36240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/tags?post=36240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}