Share

Microsoft Material: Capability Value Administration Half 2, Automate Pause/Resume Capability with Azure Logic Apps

[ad_1]

Automate Pause Resume Suspend Fabric Capacity with Azure Logic Apps

Within the earlier weblog publish, I defined Microsoft Material capacities, shedding gentle on various capability choices and the way they affect information tasks. We delved into Capability Items (CUs), pricing nuances, and sensible price management strategies, together with manually scaling and pausing Material capability. Now, we’re taking the subsequent step in our Microsoft Material journey by exploring the opportunity of automating the pause and resume course of. On this weblog publish, we’ll unlock the secrets and techniques to seamlessly managing your Material Capability with automation that helps us save time and sources whereas optimising the utilization of knowledge and analytics workloads.

Proper off the bat, this can be a relatively lengthy weblog, so I added a bonus part on the finish for many who are studying from the start to the top. With that, let’s dive in!

As we’ve got discovered within the earlier weblog publish, one technique to handle our Material capability prices is to pause the capability whereas not in use and resume it once more when wanted. Whereas this will help with price administration, as it’s a guide course of, it’s liable to human error, which makes it impractical in the long term.

A extra sensible resolution is to automate a every day course of to pause and resume our Material capability mechanically. This may be completed by working Azure Administration APIs. Relying on our experience, there are a number of methods to realize the objective, resembling working APIs on working the APIs by way of PowerShell (scheduling the runs individually), working the APIs by way of CloudShell, making a stream in Energy Automate, or creating the workflow in Azure Logic Apps. I favor the latter, so it’s the technique that this weblog publish explains.

Automating Pause and Resume Material Capability with Azure Logic Apps

Right here is the state of affairs: we’re going to create an Azure Logic Apps workflow that mechanically does the next:

  • Verify the time of the day
  • Whether it is between 8 am to 4 pm:
  • Verify the standing of the Material capability
  • If the capability is paused, then resume it, in any other case do nothing
  • Whether it is after 4 pm and earlier than 8 am:
  • Verify the standing of the Material capability
  • If the capability is resumed, then pause it, in any other case do nothing

Observe these steps to implement the state of affairs in Azure Logic Apps:

  1. Login to Azure Portal and seek for “Logic App
  2. Click on the Logic App service
Finding Logic Apps on Azure Portal

This navigates us to the Logic App service. When you presently have present Logic Apps workflows, they’ll seem right here.

  1. Click on the Add button
Creating a new Logic App workflow on Azure Portal
Creating a brand new Logic App workflow on Azure Portal
  1. On the Fundamentals tab, choose the specified Azure Subscription
  2. Choose a desired Useful resource Group. When you do not need any useful resource teams, click on Create new to create one
  3. Kind in a reputation within the **Logic App title ** textbox
  4. Choose the specified Area from the dropdown
  5. Choose Consumption on the Plan sort
  6. Hold the Zone redundancy Disabled
  7. If you would like/want so as to add Tags, click on the Subsequent: Tags button, in any other case click on the Preview + create button
Creating a new Logic App workflow on Azure Portal
  1. Click on the Create button
Review configuration and create a new Logic App workflow on Azure Portal

This can create a brand new Logic App workflow. After the service is created a brand new Go to sources button.

  1. Click on the Go to sources button
Go to the newly created Logic App workflow on Azure Portal
  1. Click on the Logic app designer from the Growth Instruments part on the left pane or click on the Edit button to open the Logic app designer
Opening Logic App designer in Azure Portal
  1. Click on the Recurrence from the Begin with a typical set off part. This opens the Logic app designer and provides the Recurrence set off
Adding a Recurrence trigger to Logic Apps
  1. Change the Interval to 1
  2. Change the Frequency to Hour

Up to now, we outlined a set off to run the workflow each hour. The subsequent step is to get the present time.

  1. Click on the New step button
Configuring the Recurrence trigger to run every hour
  1. Search and choose the Present time motion

The Present time motion will get the present time in UTC.

Using Current Time action to Logic Apps

When you stay in a distinct timezone, you have to convert the output from UTC to your timezone.

  1. Click on the New step button, search and choose Convert time zone motion
  2. Click on the Base time textbox then choose the Present time from the Dynamic content material
  3. Choose (UTC) Coordinated Common Time from the Supply time zone dropdown
  4. Choose the Vacation spot time zone from the dropdown
  5. Kind in HH:mm within the Format string textual content field and click on Use ‘HH:mm’ as customized worth
Converting the output of the Current time action to local timezone

Up to now, we acquired the present time and transformed it into our native timezone. Subsequent, we have to get the standing of the Material capability. This may be completed by way of the Azure Useful resource Supervisor operation through the use of its Learn a useful resource motion.

  1. Click on the New step button, search and choose Learn a useful resource motion (which is an Azure Useful resource Supervisor motion)
