Let us begin with understanding of Azure what it is all about before moving to our Azure Resource Manager plugin and how it benefits our workload automation users.
“Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacentres. You can build applications using any language, tool, or framework. And you can integrate your public cloud applications with your existing IT environment.”
Azure is incredibly flexible, and allows you to use multiple languages, frameworks, and tools to create the customised applications that you need. As a platform, it also allows you to scale applications up with unlimited servers and storage.
What is an Azure resource?
In Azure, the term resource refers to an entity managed by Azure. For example, virtual machines, virtual networks, and storage accounts are all referred to as Azure resources.
Each resource in Azure must belong to a resource group. A resource group is simply a logical construct that groups multiple resources together so they can be managed as a single entity based on lifecycle and security. For example, resources that share a similar lifecycle, such as the resources for an n-tier application may be created or deleted as a group. In other words, everything that is born together, gets managed together, and deprecates together, goes together in a resource group. Resource groups and the resources they contain are associated with an Azure subscription.
An Azure subscription is like a resource group, it’s a logical construct that groups together resource groups and their resources. An Azure subscription is also associated with the controls used by Azure Resource Manager. Take a closer look at Azure Resource Manager to learn about the relationship between it and an Azure subscription.
What is Azure Resource Manager?
Azure Resource Manager is the deployment and management service for Azure. It provides a management layer that enables you to create, update, and delete resources in your Azure account. You use management features, like access control, locks, and tags, to secure and organize your resources after deployment.
To give more clarity on its benefits let us understand with below example,
With the shift to the cloud, many teams have adopted agile development methods. They need to repeatedly deploy their solutions to the cloud, and know their infrastructure is in a reliable state. As infrastructure has become part of the iterative process, the division between operations and development has disappeared. Teams need to manage infrastructure and application code through a unified process.
To meet these challenges, you can automate deployments and use the practice of infrastructure as code. In code, you define the infrastructure that needs to be deployed. The infrastructure code becomes part of your project. Just like application code, you store the infrastructure code in a source repository and version it. Any one on your team can run the code and deploy similar environments.
You can deploy ARM templates to Azure Environment by using Azure Resource Manager plugin with workload Automation. Using Azure SPN (Service principle Name) credentials user can login and can select the available resource group in the server (Azure) where template can be deployed.
Let us begin with our plugin part with job definition parameters,
Azure Resource Manager Plugin
Log in to the Dynamic Workload Console and open the Workload Designer. Choose to create a new job and select “Azure Resource Manager Plugin” job type in the Cloud section.
Figure 1 Job Definition
Establishing connection to the Azure server:
Use this section to connect to the Azure server.
Subscription – The ID that uniquely identifies your subscription to Azure Resource Manager. This attribute is required. If not specified in the job definition, it must be supplied in the plug-in properties file.
Client – The Azure Resource Manager Client ID associated to your SPN account. This attribute is required. If not specified in the job definition, it must be supplied in the plug-in properties file.
Tenant – The Azure Resource Manager Tenant ID associated to your SPN account. This attribute is required. If not specified in the job definition, it must be supplied in the plug-in properties file.
Password (Key) – The Azure Resource Manager Client Secret Key associated to your SPN account. This attribute is required. If not specified in the job definition, it must be supplied in the plug-in properties file. This is also known as client key.
Test Connection – Click to verify that the connection to the Azure server works correctly.
Figure 2.Connection Tab
Use this section to work with Azure Resource Manager templates.
Resource Group – The name of the resource group to which the subscriptions have been assigned to. This attribute is required. Click on Select to retrieve the list of Resource Groups associated to your account. The selected name appears in the Resource Group field.
Template Name – Enter the template name.
Template File Path – Enter the template file path or click Select to choose the template file path.
Template Content – Choose this option to enter the template content.
Template Parameter Information (Optional) – Select this option to add the parameter details of the template.
Template Parameter File Path – Enter the template parameter file path or click Select to choose the template parameter file path.
Template Parameter Content – Choose this option to enter the template parameter content.
Figure 3 Action Tab
Figure 4 Action Tab – Select Resource Group
Submitting your job
It is time to Submit your job into the current plan. You can add your job to the job stream that automates your business process flow. Select the action menu in the top-left corner of the job definition panel and click on Submit Job into Current Plan. A confirmation message is displayed, and you can switch to the Monitoring view to see what is going on.
Figure 5 Submit Job
Figure 6 Monitor Job
Figure 7 Job Log
Figure 8 Workflow Details
Shubham Chaurasia – Developer at HCL Software
Responsible for developing integration plug-ins for Workload Automation. Hands-on with different programming languages and frameworks like JAVA, JPA, Microservices, MySQL, Oracle RDBMS, AngularJS.
Rabic Meeran K, Technical Specialist at HCL Technologies
Responsible for developing integration plug-ins for Workload Automation. Hands-on with different programing languages and frameworks like JAVA, JPA, Spring Boot, Microservices, MySQL, Oracle RDBMS, Ruby on Rails, Jenkins, Docker, AWS, C and C++.
Saket Saurav, Tester (Senior Engineer) at HCL Technologies
Responsible for performing Automation and Manual Testing for different plugins in Workload Automation using Java Unified Test Automation Framework. Hands-on experience on Java programming language, Web Services with databases like Oracle and SQL Server.