<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tolu Iyoriobhe</title>
    <description>The latest articles on DEV Community by Tolu Iyoriobhe (@toluehi).</description>
    <link>https://dev.to/toluehi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F833198%2F982bfd89-9677-4fd9-9312-a10a887351e5.jpg</url>
      <title>DEV Community: Tolu Iyoriobhe</title>
      <link>https://dev.to/toluehi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/toluehi"/>
    <language>en</language>
    <item>
      <title>Implementing an Azure IoT Hub</title>
      <dc:creator>Tolu Iyoriobhe</dc:creator>
      <pubDate>Sun, 22 May 2022 15:17:01 +0000</pubDate>
      <link>https://dev.to/toluehi/implementing-an-azure-iot-hub-22d6</link>
      <guid>https://dev.to/toluehi/implementing-an-azure-iot-hub-22d6</guid>
      <description>&lt;p&gt;The Internet of Things (IoT) is a network of physical devices that connect to and exchange data with other devices and services over the internet or other network.&lt;/p&gt;

&lt;p&gt;Azure IoT Hub is a managed service hosted in the cloud that acts as a central message hub for communication between an IoT application and its attached devices.&lt;/p&gt;

&lt;p&gt;Here, we will be configuring an Azure IoT Hub in Azure portal and authenticating a connection to an IoT device using online &lt;strong&gt;Raspberry Pi device simulator&lt;/strong&gt;. If you have time, you can read more about the Raspberry Pi simulator.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Creating an IoT Hub&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sign in to &lt;a href="https://portal.azure.com/" rel="noopener noreferrer"&gt;Azure portal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;From the search box, type IoT Hub and select &lt;strong&gt;IoT Hub&lt;/strong&gt; under &lt;strong&gt;Services&lt;/strong&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhfpnn525ua37fh1ahyic.png" alt="IoTHub"&gt;
&lt;/li&gt;
&lt;li&gt;On the IoT hub page, &lt;strong&gt;select + Create&lt;/strong&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0pym6mvp041vm7sl9uus.png" alt="IoT Hub create"&gt;
&lt;/li&gt;
&lt;li&gt;On the &lt;strong&gt;Basics&lt;/strong&gt; tab of the IoT hub, fill in the with the following details
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F48304jjpgambp8n4p8b2.png" alt="Iothub basics tab field"&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbp2gp356m4ce2pblllk.png" alt="Iothub basics tab"&gt;
&lt;/li&gt;
&lt;li&gt;Go to the &lt;strong&gt;Management&lt;/strong&gt; tab and use the dropdown to set the &lt;strong&gt;Pricing and scale tier&lt;/strong&gt; to &lt;strong&gt;S1:Standard tier&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Review + Create&lt;/strong&gt; button and select the &lt;strong&gt;Create&lt;/strong&gt; button when validation passes to begin creating your new Azure IoT Hub instance
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgos3b0lkoj1oe1tiifw.png" alt="Create IoT Hub"&gt;
&lt;/li&gt;
&lt;li&gt;Wait until the Azure IoT Hub instance is deployed&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;- Add an IoT device&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;When deployment is completed, Click &lt;strong&gt;Go to resource&lt;/strong&gt; from the deployment blade
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdjc0lspp9bmoifuk8gx5.png" alt="Iot hub deployment blade"&gt;
&lt;/li&gt;
&lt;li&gt;To add a new IoT device, scroll down to the &lt;strong&gt;Device Management&lt;/strong&gt; section and select &lt;strong&gt;Devices&lt;/strong&gt;. Then Click &lt;strong&gt;+ Add device&lt;/strong&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc8ll744h2wuct8yodptv.png" alt="Add IoT device"&gt;
&lt;/li&gt;
&lt;li&gt;Provide a name for your new IoT device, &lt;strong&gt;myRaspberryPi&lt;/strong&gt;, and click &lt;strong&gt;Save&lt;/strong&gt;. This will create a new IoT device identity in your Azure IoT Hub
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fll1uojld00s7y0bqhzy9.png" alt="Device ID"&gt;
&lt;/li&gt;
&lt;li&gt;If you do not see the new device, &lt;strong&gt;Refresh&lt;/strong&gt; the IoT devices page.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;myRaspberryPi&lt;/strong&gt; and copy the &lt;strong&gt;Primary Connection String&lt;/strong&gt; value. The key will be needed to authenticate a connection to the Raspberry Pi simulator.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8q3x4j09k0ws7msy6g57.png" alt="IPrimary connection string"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;- Testing the device using a Raspberry Pi Sumulator&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open a new tab in the web browser and type or copy this shortcut link &lt;strong&gt;&lt;a href="https://aka.ms/RaspPi" rel="noopener noreferrer"&gt;https://aka.ms/RaspPi&lt;/a&gt;&lt;/strong&gt;. It will take you to a Raspberry Pi Simulator site. When done select '&lt;strong&gt;X&lt;/strong&gt;' to close the pop-up window.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In the code area on the right side, locate the line with '&lt;strong&gt;const connectionString =&lt;/strong&gt;' 
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwvwsta174jznma3f2g3d.png" alt="const connectionString"&gt;
&lt;/li&gt;
&lt;li&gt;Replace it with the connection string copied from the Azure portal. Note that the connection sting includes the DeviceId (myRaspberryPi) and SharedAccessKey entries.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcavanp8cep7zy7oj5k0s.png" alt="Run sample code"&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Run&lt;/strong&gt; to run the application. The console output should show the sensor data and messages that are sent from the Raspberry Pi simulator to the Azure IoT Hub. Data and messages are sent each time the Raspberry Pi simulator LED flashes.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy1ua696xa2m6bd24qwxd.png" alt="Console data"&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Stop&lt;/strong&gt; to stop sending data and return to the Azure portal&lt;/li&gt;
&lt;li&gt;Switch to the IoT Hub &lt;strong&gt;Overview&lt;/strong&gt; blade and scroll down to the &lt;strong&gt;IoT Hub Usage&lt;/strong&gt; information to view usage. Change your timeframe in the &lt;strong&gt;show data for last&lt;/strong&gt; to see data in the last hour
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9tz0ecbkfqvc2b45j8pe.png" alt="IoT Hub Usage"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Awesome!&lt;/strong&gt; We just set up Azure IoT Hub to collect sensor data from an IoT device.&lt;/p&gt;

&lt;p&gt;Note: To avoid additional costs, you can optionally remove the resource group. Search for resource groups in the search box, select your resource group and click &lt;strong&gt;Delete resource group&lt;/strong&gt;.&lt;/p&gt;




</description>
      <category>azure</category>
      <category>beginners</category>
      <category>iothub</category>
      <category>comment</category>
    </item>
    <item>
      <title>Azure Key Vault</title>
      <dc:creator>Tolu Iyoriobhe</dc:creator>
      <pubDate>Thu, 12 May 2022 22:39:20 +0000</pubDate>
      <link>https://dev.to/toluehi/azure-key-vault-3dkf</link>
      <guid>https://dev.to/toluehi/azure-key-vault-3dkf</guid>
      <description>&lt;p&gt;Azure Key Vault is a cloud service for securing and accessing secrets, keys and certificates. Azure key vault can be use to centralize application secrets, securely store secrets and keys, monitor access and use, simplifies administration of application secrets and integrate with other azure services.&lt;/p&gt;

&lt;p&gt;In this walkthrough, we will create an Azure Key Vault and create a password secret within the key vault.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Create an Azure Key Vault&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sign in to the &lt;a href="https://portal.azure.com/" rel="noopener noreferrer"&gt;Azure portal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;From the search box, type key vaults and select &lt;strong&gt;Key Vaults&lt;/strong&gt; under &lt;strong&gt;Services&lt;/strong&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnf0ffpsmherqnymq1b73.png" alt="Key vaults"&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;+ Create&lt;/strong&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2odig6tasqse65az87tg.png" alt="Create key vaults"&gt;
&lt;/li&gt;
&lt;li&gt;Configure the key vaults with the following and leave the defaults for the remaining. The key vault name must be a globally unique name
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpt4neqjnez0gzxn52beo.png" alt="key vault settings"&gt;
Select &lt;strong&gt;Review + Create&lt;/strong&gt; and select &lt;strong&gt;Create&lt;/strong&gt; once validation has passed
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhig5v9u374ghfk8dg2v4.png" alt="Create a key vault"&gt;
&lt;/li&gt;
&lt;li&gt;Once deployment is completed, select &lt;strong&gt;Go to resource&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Overview&lt;/strong&gt; tab and take note of the &lt;strong&gt;Vault URI&lt;/strong&gt;. Applications that use your vault through the REST APIs will need the URI
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fatfa6guxzq5u2fj1zup1.png" alt="Vault URI"&gt;
Note: Your Azure account is the only one authorized to perform operations on this new vault. You can modify this if you wish in the &lt;strong&gt;Settings&lt;/strong&gt; and then the &lt;strong&gt;Access policies&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;- Add a secret to the Key Vault&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Under &lt;strong&gt;Settings&lt;/strong&gt;, select &lt;strong&gt;Secrets&lt;/strong&gt; and click &lt;strong&gt;+ Generate/Import&lt;/strong&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzzk9wb2ooe5famou4gj.png" alt="Generate secret"&gt;
&lt;/li&gt;
&lt;li&gt;Configure the secret with the following and leave the others at their defaults
&lt;strong&gt;Note:&lt;/strong&gt; You can also set an activation and expiration and also disable the secret
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzhl49fwusod3q5rd8zj7.png" alt="secret settings"&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Create&lt;/strong&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fudeashio5l41l8uxwflf.png" alt="create a secret"&gt;
&lt;/li&gt;
&lt;li&gt;Once the secret has been successfully created, click on the secret name &lt;strong&gt;mytestpassword&lt;/strong&gt; and note that it has a status &lt;strong&gt;Enabled&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;select the secret created and note the &lt;strong&gt;Secret Identifier&lt;/strong&gt;. This is the url value that you can now use with applications. It provides a centrally managed and securely stored password.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ks6y0d6t8beufcv48kb.png" alt="Secret identifier"&gt;
&lt;/li&gt;
&lt;li&gt;Select the &lt;strong&gt;Show Secret Value&lt;/strong&gt; to display the password you specified earlier&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Following this steps, you can try to generate keys and certificate at your own free time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; To avoid additional costs, you can remove the resource groups. Search for resource groups at the search box, select the resource group and click Delete resource group.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>keyvault</category>
      <category>beginners</category>
      <category>secrets</category>
    </item>
    <item>
      <title>Manage resource locks</title>
      <dc:creator>Tolu Iyoriobhe</dc:creator>
      <pubDate>Thu, 12 May 2022 21:24:55 +0000</pubDate>
      <link>https://dev.to/toluehi/manage-resource-locks-hgp</link>
      <guid>https://dev.to/toluehi/manage-resource-locks-hgp</guid>
      <description>&lt;p&gt;As an administrator, you can lock a subscription, resource group, or individual resource to prevent other users in the organisation from accidentally deleting or modifying resources. A lock overrides any permissions the user might have.&lt;/p&gt;

&lt;p&gt;In this walkthrough, we will add a lock to a &lt;strong&gt;resource group&lt;/strong&gt; and test deleting the resource group. A resource group is a container to manage and aggregate resources in a single unit. You group related resources such as virtual machines, storage accounts and virtual networks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Adding a Lock to the resource group and test deletion&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sign in to the the &lt;a href="https://portal.azure.com"&gt;Azure portal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;In the Azure portal, type in resource group in the search bar and select &lt;strong&gt;Resource groups&lt;/strong&gt; under &lt;strong&gt;Services&lt;/strong&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oAjTDV3J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/26yisbbsk944d2zsu32s.png" alt="resource groups" width="844" height="306"&gt; This would list out the names of the resource groups created and available&lt;/li&gt;
&lt;li&gt;Select any of the resource groups available for this task&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Settings&lt;/strong&gt; section, click &lt;strong&gt;Locks&lt;/strong&gt; and then select &lt;strong&gt;+ Add&lt;/strong&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uzuiztXC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eu9e2hqmzl78dlb1khdj.png" alt="resource group with lock" width="880" height="422"&gt;
&lt;/li&gt;
&lt;li&gt;Configure the new lock with the following and select &lt;strong&gt;OK&lt;/strong&gt; when you are done
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SZOtZ5DN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pl0lb0hdvbmteiq6c8vx.png" alt="Lock settings" width="389" height="134"&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p37y5aPX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4o1k27dh76h9iwpsb7wy.png" alt="Lock type" width="455" height="481"&gt;&lt;strong&gt;You would notice the lock has two types, **the Read-only&lt;/strong&gt; and &lt;strong&gt;Delete&lt;/strong&gt;.
&lt;strong&gt;Read only&lt;/strong&gt; means authorised users can read a resource, but they can not delete or update the resource, while the &lt;strong&gt;Delete&lt;/strong&gt; means authorised users can read and modify a resource, but they can not delete the resource.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Overview&lt;/strong&gt; and click &lt;strong&gt;Delete resource group&lt;/strong&gt;. Type the name of the resource group and click &lt;strong&gt;OK&lt;/strong&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--x1AhMcM2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kihqp4ikhdsqn49n31i7.png" alt="Overview" width="880" height="162"&gt;
&lt;/li&gt;
&lt;li&gt;You will receive an error message stating the resource group is locked and can not be deleted
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F4C7v5BV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k4avza65d8ydq6gbzukl.png" alt="Delete RG failed" width="437" height="168"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;- Test deleting a member of the resource group&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We will test if the resource lock protects a storage account in the resource group. Read more about storage account &lt;a href="https://dev.to/toluehi/azure-storage-account-1g5f"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;From the search box, type storage accounts and select &lt;strong&gt;Storage accounts&lt;/strong&gt; under &lt;strong&gt;Services&lt;/strong&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w3Dgkfyl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dfkfk67sih4gd40vods4.png" alt="storage accounts" width="880" height="187"&gt;
&lt;/li&gt;
&lt;li&gt;On the Storage accounts page, click &lt;strong&gt;+Create&lt;/strong&gt; and fill in the following information. The storage account name must be a globally unique name.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X80f_7fp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2uoyy50ets9255b8vvbr.png" alt="create storage account" width="880" height="163"&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jp9nEHoz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/91qcq0ziqzqbm0gzbhzs.png" alt="storage settings" width="469" height="327"&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U3WVtd5U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w3xo2bttglmdhvlyvfd7.png" alt="storage account page" width="803" height="671"&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Review + Create&lt;/strong&gt; to review your storage account settings and allow the configuration to be validated.&lt;/li&gt;
&lt;li&gt;Once validated, click &lt;strong&gt;Create&lt;/strong&gt; and wait for the notification that the storage account was successfully created.&lt;/li&gt;
&lt;li&gt;Access your new storage by selecting &lt;strong&gt;Go to resource&lt;/strong&gt;. From the &lt;strong&gt;Overview&lt;/strong&gt; pane, click &lt;strong&gt;Delete&lt;/strong&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lePjyjVH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bfvt6tdylqzjlk1glvaf.png" alt="Delete lock" width="880" height="125"&gt;
&lt;/li&gt;
&lt;li&gt;You will receive an error message stating the resource or its parent has a delete lock.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Sob5IaKi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i1trn0iyfolplb25q7qy.png" alt="Error message" width="772" height="183"&gt;
&lt;strong&gt;Note:&lt;/strong&gt; We did not create a lock specifically for the storage account but we did create a lock at the resource group level which contains the storage account. As such, the parent level lock prevents us from deleting the resource and the storage accounts inherits the lock from the parent.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;- Remove the resource lock&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Return to the resource group 'myAZLocks' and in the &lt;strong&gt;Settings&lt;/strong&gt; section, select &lt;strong&gt;Locks&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Delete&lt;/strong&gt; of 'Azlock'
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wc2seh0e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vov8wiyzpbvvjyko9ht2.png" alt="settings section" width="880" height="305"&gt;
&lt;/li&gt;
&lt;li&gt;Return to the storage account page and confirm you can now delete the resource&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Congratulations!&lt;/strong&gt; We just added a lock to a resource group and tested deletion, tested deleting a resource in the resource group and removed the resource lock.&lt;/p&gt;




</description>
      <category>locks</category>
      <category>azure</category>
      <category>beginners</category>
      <category>resourcegroups</category>
    </item>
    <item>
      <title>Azure storage account</title>
      <dc:creator>Tolu Iyoriobhe</dc:creator>
      <pubDate>Fri, 06 May 2022 18:47:52 +0000</pubDate>
      <link>https://dev.to/toluehi/azure-storage-account-1g5f</link>
      <guid>https://dev.to/toluehi/azure-storage-account-1g5f</guid>
      <description>&lt;p&gt;Azure storage provides cloud storage that is highly available, secure, durable, and scalable. Azure storage includes Azure Blobs (objects), Azure Data Lake storage Gen2, Azure Files, Azure Queues, and Azure Tables. &lt;/p&gt;

&lt;p&gt;In this post, I will be using a &lt;strong&gt;Blob storage&lt;/strong&gt;. Azure Blob storage is Microsoft's object storage solution for the cloud. Blob storage is designed for serving images or documents directly to a browser, storing files for distributed access, streaming video and audio and storing data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Creating a storage account&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sign in to &lt;a href="https://portal.azure.com"&gt;Azure portal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;All services&lt;/strong&gt; blade, search for and select &lt;strong&gt;Storage accounts&lt;/strong&gt;, and then select &lt;strong&gt;Create&lt;/strong&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ElXqy6J2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fqvugninkspk3oe2tfq0.png" alt="Storage account pane" width="865" height="843"&gt;
&lt;/li&gt;
&lt;li&gt;On the &lt;strong&gt;Basics&lt;/strong&gt; tab of the &lt;strong&gt;Create storage account&lt;/strong&gt; blade, fill in the following information (replace &lt;strong&gt;xxxx&lt;/strong&gt; in the name of the storage account with letters and digits such that the name is globally unique). Leave the defaults for everything else.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6Gt-A6BB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lh68gl6syr3x9nno34lv.png" alt="storage account" width="517" height="326"&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dd82J42z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l3jgthddzopbhlushqsz.png" alt="create a storage account image" width="786" height="682"&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Review + Create&lt;/strong&gt; to review your storage account settings and allow Azure to validate the configuration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once validation passes, select &lt;strong&gt;Create&lt;/strong&gt;. Wait for the notification that the account was successfully created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;From the Home page, search for and select Storage accounts and ensure your new storage account is listed&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4aGUHdRb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ab026hu96435ewwzkdrj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4aGUHdRb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ab026hu96435ewwzkdrj.png" alt="new storage account" width="880" height="234"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;- Working with Blob storage&lt;/strong&gt;&lt;br&gt;
In here, we will be creating a Blob container and also be uploading a blob file&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the name of the new storage account, scroll to the &lt;strong&gt;Data storage&lt;/strong&gt; section in the left menu, and then select &lt;strong&gt;Containers&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jwyW93Dd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a4r9mz8fccgurtmeo1ub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jwyW93Dd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a4r9mz8fccgurtmeo1ub.png" alt="containers pane" width="814" height="748"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;+ Container&lt;/strong&gt; and complete the information. When done click &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--73X7949d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yuchz3xiotqw0axr4dpa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--73X7949d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yuchz3xiotqw0axr4dpa.png" alt="add container" width="880" height="358"&gt;&lt;/a&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bojDEduE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5o9yhw3a0osqow451fch.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bojDEduE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5o9yhw3a0osqow451fch.png" alt="container setting" width="485" height="137"&gt;&lt;/a&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZX4u9xD---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1e3nabm22t8aecaxn37z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZX4u9xD---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1e3nabm22t8aecaxn37z.png" alt="container created" width="880" height="194"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open a new browser window and search for an image of a flower. Right click on the image and save it to your desktop.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Back in the Portal, click on &lt;strong&gt;container1&lt;/strong&gt; , and then select &lt;strong&gt;Upload&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vyNQisyA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hrglmragpwr3wtdv86ht.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vyNQisyA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hrglmragpwr3wtdv86ht.png" alt="upload pane" width="880" height="93"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Browse for the image file you just saved on your desktop. Select it and then select upload.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click the &lt;strong&gt;Advanced&lt;/strong&gt; arrow, leave the default values but review the available options, and then click &lt;strong&gt;Upload&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You can upload as many blobs as you like in this way. New blobs will be listed within the container.&lt;/p&gt;

&lt;p&gt;Once the file is uploaded, right-click on the file and notice the options including View/edit, Download, Properties, and Delete.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YntpRdRz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m2q3zd48k4oeua743kp2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YntpRdRz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m2q3zd48k4oeua743kp2.png" alt="container1" width="880" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Monitor the storage account&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Return to the storage account blade and click &lt;strong&gt;Diagnose and solve problems&lt;/strong&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ogsByza8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n1pi2j9pqmj1sloj7q9j.png" alt="Diagnose" width="779" height="525"&gt;
&lt;/li&gt;
&lt;li&gt;Explore some of the most common storage problems&lt;/li&gt;
&lt;li&gt;On the storage account blade, scroll down to the &lt;strong&gt;Monitoring&lt;/strong&gt; section and click &lt;strong&gt;Insights&lt;/strong&gt;. Notice there is information on Failures, Performance, Availability, and Capacity.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9AcqMglw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3hq3bwkwn4okwdjj3354.png" alt="Insights" width="880" height="611"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Great!&lt;/strong&gt; We just created a storage account, and also worked with storage blobs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; To avoid additional costs, you can optionally remove this resource group. Search for resource groups, click your resource group, and then select &lt;strong&gt;Delete resource group&lt;/strong&gt;. Verify the name of the resource group and then click &lt;strong&gt;Delete&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>storageaccount</category>
      <category>blob</category>
      <category>beginners</category>
    </item>
    <item>
      <title>What's the Azure TCO calculator</title>
      <dc:creator>Tolu Iyoriobhe</dc:creator>
      <pubDate>Fri, 06 May 2022 15:18:28 +0000</pubDate>
      <link>https://dev.to/toluehi/whats-the-azure-tco-calculator-4f0a</link>
      <guid>https://dev.to/toluehi/whats-the-azure-tco-calculator-4f0a</guid>
      <description>&lt;p&gt;&lt;strong&gt;TCO - Total Cost of Ownership&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The TCO calculator helps to estimate the cost savings of operating a system on Azure over time compared to operating in an on-premises datacentre.&lt;br&gt;
The TCO calculator works in 3 steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Defining your workloads&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adjust assumptions, and&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;View report&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's see how we can compare an on-premise sample workload costs versus Azure using the TCO calculator&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Define your workloads&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;In a browser, go to &lt;a href="https://azure.microsoft.com/pricing/tco/calculator"&gt;TCO Calculator&lt;/a&gt; page&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under &lt;strong&gt;Define your workloads&lt;/strong&gt;, select &lt;strong&gt;Add server workload&lt;/strong&gt; to add details of your on-premises server infrastructure&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under &lt;strong&gt;Servers&lt;/strong&gt;, set the value for each listed below&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K9OpeE43--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kqxmgmc10a4xtafacka.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K9OpeE43--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kqxmgmc10a4xtafacka.png" alt="Server 1 details" width="472" height="468"&gt;&lt;/a&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--D8BA30aP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kcewsn3dc96ykw9rnp00.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--D8BA30aP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kcewsn3dc96ykw9rnp00.png" alt="Server 1 image" width="880" height="209"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Add server workload&lt;/strong&gt; to make a row for a new servers workload definition&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HL3bZ_c1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s1sgh2afmwphbimz7h4y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HL3bZ_c1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s1sgh2afmwphbimz7h4y.png" alt="server 2 details" width="477" height="426"&gt;&lt;/a&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nVkNS818--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pij049l4cbqhp3cwdubg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nVkNS818--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pij049l4cbqhp3cwdubg.png" alt="Server 2 image" width="880" height="158"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under &lt;strong&gt;Storage&lt;/strong&gt;, select &lt;strong&gt;Add storage&lt;/strong&gt; and specify the below settings&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yHZjG7Ry--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2k460c2876x42178cfng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yHZjG7Ry--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2k460c2876x42178cfng.png" alt="Storage pane" width="387" height="302"&gt;&lt;/a&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qfJif9ad--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n8lpycl0vc3qbi5v5f89.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qfJif9ad--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n8lpycl0vc3qbi5v5f89.png" alt="Storage pane image" width="880" height="174"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under &lt;strong&gt;Networking&lt;/strong&gt;, set Outbound bandwidth to 15TB&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v8OlWTot--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/idg9b2ejhueis0cwdw4h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v8OlWTot--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/idg9b2ejhueis0cwdw4h.png" alt="Outbound bandwidth" width="735" height="206"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Next&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;- Adjust assumptions&lt;/strong&gt;&lt;br&gt;
Explore the options and make any adjustments that you require to match your on-premises environment but here we would only specify the currency and leave the remaining fields at their default values&lt;br&gt;
At the top of the page, select your currency&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aWEbZqX6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6kwci87cmz2rdbsehdov.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aWEbZqX6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6kwci87cmz2rdbsehdov.png" alt="Euro" width="401" height="108"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Review the report&lt;/strong&gt;&lt;br&gt;
Update the timeframe and region with the settings below&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bdGw0_wK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7jlreaysywf1v8gn7zh8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bdGw0_wK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7jlreaysywf1v8gn7zh8.png" alt="Timeframe" width="395" height="146"&gt;&lt;/a&gt;&lt;br&gt;
To modify any information provided, scroll to the bottom of the page and select &lt;strong&gt;Back&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;As you scroll to the bottom of the page, you will see a comparison of running your workloads in the datacentre versus on Azure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To save or print a PDF copy of the report, select Download.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jLTE14J8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4xcjps17kkx57wxmfvwz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jLTE14J8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4xcjps17kkx57wxmfvwz.png" alt="cost" width="880" height="143"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you need to make adjustments, you can revisit the TCO Calculator to generate a fresh report&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>tcocalculator</category>
      <category>azure</category>
      <category>tco</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to create a VM with PowerShell using Azure</title>
      <dc:creator>Tolu Iyoriobhe</dc:creator>
      <pubDate>Sun, 24 Apr 2022 15:59:15 +0000</pubDate>
      <link>https://dev.to/toluehi/how-to-create-a-vm-with-powershell-using-azure-4d6f</link>
      <guid>https://dev.to/toluehi/how-to-create-a-vm-with-powershell-using-azure-4d6f</guid>
      <description>&lt;p&gt;For everyone who is looking for how to create a Windows Virtual Machine (VM) with PowerShell using Azure. This walkthrough will show how one can create a VM using PowerShell. &lt;/p&gt;

&lt;p&gt;Sign in to the &lt;strong&gt;Azure Portal&lt;/strong&gt;&lt;br&gt;
From the Portal, open the &lt;strong&gt;Azure Cloud Shell&lt;/strong&gt; by clicking on the icon just after the search box&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kaqwvJHT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dr1wv3ojnxoev7lpfhij.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kaqwvJHT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dr1wv3ojnxoev7lpfhij.jpg" alt="Cloud Shell icon" width="880" height="44"&gt;&lt;/a&gt;&lt;br&gt;
When prompted to select either Bash or PowerShell, select &lt;strong&gt;PowerShell&lt;/strong&gt;&lt;br&gt;
On the &lt;strong&gt;You have no storage mounted&lt;/strong&gt; screen, click on show advance settings&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--O6Ib0HYC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uj1r395foj3m7n11k398.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--O6Ib0HYC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uj1r395foj3m7n11k398.PNG" alt="you have no storage mounted" width="880" height="324"&gt;&lt;/a&gt;&lt;br&gt;
Create new for Resource Group, Storage account and File share and proceed to create storage&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xUseMWnO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qwfsr37z00gt9f3qeap1.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xUseMWnO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qwfsr37z00gt9f3qeap1.PNG" alt="create storage" width="880" height="324"&gt;&lt;/a&gt;&lt;br&gt;
Verify your new resource group by running the following command in the POwerShell window. Press Enter on your keyboard to run the command below&lt;br&gt;
&lt;em&gt;Get-AzResourceGroup | Format-Table&lt;/em&gt;&lt;br&gt;
Create a virtual machine by pasting the following command into the terminal window&lt;br&gt;
&lt;em&gt;New-AzVm &lt;code&gt;&lt;br&gt;
 -ResourceGroupName "mytrial"&lt;/code&gt;&lt;br&gt;
 -Name "myVMPS" &lt;code&gt;&lt;br&gt;
 -Location "West Europe"&lt;/code&gt;&lt;br&gt;
 -VirtualNetworkName "myVnetPS" &lt;code&gt;&lt;br&gt;
 -SubnetName "mySubnetPS"&lt;/code&gt;&lt;br&gt;
 -SecurityGroupName "myNSGPS" `&lt;br&gt;
 -PublicIpAddressName "myPublicIpPS"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; - The resource group name should be the one created before as seen in above picture(mytrial) and the location should be one on the cloud shell region (West Europe)&lt;br&gt;
After entering the command, you will be prompted to provide a username (&lt;strong&gt;azureuser&lt;/strong&gt;) and Password (&lt;strong&gt;Pa$$w0rd1234&lt;/strong&gt;). &lt;br&gt;
Also note that the result of the command can come back by indicating the location for the virtual machine you are about to create is not available. &lt;br&gt;
The way to rectify this is to create a new resource group (without closing the PowerShell window) by typing resource group in the search box and select create&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Edb84S8J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aeay5q4vvs6k8x3qbmqq.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Edb84S8J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aeay5q4vvs6k8x3qbmqq.PNG" alt="resource group" width="880" height="124"&gt;&lt;/a&gt;&lt;br&gt;
Create a new resource group and change the region to the one that is available&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MEoVtEXs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cfyfb6qtl20eixie04c3.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MEoVtEXs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cfyfb6qtl20eixie04c3.PNG" alt="create a resource group" width="880" height="483"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Hint:&lt;/strong&gt; you will be able to know what location is available through the virtual machine page. Search for virtual machine in the search box and go straight to region, pick a region and make sure the region as a size available (under size). Once its available, choose it as your new location when creating the new resource group. Make sure you do not create the virtual machine, this is just for you to know what location and size is available.&lt;br&gt;
If there is a new resource group and location, make sure the command above is edited with the new resource group and location.&lt;/p&gt;

&lt;p&gt;Once the VM is created, close the PowerShell session Cloud Shell pane.&lt;br&gt;
In the search box, search for virtual machines and verify that (&lt;strong&gt;myVMPS&lt;/strong&gt; - the virtual machine name) is running.&lt;/p&gt;

&lt;p&gt;Access the new virtual machine and review the &lt;strong&gt;Overview&lt;/strong&gt; and &lt;strong&gt;Networking&lt;/strong&gt; settings to verify your information was successfully deployed.&lt;/p&gt;

</description>
      <category>virtualmachine</category>
      <category>powershell</category>
      <category>azure</category>
    </item>
    <item>
      <title>Creating an Azure Linux virtual machine and connecting to it using SSH</title>
      <dc:creator>Tolu Iyoriobhe</dc:creator>
      <pubDate>Mon, 18 Apr 2022 19:35:31 +0000</pubDate>
      <link>https://dev.to/toluehi/creating-an-azure-linux-virtual-machine-and-connecting-to-it-using-ssh-5bm3</link>
      <guid>https://dev.to/toluehi/creating-an-azure-linux-virtual-machine-and-connecting-to-it-using-ssh-5bm3</guid>
      <description>&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;I would like to walk you through on how you can create an Azure Linux Virtual Machine and connecting to it using SSH.&lt;/p&gt;

&lt;p&gt;A Virtual machine (VM) is a software computer used as emulation of an actual physical computer. It includes virtual processor, memory, storage and networking. VMs are known for their flexibility and portability and provides many benefits, such as: cost savings, agility and speed, lowered downtime, scalability and security benefits.&lt;/p&gt;

&lt;p&gt;For creating Azure VM, you will need to have a valid Azure account. If you do not have one, create using &lt;strong&gt;Azure Portal&lt;/strong&gt; for free.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;From the search box, type in virtual machines. Under Services, select Virtual machines.&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr13j782i7sjosvhtqvn7.PNG" alt="Virtual machine"&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;create&lt;/strong&gt; shown on the upper left side and then Virtual machine. The &lt;strong&gt;Create a Virtual machine&lt;/strong&gt; page opens.&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6ryecv61cp3nypf06mm.PNG" alt="Create Virtual machine"&gt;
&lt;/li&gt;
&lt;li&gt;On the basics tab, fill in the following&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fky17fzjz78gt9or3lerk.PNG" alt="Basics tab"&gt;
See below on how I filled out the details&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6h0b3yxi7w78ysqp0dq.PNG" alt="Instance details"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9i43cqu7p84jnk9x28xu.PNG" alt="Administrators account"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1iupobtm0w7a0hvl8xhs.PNG" alt="Inbound port rules"&gt;
&lt;/li&gt;
&lt;li&gt;Leave the remaining defaults and select the &lt;strong&gt;Review + Create&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click on &lt;strong&gt;create&lt;/strong&gt; once validation is passed.&lt;/li&gt;
&lt;li&gt;Once you click on create, you would be prompted to download private key and create resource. Select and wait for it to download. Make sure you know where the file was downloaded, you will need the path to it in the next step.&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv0eyb5292kynd5wur34q.PNG" alt="key pair"&gt;
&lt;/li&gt;
&lt;li&gt;After downloading, it will immediately submit the deployment template for the resource group.
Once deployment is complete, select Go to resource&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb10bh99ntcico0m687ek.PNG" alt="Deployment complete"&gt;
&lt;strong&gt;Connect to Virtual Machine&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;On the overview page of the Virtual machine, select the Pubic IP address&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faegio1q7k86uex1j6lfr.jpg" alt="Virtual machine"&gt;
&lt;/li&gt;
&lt;li&gt;Change the IP address assignment from dynamic to &lt;strong&gt;static&lt;/strong&gt; and click on save afterwards&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0l7m56yyk5g329ozizru.PNG" alt="IP address"&gt;
&lt;/li&gt;
&lt;li&gt;Connect to the VM using &lt;strong&gt;SSH&lt;/strong&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fro27eqfon90gmge7cgru.PNG" alt="connect to ssh"&gt;
&lt;/li&gt;
&lt;li&gt;Copy out the highlighted command in 4 and paste it in your notepad&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftcusxhhz8jibusgd95sc.PNG" alt="SSH"&gt;
Note the following&lt;/li&gt;
&lt;li&gt;Go to your notepad where you pasted the command highlighted in yellow above&lt;/li&gt;
&lt;li&gt;Also, go to your downloads on your PC and right click the key PEM file download and select properties&lt;/li&gt;
&lt;li&gt;Copy out the key and the location name separately to the note pad opened earlier&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F756lfkmcqmrezipbz4xk.PNG" alt="command to connect to VM"&gt;
&lt;/li&gt;
&lt;li&gt;Merge the key and location name into one with a backlash&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcdd8exzk5sveaap609rf.PNG" alt="key and location name"&gt;
&lt;/li&gt;
&lt;li&gt;Copy the above to the &lt;strong&gt;&lt;/strong&gt; on the command pasted before&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz52yb3gnlm59gphr9af3.PNG" alt="SSH key pair"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open Windows PowerShell and copy and paste the SSH keypair above. &lt;/p&gt;

&lt;p&gt;To run a command as administrator 'root user', type sudo su. To confirm it is an Ubuntu type of Linux, run the command apt update.&lt;/p&gt;

&lt;p&gt;Let me know if this was helpful. I love feedback😊&lt;/p&gt;

</description>
      <category>virtualmachine</category>
      <category>ssh</category>
      <category>azure</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Azure Architectural Components</title>
      <dc:creator>Tolu Iyoriobhe</dc:creator>
      <pubDate>Sun, 10 Apr 2022 12:37:33 +0000</pubDate>
      <link>https://dev.to/toluehi/azure-architectural-components-38kk</link>
      <guid>https://dev.to/toluehi/azure-architectural-components-38kk</guid>
      <description>&lt;p&gt;The Core Azure architectural components for cloud computing includes Azure regions, region pairs, availability zones, resources, resource groups, Azure resource manager, subscriptions and management groups.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Regions&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WDC2a5Hj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/urbvcj3w4d31h3178ik5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WDC2a5Hj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/urbvcj3w4d31h3178ik5.png" alt="Azure Regions" width="653" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;. They are made up of one or more datacentres in close proximity&lt;br&gt;
. There are over 60 regions available to choose &lt;br&gt;
. Azure offers the best possible high availability performance and security&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Region Pairs&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hjFUiYcU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/170eesrlt9y1py6tjcn5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hjFUiYcU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/170eesrlt9y1py6tjcn5.png" alt="Region pairs" width="232" height="261"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;. It consists of two regions within the same geographic&lt;br&gt;
. Each Azure region within a pair is physically located at least 300 miles apart&lt;br&gt;
. Continuous updates are performed to minimise downtime&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Availability Zones&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YATMvche--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s0grx5nvtfbd0q79ve0d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YATMvche--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s0grx5nvtfbd0q79ve0d.png" alt="Availability zones" width="242" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;. Availability zones are physically separate locations within each Azure regions&lt;br&gt;
. Each zones is equipped with its own power, cooling systems and networking&lt;br&gt;
. Data is being shared in 3 different availability zones&lt;br&gt;
. Provides protection against downtime due to datacentre failures&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;. Includes component such as virtual machines, storage accounts, virtual networks, application services, functions, etc&lt;br&gt;
. They are available to build cloud solutions&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resource Group&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RJAXlUU6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h7elnixq6bqic97edgsx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RJAXlUU6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h7elnixq6bqic97edgsx.png" alt="Azure resource manager overview" width="282" height="179"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;. Is a container that manage resources in a single unit&lt;br&gt;
. Resources can exist in only one resource group&lt;br&gt;
. Multiple resource group can be utilized&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Azure Resource Manager&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;. Is the deployment and management service for Azure&lt;br&gt;
. Provides a management layer that enables one to create, update and delete resources&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subscriptions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;. Provides authorized access to Azure accounts&lt;br&gt;
. Separate billing reports and invoices are generated for each subscription&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Management groups&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TY4TpZOu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yx8nocz68zbd23xvsroa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TY4TpZOu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yx8nocz68zbd23xvsroa.png" alt="Azure management groups" width="441" height="226"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;. Manage your subscriptions&lt;br&gt;
. Management groups can include multiple azure subscriptions&lt;br&gt;
.10,000 management groups can be supported in a single directory&lt;/p&gt;

</description>
      <category>azure</category>
    </item>
  </channel>
</rss>