Using Read a resource action of Azure Resource Manager
  1. Cross your credentials on the Azure Useful resource Supervisor operation then choose the Subscription of your Material capability from the dropdown
  2. Choose the Useful resource Group containing your Material capability
  3. Choose Microsoft.Material from the Useful resource Supplier dropdown
  4. Kind in capacities/YOUR_FABRIC_CAPACITY_NAME on the Brief Useful resource Id textual content field the place the YOUR_FABRIC_CAPACITY_NAME is the title of your Material capability which in my case is dv01fabric
  5. Kind in 2023-11-01 on the Consumer Api Model textual content field
Setting Read a resource action of Azure Resource Manager

Up to now, we’ve got the present time for our timezone and the present standing of our Material capability. Subsequent, we have to verify the present time to see if it’s between 8 am and 4 pm, then resume the capability if its standing is Paused and do nothing if the capability is already working. Whether it is after 4 pm and earlier than 8 am, pause the capability if its standing is Resumed, and do nothing whether it is already paused.

Allow us to proceed…

  1. Click on the New step button, seek for Situation motion and choose it underneath the Management operation
  2. Click on the primary situation’s textbox to pick the Transformed time from the Dynamic content material
Condition action of Control operation
  1. Change the situation to is bigger than or equal to
  2. Kind 08:00 for the worth
  3. Click on the Add button
  4. Choose the Add row possibility
  5. Choose the Transformed time from the Dynamic content material once more
  6. Choose is lower than or equal to situation
  7. Kind 16:00 for the worth
Setting Condition action to get the output from a Convert time zone action

OK! Let’s take a second to know the place we’re at now. By including the Situation motion, we’re checking if the present time is between 8 am and 4 pm.

Subsequent, we have to verify the standing of the Material capability. If we run the workflow now (click on the Run Set off button, then click on Run) and take a look at the outputs of the Learn a useful resource motion containing the state of the capability underneath the Properties. That’s precisely what we’re after. To the worth of the state, we have to use the next expression:

physique('Read_a_resource')?['properties']?['state']

With that, let’s proceed.

  1. Click on the Add an motion button on the True output so as to add a brand new Situation motion which by default is known as Situation 2
  2. Inside Situation 2 click on the Select a worth setting
  3. Copy and paste the above expression into the Expression field
  4. Click on OK
Using an expression in Condition action to read the State part of the Properties within the body of the Read a resource output
  1. Set the situation to is the same as
  2. Kind Paused within the Worth textbox
Checking if the State of the Read ā resource action is Pause
  1. Click on the Add an motion button on the True output of Situation 2 and add the Invoke useful resource operation
Using Invoke resource operation action from Azure Resource Manager operation
  1. On the Invoke useful resource operation motion, choose the specified Subscription
  2. Choose the specified Useful resource Group
  3. On the Useful resource Supplier choose Microsoft.Material
  4. Kind in capacities/YOUR_FABRIC_CAPACITY_NAME on the Brief Useful resource Id textual content field the place the YOUR_FABRIC_CAPACITY_NAME is the title of your Material capability, which in my case is dv01fabric
  5. Kind in 2023-11-01 on the Consumer Api Model textbox
  6. Kind resume on the Motion title textbox
Configuring Invoke resource operation action of Azure Resource Manager operation

Up to now, we’ve got checked the present time of the day; whether it is between 8 am and 4 pm, we verify the standing of our Material capability. Whether it is Paused, we resume the capability. The subsequent step is so as to add the same situation to what we’ve completed, however this time for the False output of the primary Situation motion. We simply must repeat steps 39 to 51 with a minor change in step 51 the place we sort droop on the Consumer Api Model textbox.

The next picture reveals the whole resolution. Simply so you understand, I renamed the actions with extra correct names.

Azure Logic Apps workflow to pause and resume Fabric capacity

Right here you go! You will have it.

Since you might have come so far, the next bonus part would add extra worth. So proceed studying…

You possibly can enhance the answer to suit your necessities. For instance, you’ll be able to verify if the present date is through the weekend, then don’t run the workflow.

To take action, observe these steps:

  1. Click on the ellipsis button of the Recurrence set off
  2. Click on Settings
  3. Click on the Add button underneath the Set off Circumstances part
  4. Enter the @incorporates('12345', string(dayOfWeek(convertFromUtc(utcNow(), 'New Zealand Normal Time')))) expression
  5. Click on the Finished button
Conditional Recurrence Trigger

The above course of forces the set off to run the workflow solely through the weekdays (not on the weekends).

The expression in level 4 will get the curent date and time in UTC, converts it into New Zealand timezone, will get the week day variety of the week, and converts it to string. Eventually, it checks if the day variety of the week is in week days. Sunday is 0, Monday is 1 and so forth…

When you stay in a distinct timezone, you’ll find Microsoft’s default timezones right here.

On this exploration of Microsoft Material capacities and Azure Logic Apps automation, we’ve superior from guide pausing and resuming to an automatic resolution. By making a Logic Apps workflow, we’ve demonstrated the practicality of managing Material capability primarily based on a set schedule, optimising useful resource utilisation effortlessly. Within the bonus part, we regarded on the resolution’s adaptability to particular wants, like excluding weekends.

I hope you loved studying this lengthy weblog and discover it useful.
As all the time, be at liberty to go away your feedback and ask questions, observe me on LinkedIn and @_SoheilBakhshi on X (previously Twitter).



[ad_2]

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *