<?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: Ahmed Emmanuel Oluwaseyi</title>
    <description>The latest articles on DEV Community by Ahmed Emmanuel Oluwaseyi (@sheyitex).</description>
    <link>https://dev.to/sheyitex</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%2F2572901%2Fdf876d29-d6dd-41c4-9c48-83c5cdf8e052.png</url>
      <title>DEV Community: Ahmed Emmanuel Oluwaseyi</title>
      <link>https://dev.to/sheyitex</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sheyitex"/>
    <language>en</language>
    <item>
      <title>Exercise 03: Create and configure Azure Firewall</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Tue, 29 Apr 2025 21:29:04 +0000</pubDate>
      <link>https://dev.to/sheyitex/exercise-03-create-and-configure-azure-firewall-3on9</link>
      <guid>https://dev.to/sheyitex/exercise-03-create-and-configure-azure-firewall-3on9</guid>
      <description>&lt;p&gt;Scenario&lt;/p&gt;

&lt;p&gt;Your organization requires centralized network security for the application virtual network. As the application usage increases, more granular application-level filtering and advanced threat protection will be needed. Also, it is expected the application will need continuous updates from Azure DevOps pipelines. You identify these requirements.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Azure Firewall is required for additional security in the app-vnet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A &lt;strong&gt;firewall policy&lt;/strong&gt; should be configured to help manage access to the application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A firewall policy &lt;strong&gt;application rule&lt;/strong&gt; is required. This rule will allow the application access to Azure DevOps so the application code can be updated.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A firewall policy &lt;strong&gt;network rule&lt;/strong&gt; is required. This rule will allow DNS resolution.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Skilling tasks&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create an Azure Firewall.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create and configure a firewall policy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create an application rule collection.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a network rule collection.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Create Azure Firewall subnet in our existing virtual network&lt;/p&gt;

&lt;p&gt;In the search box at the top of the portal, enter &lt;strong&gt;Virtual networks&lt;/strong&gt;. Select &lt;strong&gt;Virtual networks&lt;/strong&gt; in the search results.&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;app-vnet&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;Subnets&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;+ Subnet&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Enter the following information and select &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Name=   AzureFirewallSubnet&lt;br&gt;
Address range=  10.1.63.0/26&lt;br&gt;
&lt;a href="https://media2.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%2Fgoxjkv0xwy7mdds5mi94.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fgoxjkv0xwy7mdds5mi94.png" alt="firewall" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create an Azure Firewall&lt;/p&gt;

&lt;p&gt;In the search box at the top of the portal, enter &lt;strong&gt;Firewall&lt;/strong&gt;. Select &lt;strong&gt;Firewall&lt;/strong&gt; in the search results.&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;+ Create&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Create a firewall by using the values in the following table. For any property that is not specified, use the default value.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fi8sokv0jshqvaab5xges.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fi8sokv0jshqvaab5xges.png" alt="firewall" width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
Note: Azure Firewall can take a few minutes to deploy.&lt;/p&gt;

&lt;p&gt;Update the Firewall Policy&lt;br&gt;
In the portal, search for and select &lt;strong&gt;Firewall Policies&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;fw-policy&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Add an &lt;strong&gt;application rule&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Settings&lt;/strong&gt; blade, select &lt;strong&gt;Application rules&lt;/strong&gt; and then Add a &lt;strong&gt;rule collection&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fd6gxrhg8c31zkkvvgi7r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fd6gxrhg8c31zkkvvgi7r.png" alt="Application rules" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Configure the application rule collection and then select &lt;strong&gt;Add&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Name=   app-vnet-fw-rule-collection&lt;br&gt;
Rule collection type=   Application&lt;br&gt;
Priority=   200&lt;br&gt;
Rule collection action= Allow&lt;br&gt;
Rule collection group=  DefaultApplicationRuleCollectionGroup&lt;br&gt;
Name=   AllowAzurePipelines&lt;br&gt;
Source type=    IP address&lt;br&gt;
Source= 10.1.0.0/23&lt;br&gt;
Protocol=   https&lt;br&gt;
Destination type=   FQDN&lt;br&gt;
Destination=    dev.azure.com, azure.microsoft.com&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fixfcnpz3xy3qp8usnipe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fixfcnpz3xy3qp8usnipe.png" alt="app Rules" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note: The &lt;a href=""&gt;AllowAzurePipelines rule&lt;/a&gt; allows the web application to access Azure Pipelines. The rule allows the web application to access the Azure DevOps service and the Azure website.&lt;/p&gt;

&lt;p&gt;Add a network rule&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Settings&lt;/strong&gt; blade, select &lt;strong&gt;Network rules&lt;/strong&gt; and then Add a &lt;strong&gt;network collection&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Configure the network rule and then select &lt;strong&gt;Add&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Name=   app-vnet-fw-nrc-dns&lt;br&gt;
Rule collection type=   Network&lt;br&gt;
Priority=   200&lt;br&gt;
Rule collection action= Allow&lt;br&gt;
Rule collection group=  DefaultNetworkRuleCollectionGroup&lt;br&gt;
Rule=   AllowDns&lt;br&gt;
Source= 10.1.0.0/23&lt;br&gt;
Protocol=   UDP&lt;br&gt;
Destination ports=  53&lt;br&gt;
Destination addresses=  1.1.1.1, 1.0.0.1&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Ffgqbe28kul073d2gnumd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Ffgqbe28kul073d2gnumd.png" alt="Network rules" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Verify the &lt;strong&gt;firewall&lt;/strong&gt; and &lt;strong&gt;firewall policy&lt;/strong&gt; status&lt;br&gt;
In the portal search for and select &lt;strong&gt;Firewall&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;View the &lt;strong&gt;app-vnet-firewall&lt;/strong&gt; and ensure the Provisioning state is Succeeded. This may take a few minutes.&lt;/p&gt;

&lt;p&gt;In the portal serach for and select &lt;strong&gt;Firewall policies&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;View the &lt;strong&gt;fw-policy&lt;/strong&gt; and ensure the Provisioning state is &lt;strong&gt;Succeeded&lt;/strong&gt;. This may take a few minutes.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>security</category>
      <category>cloud</category>
      <category>azure</category>
    </item>
    <item>
      <title>02: Create and configure network security groups</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Tue, 29 Apr 2025 20:51:45 +0000</pubDate>
      <link>https://dev.to/sheyitex/02-create-and-configure-network-security-groups-5g2d</link>
      <guid>https://dev.to/sheyitex/02-create-and-configure-network-security-groups-5g2d</guid>
      <description>&lt;p&gt;Create the network infrastructure for the exercise&lt;/p&gt;

&lt;p&gt;Note: This exercise requires the &lt;strong&gt;Lab 01 virtual networks and subnets&lt;/strong&gt; to be installed. A template is provided if you need to deploy those resources.&lt;/p&gt;

&lt;p&gt;Scenario&lt;/p&gt;

&lt;p&gt;Your organization requires the network traffic in the app-vnet to be tightly controlled. You identify these requirements.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The frontend subnet has web servers that can be accessed from the internet. An &lt;strong&gt;application security group&lt;/strong&gt; (ASG) is required for those servers. The ASG should be associated with any virtual machine interface that is part of the group. This will allow the web servers to be easily managed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The backend subnet has database servers used by the frontend web servers. A &lt;strong&gt;network security group&lt;/strong&gt; (NSG) is required to control this traffic. The NSG should be associated with any virtual machine interface that will be accessed by the web servers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For testing, a virtual machine should be installed in the frontend subnet (VM1) and the backend subnet (VM2). The IT group has provided an Azure resource manager template to deploy these &lt;strong&gt;Ubuntu servers&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Skilling tasks&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create a network security group.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create network security group rules.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Associate a network security group to a subnet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create and use application security groups in network security group rules.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
Firstly; we need to create and deploy 2 &lt;strong&gt;virtual machines&lt;/strong&gt; to complete this task
&lt;img src="https://media2.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%2Fp039y0qobwdbdpqt1fhl.png" alt="virtual machine" width="800" height="378"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In the portal search for and select &lt;strong&gt;virtual machines&lt;/strong&gt;. Verify both vm1 and vm2 are Running.&lt;/p&gt;

&lt;p&gt;Next;&lt;/p&gt;

&lt;p&gt;Create Application Security Group&lt;/p&gt;

&lt;p&gt;&lt;a href=""&gt;Application security groups&lt;/a&gt; (ASGs) let you group together servers with similar functions. For example, all the web servers hosting your application.&lt;/p&gt;

&lt;p&gt;1, In the &lt;strong&gt;portal&lt;/strong&gt;, search for and select &lt;strong&gt;Application security groups&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fcjp2rctey03sqatzdgjr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fcjp2rctey03sqatzdgjr.png" alt="ASG" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2, Select &lt;strong&gt;+ Create&lt;/strong&gt; and configure the application security group.&lt;br&gt;
&lt;a href="https://media2.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%2Fvv2ts46p2mn184ex7gx4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fvv2ts46p2mn184ex7gx4.png" alt="Image" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3, Select &lt;strong&gt;Review + create&lt;/strong&gt; and then select &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Frio1vrmwxfhieg7o080s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Frio1vrmwxfhieg7o080s.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Associate the application security group to the network interface of the VM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the Azure portal, search for and select &lt;strong&gt;VM1&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Networking blade&lt;/strong&gt;, select &lt;strong&gt;Application security groups&lt;/strong&gt; and then select &lt;strong&gt;Add application security groups&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Select the &lt;strong&gt;app-frontend-asg&lt;/strong&gt; and then select &lt;strong&gt;Add&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Foh9i78s8qab4u9ia7joy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Foh9i78s8qab4u9ia7joy.png" alt="asg" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fz2iyblolkps7pmj5d2qv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fz2iyblolkps7pmj5d2qv.png" alt="select" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create and Associate the Network Security Group&lt;/p&gt;

&lt;p&gt;&lt;a href=""&gt;Network security groups&lt;/a&gt; (NSGs) secure network traffic in a virtual network.&lt;/p&gt;

&lt;p&gt;In the portal search for and select &lt;strong&gt;Network security group&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;+ Create&lt;/strong&gt; and configure the network security group.&lt;br&gt;
&lt;a href="https://media2.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%2F1i1io5f8r9saa8acfi4t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F1i1io5f8r9saa8acfi4t.png" alt="Network sg" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;Review + create&lt;/strong&gt; and then select &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fk37xz5b0qg40b67wufu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fk37xz5b0qg40b67wufu7.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Associate the NSG with the app-vnet backend subnet.&lt;/p&gt;

&lt;p&gt;NSGs can be associated with subnets and/or individual network interfaces attached to Azure virtual machines.&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;Go to resource&lt;/strong&gt; or navigate to the &lt;strong&gt;app-vnet-nsg resource&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Settings&lt;/strong&gt; blade select &lt;strong&gt;Subnets&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;+ Associate&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;app-vnet (RG1)&lt;/strong&gt; and then the &lt;strong&gt;Backend subnet&lt;/strong&gt;. Select &lt;strong&gt;OK&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fanml4lhtioii71lsb0sq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fanml4lhtioii71lsb0sq.png" alt="subnet" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create Network Security Group rules&lt;/p&gt;

&lt;p&gt;An NSG use security rules to filter &lt;strong&gt;inbound and outbound network traffic&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In the search box at the top of the portal, enter &lt;strong&gt;Network security groups&lt;/strong&gt;. Select &lt;strong&gt;Network security groups&lt;/strong&gt; in the search results.&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;app-vnet-nsg&lt;/strong&gt; from the list of network security groups.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Settings&lt;/strong&gt; blade, select &lt;strong&gt;Inbound security rules&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;+ Add&lt;/strong&gt; and &lt;strong&gt;configure an inbound security rule&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2F6nikp6i8evfm8rltkvba.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F6nikp6i8evfm8rltkvba.png" alt="Rules" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>security</category>
      <category>cloud</category>
      <category>azure</category>
    </item>
    <item>
      <title>Exercise 01: Create and configure virtual networks</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Tue, 29 Apr 2025 20:00:17 +0000</pubDate>
      <link>https://dev.to/sheyitex/exercise-01-create-and-configure-virtual-networks-18h3</link>
      <guid>https://dev.to/sheyitex/exercise-01-create-and-configure-virtual-networks-18h3</guid>
      <description>&lt;p&gt;Skilling tasks&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create a virtual network.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a subnet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configure vnet peering.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To complete this lab you will need an &lt;a href="//www.azureportal.com"&gt;Azure subscription&lt;/a&gt; with Contributor RBAC role assigned. In this lab, when you are asked to create a resource, for any properties that are not specified, use the default value.&lt;/p&gt;

&lt;p&gt;Create hub and spoke virtual networks and subnets&lt;/p&gt;

&lt;p&gt;An &lt;a href="https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview" rel="noopener noreferrer"&gt;Azure virtual network&lt;/a&gt; enables many types of Azure resources to securely communicate with each other, the internet, and on-premises networks. All Azure resources in a virtual network are deployed into &lt;a href=""&gt;subnets&lt;/a&gt; within the virtual network.&lt;/p&gt;

&lt;p&gt;1, Sign in to the &lt;strong&gt;Azure portal&lt;/strong&gt; - &lt;a href="https://portal.azure.com" rel="noopener noreferrer"&gt;https://portal.azure.com&lt;/a&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fdxwcvg46ujnraybc522w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fdxwcvg46ujnraybc522w.png" alt="Azure portal" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 2, Search for and select &lt;strong&gt;Virtual Networks&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F21yheu4ye0o57pz6zbg9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F21yheu4ye0o57pz6zbg9.png" alt="search" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 3, Select &lt;strong&gt;+ Create&lt;/strong&gt; and complete the configuration of the &lt;strong&gt;app-vnet&lt;/strong&gt;. &lt;br&gt;
This virtual network requires two subnets, &lt;strong&gt;frontend&lt;/strong&gt; and &lt;strong&gt;backend&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Frdqec814s1p1j6jyr8uc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Frdqec814s1p1j6jyr8uc.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 4, Leave all other settings as their defaults. When finished select “&lt;strong&gt;Review + create&lt;/strong&gt; and then &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2F5zawq5hxsq3xsov3rq0i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F5zawq5hxsq3xsov3rq0i.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fwr0d0jrhoc77cjerb8rm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fwr0d0jrhoc77cjerb8rm.png" alt="deployment" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 5, Create the &lt;strong&gt;Hub-vnet virtual network configuration&lt;/strong&gt;. This virtual network has the firewall subnet.&lt;br&gt;
&lt;a href="https://media2.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%2Fp00yukxvhmj591o1vi8t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fp00yukxvhmj591o1vi8t.png" alt="Hub-vnet" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F6cb804rl6wkotojrs2ml.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F6cb804rl6wkotojrs2ml.png" alt="subnet" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 6, Once the deployments are complete, search for and select your ‘&lt;strong&gt;virtual networks&lt;/strong&gt;`.Verify your &lt;strong&gt;virtual networks&lt;/strong&gt; and &lt;strong&gt;subnets&lt;/strong&gt; were deployed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fmkxhhs4i6z5uqwdfqauy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fmkxhhs4i6z5uqwdfqauy.png" alt="vnet" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Configure a peer relationship between the virtual networks&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=""&gt;Virtual network peering&lt;/a&gt; enables you to seamlessly connect two or more Virtual Networks in Azure&lt;br&gt;
 1.Search for and select the &lt;strong&gt;app-vnet&lt;/strong&gt; virtual network.&lt;br&gt;
 2.In the &lt;strong&gt;Settings&lt;/strong&gt; blade, select &lt;strong&gt;Peerings&lt;/strong&gt;.&lt;br&gt;
 3.&lt;strong&gt;+ Add&lt;/strong&gt; a peering between the two virtual networks.&lt;br&gt;
Leave all other settings as their &lt;strong&gt;defaults&lt;/strong&gt;. Select “&lt;strong&gt;Add&lt;/strong&gt;” to create the virtual network peering.&lt;br&gt;
Once the &lt;strong&gt;deployment&lt;/strong&gt; completes, verify the Peering status is Connected.&lt;br&gt;
&lt;a href="https://media2.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%2Fcf9iveb9qri7t78uwn8h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fcf9iveb9qri7t78uwn8h.png" alt="connected" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>security</category>
      <category>azure</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Creating Web and Console Applications with C#</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Thu, 27 Mar 2025 21:04:27 +0000</pubDate>
      <link>https://dev.to/sheyitex/creating-web-and-console-applications-with-c-13df</link>
      <guid>https://dev.to/sheyitex/creating-web-and-console-applications-with-c-13df</guid>
      <description>&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt; is a versatile programming language that allows developers to build different types of applications. &lt;br&gt;
&lt;strong&gt;Two&lt;/strong&gt; of the most common types of applications are  &lt;strong&gt;Console Applications and  Web Applications&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this lesson, we will explore these two application types, their use cases, and how to create them using &lt;strong&gt;.NET&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;To start developing &lt;strong&gt;C# applications&lt;/strong&gt;, you need the following tools:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools Required&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;1, &lt;strong&gt;Visual Studio or Visual Studio Code&lt;/strong&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Visual Studio is a full-featured IDE tailored for .NET development.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Visual Studio Code is a lightweight editor with extensions for &lt;strong&gt;C# and .NET development&lt;/strong&gt;.&lt;br&gt;
2, &lt;strong&gt;.NET SDK&lt;/strong&gt; :&lt;br&gt;
The .NET Software Development Kit (SDK) includes everything you need to build and run C# applications.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Steps to Set Up&lt;/strong&gt;:&lt;br&gt;
 1, Download and install the latest version of &lt;a href=""&gt;.NET SDK&lt;/a&gt; .&lt;br&gt;
 2, Install &lt;a href=""&gt;Visual Studio&lt;/a&gt; or &lt;a href=""&gt;Visual Studio Code&lt;/a&gt; .&lt;br&gt;
 3, For Visual Studio Code, install &lt;strong&gt;the C# extension&lt;/strong&gt; from the Extensions Marketplace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding Console Applications&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What is a &lt;strong&gt;Console Application&lt;/strong&gt;?&lt;br&gt;
 A 🖥️ console application is a simple application that runs in a terminal or command-line interface (CLI). It does not have a graphical user interface (GUI) and is primarily used for executing background tasks, automation, and simple programs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📌 Use Cases&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;⚙️ Scripting and automation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📊 Data processing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🧪 Testing algorithms and logic&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔧 Command-line utilities&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🛠️ &lt;strong&gt;Creating Web and Console Applications with C#&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Follow this &lt;strong&gt;steps&lt;/strong&gt; below;&lt;br&gt;
Open the &lt;strong&gt;vs code app&lt;/strong&gt;, locate the file folder at the top of the app&lt;br&gt;
&lt;a href="https://media2.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%2Fvj55w1j408ahtun27we1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fvj55w1j408ahtun27we1.png" alt="vs code" width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
Select &lt;strong&gt;Open folder&lt;/strong&gt; - create new folder, name the folder and open the folder&lt;br&gt;
&lt;a href="https://media2.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%2Fggjfqj2z9zy1jjwizqu1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fggjfqj2z9zy1jjwizqu1.png" alt="folder" width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
Select view and select terminal &lt;br&gt;
&lt;a href="https://media2.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%2Fwchxur2xmos4ejrn7m35.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fwchxur2xmos4ejrn7m35.png" alt="Terminal" width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
On the Open terminal, we need to input some command prompts;&lt;br&gt;
Run the following command;= &lt;strong&gt;dotnet new web -n MyWebApp -o MyWebApp&lt;/strong&gt; press Enter&lt;br&gt;
&lt;a href="https://media2.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%2Feizwkfhxbmdx9dbc5pob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Feizwkfhxbmdx9dbc5pob.png" alt="web app" width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
This command creates a new folder MyWebApp and generates the required files for an ASP.NET Core web application.&lt;br&gt;
Navigate to the project directory: input=&lt;strong&gt;cd MyWebApp&lt;/strong&gt; press Enter&lt;br&gt;
Now we need to Run the application: input= &lt;strong&gt;dotnet run&lt;/strong&gt; and press Enter&lt;br&gt;
&lt;a href="https://media2.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%2Fr4igayku4o8rvion9f0a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fr4igayku4o8rvion9f0a.png" alt="run" width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
The application starts and listening on a specified port. Open a web browser copy the http:// ports displayed in the terminal, and input it on a web browser and search&lt;br&gt;
&lt;a href="https://media2.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%2Fx0n0q7r0u9nsx5ydqtu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fx0n0q7r0u9nsx5ydqtu7.png" alt="browser" width="800" height="535"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fgnsmmlqxms3kgndrgma5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fgnsmmlqxms3kgndrgma5.png" alt="Result" width="800" height="535"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Creating an Azure Kubernetes Service(AKS)Cluster in Azure Portal</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Tue, 18 Mar 2025 11:54:17 +0000</pubDate>
      <link>https://dev.to/sheyitex/creating-an-azure-kubernetes-serviceakscluster-in-azure-portal-3i8g</link>
      <guid>https://dev.to/sheyitex/creating-an-azure-kubernetes-serviceakscluster-in-azure-portal-3i8g</guid>
      <description>&lt;p&gt;&lt;strong&gt;Azure Kubernetes Service&lt;/strong&gt; (AKS) is Microsoft’s managed Kubernetes offering that simplifies deploying, managing, and scaling containerized applications in the cloud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Points&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Managed Kubernetes&lt;/strong&gt;:&lt;br&gt;
Microsoft manages the Kubernetes control plane (master nodes), which reduces your operational overhead. You focus on deploying and managing your application workloads.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integrated with Azure Ecosystem&lt;/strong&gt;:&lt;br&gt;
AKS seamlessly integrates with other Azure services (like Azure Monitor, Azure Active Directory, and Azure DevOps), making it easier to implement monitoring, security, and CI/CD pipelines.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scalability and Reliability&lt;/strong&gt;:&lt;br&gt;
With features like auto-scaling, self-healing, and load balancing, AKS provides the necessary tools to handle variable workloads and ensure high availability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Simplified Operations&lt;/strong&gt;:&lt;br&gt;
The service automates tasks such as upgrades, patching, and scaling, which streamlines cluster management.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use Cases&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Microservices Architecture&lt;/strong&gt;:
Ideal for running distributed microservices-based applications where each service runs in its own container.
&lt;strong&gt;Dev/Test Environments&lt;/strong&gt;:
Quickly spin up clusters for testing and development with minimal administrative overhead.
&lt;strong&gt;Production Workloads&lt;/strong&gt;:
Leverage enterprise-grade features (security, monitoring, scaling) for running critical applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In this lesson, we will delve into the process of creating an Azure Kubernetes Service (AKS) cluster in the Azure Portal. AKS is a managed Kubernetes service provided by Microsoft Azure that simplifies the deployment, management, and scaling of containerized applications using Kubernetes. To create an AKS cluster, follow these steps:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;1, Log in to the Azure Portal using your credentials.&lt;/p&gt;

&lt;p&gt;2, Navigate to the &lt;strong&gt;Create a resource&lt;/strong&gt; option.. &lt;br&gt;
&lt;a href="https://media2.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%2Fja16dwwbvbw146g2tw3m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fja16dwwbvbw146g2tw3m.png" alt="Create" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 3, Search for &lt;strong&gt;Kubernetes Service&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Flxe18advk7npx2mcsjq3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Flxe18advk7npx2mcsjq3.png" alt="Search" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 4, Click on &lt;strong&gt;Kubernetes Service&lt;/strong&gt; and then select &lt;strong&gt;Create&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fzoi04c0d7lw94swjnahu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fzoi04c0d7lw94swjnahu.png" alt="Create" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 5, Fill in the required information such as &lt;strong&gt;subscription, resource group, AKS cluster name, region, and Kubernetes version&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2F8cfd9hqwx7ksvrsmkjcj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F8cfd9hqwx7ksvrsmkjcj.png" alt="Configuration" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 6, Configure additional settings like &lt;strong&gt;node size, node count, and authentication method&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F3og13hcosrulcwl36awt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F3og13hcosrulcwl36awt.png" alt="configuration" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 7, Review the settings and click on &lt;strong&gt;Review + create&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F9088caau9w59owqrdutc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F9088caau9w59owqrdutc.png" alt="review" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 8, Once &lt;strong&gt;validation&lt;/strong&gt; is successful, click on &lt;strong&gt;Create&lt;/strong&gt; to provision the AKS cluster.&lt;br&gt;
&lt;a href="https://media2.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%2Frcwxygh7igv4i86mpkyt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Frcwxygh7igv4i86mpkyt.png" alt="validation" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 9, Monitor the &lt;strong&gt;deployment progress&lt;/strong&gt; in the Azure Portal.&lt;br&gt;
&lt;a href="https://media2.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%2Ffwz6htpij29wk21vq77j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Ffwz6htpij29wk21vq77j.png" alt="Deployment" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;After the AKS cluster is successfully created, you can interact with it using kubectl commands or through the Azure Portal interface. This lesson provides a foundational understanding of how to create an AKS cluster in the Azure Portal, which is essential for deploying and managing containerized applications in a Kubernetes environment&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Further Learning&lt;/strong&gt;:&lt;br&gt;
For more in-depth details, you can refer to the &lt;a href=""&gt;official Azure Kubernetes Service documentation&lt;/a&gt; which covers setup, configuration, best practices, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In summary&lt;/strong&gt;, &lt;strong&gt;AKS&lt;/strong&gt; provides a robust platform for container orchestration on Azure by handling much of the underlying complexity of Kubernetes management, allowing you to focus on building and running your applications.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>devops</category>
      <category>learning</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Virtual Machine Scale Set</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Tue, 18 Mar 2025 07:10:16 +0000</pubDate>
      <link>https://dev.to/sheyitex/virtual-machine-scale-set-42je</link>
      <guid>https://dev.to/sheyitex/virtual-machine-scale-set-42je</guid>
      <description>&lt;p&gt;A &lt;strong&gt;virtual machine scale set (VMSS)&lt;/strong&gt; consists of a group of identical virtual machines that are load-balanced, enabling automatic scaling of workloads. This set can be set up to flexibly change the number of virtual machines based on defined conditions. Furthermore, we can manually adjust it to efficiently allocate computing resources for workload management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Steps to create a VMSS&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Sign in to the &lt;strong&gt;Azure portal&lt;/strong&gt;.&lt;br&gt;
Click “&lt;strong&gt;Create a resource&lt;/strong&gt;” on the top left corner of the portal.&lt;br&gt;
&lt;a href="https://media2.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%2Fy1e0d4p64wt5gkix0qe5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fy1e0d4p64wt5gkix0qe5.png" alt="resource" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Search for “&lt;strong&gt;Virtual Machine Scale Set&lt;/strong&gt;” in the search bar.&lt;br&gt;
Click on the “&lt;strong&gt;Virtual Machine Scale Set&lt;/strong&gt;” result. Click the “&lt;strong&gt;Create&lt;/strong&gt;” button&lt;br&gt;
&lt;a href="https://media2.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%2Fg2dvtutdn2z41owq8beo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fg2dvtutdn2z41owq8beo.png" alt="vmss" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the &lt;strong&gt;Basic Tab&lt;/strong&gt;, The first section is that of Project details  select the “&lt;strong&gt;subscription&lt;/strong&gt;”, “&lt;strong&gt;resource group&lt;/strong&gt;”. Take a look at the &lt;strong&gt;Scale set details section&lt;/strong&gt;. The next section is the Orchestration that allows us to select the “&lt;strong&gt;orchestration  mode&lt;/strong&gt;“ and also “&lt;strong&gt;security&lt;/strong&gt;”. The next section is &lt;strong&gt;instance details&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fjogv0xh46g6zsgbicryv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fjogv0xh46g6zsgbicryv.png" alt="details" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fom85ve1eaz6yaem9pwnd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fom85ve1eaz6yaem9pwnd.png" alt="details" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;Administrator account&lt;/strong&gt; section, select your “&lt;strong&gt;authentication type&lt;/strong&gt;.”&lt;br&gt;
For the purpose of the exercise, we will select “&lt;strong&gt;Password&lt;/strong&gt;” instead of SSH public key and this means you will need to create a username and a password. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check the “&lt;strong&gt;Licensing&lt;/strong&gt;” option.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the Blue “&lt;strong&gt;Review + Create&lt;/strong&gt;” Button.&lt;br&gt;
&lt;a href="https://media2.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%2F4kcnf8lyhqdc1j6nuleb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F4kcnf8lyhqdc1j6nuleb.png" alt="Details info" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Create&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F467qegtmmu0pt1yrdgqx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F467qegtmmu0pt1yrdgqx.png" alt="validation" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wait for the &lt;strong&gt;deployment to be completed&lt;/strong&gt;. Deployment will take some time to be completed typically between 3-5 minutes.&lt;br&gt;
&lt;a href="https://media2.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%2F8b41bkg8wb4dz0htu1kz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F8b41bkg8wb4dz0htu1kz.png" alt="Deployment" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the “&lt;strong&gt;go to resource&lt;/strong&gt;” button to access the newly created Azure VMSS.&lt;br&gt;
&lt;a href="https://media2.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%2F67im40x6c61la39pohxl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F67im40x6c61la39pohxl.png" alt="resource" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check the &lt;strong&gt;status&lt;/strong&gt; of the VMSS.&lt;br&gt;
This is supposed to show succeeded.&lt;br&gt;
&lt;a href="https://media2.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%2Fknymvzl21t49vvfwtvo1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fknymvzl21t49vvfwtvo1.png" alt="status" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Thank you&lt;/p&gt;

</description>
      <category>devops</category>
      <category>aws</category>
      <category>learning</category>
      <category>cloud</category>
    </item>
    <item>
      <title>AZURE LOAD BALANCER</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Fri, 07 Mar 2025 21:06:17 +0000</pubDate>
      <link>https://dev.to/sheyitex/azure-load-balancer-223p</link>
      <guid>https://dev.to/sheyitex/azure-load-balancer-223p</guid>
      <description>&lt;p&gt;&lt;strong&gt;Azure Load Balancer&lt;/strong&gt; is a fully managed network service in Azure that distributes incoming and outgoing traffic among healthy instances of your applications, ensuring high availability and scalability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Traffic Distribution&lt;/strong&gt;: It balances network traffic at the transport layer (Layer 4), supporting both TCP and UDP protocols.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Types&lt;/strong&gt;:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Public Load Balancer&lt;/em&gt;&lt;/strong&gt;: Routes external Internet traffic to your backend resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Internal Load Balancer&lt;/em&gt;&lt;/strong&gt;: Distributes traffic within an Azure virtual network, ideal for private applications.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Health Probes&lt;/strong&gt;: Regularly checks the health of your backend VMs or services, ensuring that only healthy endpoints receive traffic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scalability &amp;amp; Performance&lt;/strong&gt;: Designed to handle high throughput with low latency, and can scale to meet changing traffic demands.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integration&lt;/strong&gt;: Works seamlessly with Azure Virtual Networks, Availability Sets, and Availability Zones to deliver high resilience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Configuration Flexibility&lt;/strong&gt;: Allows custom load balancing rules, NAT configurations, and session persistence options to match application needs.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To Create Azure Load Balancer&lt;/p&gt;

&lt;p&gt;Login into your Azure portal, on the &lt;strong&gt;search bar&lt;/strong&gt;, input &lt;strong&gt;load balancer&lt;/strong&gt; then select&lt;br&gt;
&lt;a href="https://media2.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%2F2ifu85e38p5g3hvkcits.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F2ifu85e38p5g3hvkcits.png" alt="search" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
On the &lt;strong&gt;overview&lt;/strong&gt; page scroll to load balancer and select &lt;strong&gt;create&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fzdmeam2uncafopjo8vcl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fzdmeam2uncafopjo8vcl.png" alt="Load balancer" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
Select all that applies and click &lt;strong&gt;Next&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fjudurh2y03jmc5kv25av.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fjudurh2y03jmc5kv25av.png" alt="Resource" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
on the next page select &lt;strong&gt;+add Frontend IP configuration&lt;/strong&gt;input your configuration details and &lt;strong&gt;save&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fd0qzqqd8i6ktgily5f97.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fd0qzqqd8i6ktgily5f97.png" alt="configuration" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
select &lt;strong&gt;review + create&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fjn77tf3naf2kl11ulurz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fjn77tf3naf2kl11ulurz.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Overall, Azure Load Balancer is essential for designing robust and resilient cloud architectures by effectively managing traffic, optimizing resource utilization, and ensuring a seamless experience for end users.&lt;/p&gt;

&lt;p&gt;Thank you&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Create an Azure Compute Gallery and capture the image of the Virtual Machine</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Tue, 04 Mar 2025 07:23:24 +0000</pubDate>
      <link>https://dev.to/sheyitex/how-to-create-an-azure-compute-gallery-and-capture-the-image-of-the-virtual-machine-d6j</link>
      <guid>https://dev.to/sheyitex/how-to-create-an-azure-compute-gallery-and-capture-the-image-of-the-virtual-machine-d6j</guid>
      <description>&lt;p&gt;⁠Create an Azure Compute Gallery and capture the image of the VM in step one, &lt;br&gt;
make sure that state of the VM is specialized, if you choose to generalize it explain why;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Azure Compute Gallery&lt;/strong&gt; (formerly known as Shared Image Gallery) is a service in Azure designed to simplify the management, distribution, and versioning of custom VM images. It provides a centralized and scalable repository where you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Manage Custom Images&lt;/strong&gt;: Store and organize your VM images along with their metadata.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Version Control&lt;/strong&gt;: Maintain multiple versions of an image, making it easier to update and roll back if needed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Regional Replication&lt;/strong&gt;: Replicate images across multiple Azure regions to ensure high availability and reduce deployment latency.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Streamlined Sharing&lt;/strong&gt;: Securely share images across subscriptions and even across different Azure Active Directory tenants.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scalable Deployments&lt;/strong&gt;: Support large-scale deployments and integration with virtual machine scale sets, ensuring consistent and reliable environments.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This service is particularly useful for organizations that need to deploy standardized images across diverse environments, ensuring consistency, compliance, and efficient management of virtual machine images.&lt;/p&gt;

&lt;p&gt;To start; we have to launch the azure search bar and input &lt;strong&gt;azure compute gallery&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fg608ey1rop1nc5pmi2te.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fg608ey1rop1nc5pmi2te.png" alt="azure compute" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
click on &lt;strong&gt;+create&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F7rnzau4cz7xbmas20ny7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F7rnzau4cz7xbmas20ny7.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
select your &lt;strong&gt;resource group, give gallery a name and select a region&lt;/strong&gt;, then &lt;strong&gt;review + create&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fo78pkfqnwxg6fjdfd8nl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fo78pkfqnwxg6fjdfd8nl.png" alt="review and create" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F52gc72bp9et59og4pztz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F52gc72bp9et59og4pztz.png" alt="create" width="800" height="385"&gt;&lt;/a&gt;&lt;br&gt;
click on &lt;strong&gt;Go to resource&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fnnbrb27dfvh56z97im1i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fnnbrb27dfvh56z97im1i.png" alt="go to resource" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fnbq3briw14fk2s7wlc31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fnbq3briw14fk2s7wlc31.png" alt="gallery" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we go back to our previously created &lt;strong&gt;virtual machine&lt;/strong&gt; and select &lt;strong&gt;capture&lt;/strong&gt; tab on the drop down select the &lt;strong&gt;image&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F192do2pgilv5k8iw7xld.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F192do2pgilv5k8iw7xld.png" alt="vm" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F9qgkmegkcmhv7f6elgn2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F9qgkmegkcmhv7f6elgn2.png" alt="Image" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
When saving an image it is either; &lt;strong&gt;Generalized&lt;/strong&gt; or &lt;strong&gt;Specialized&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Generalized&lt;/strong&gt;: VMs created from this image require hostname, admin user, and other VM related setup to be completed on first boot&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Specialized&lt;/strong&gt;: VMs created from this image are completely configured and do not require parameters such as hostname and admin user/password&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For this task i will choose &lt;strong&gt;specialized&lt;/strong&gt;; because i want it to be easily accessible.&lt;br&gt;&lt;br&gt;
I will choose all that applies, then proceed to &lt;strong&gt;Review + create&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fg7z0j2v6ia1659eva7ky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fg7z0j2v6ia1659eva7ky.png" alt="Image setup" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;; before an image will be created it will automatically stop a running &lt;strong&gt;virtual machine&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Flh53me068l5xc2vozsuc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Flh53me068l5xc2vozsuc.png" alt="Image creating" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Downloading&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media2.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%2Fixqhmwzsonb0n0h052ie.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fixqhmwzsonb0n0h052ie.png" alt="creating" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give it a while to complete the &lt;strong&gt;creation process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2F283t576wxfbnq4vq6e4f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F283t576wxfbnq4vq6e4f.png" alt="capture" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can use a Captured image to create &lt;strong&gt;Two&lt;/strong&gt; things which are; &lt;strong&gt;virtual machine&lt;/strong&gt; and &lt;strong&gt;virtual machine skill set&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F850acs2u75it5tb6hd9w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F850acs2u75it5tb6hd9w.png" alt="Image" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you&lt;/p&gt;

</description>
      <category>devops</category>
      <category>discuss</category>
      <category>cloud</category>
      <category>azure</category>
    </item>
    <item>
      <title>How To Add A Data Disk To A Virtual Machine</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Tue, 04 Mar 2025 05:13:21 +0000</pubDate>
      <link>https://dev.to/sheyitex/how-to-add-a-data-disk-to-a-virtual-machine-2359</link>
      <guid>https://dev.to/sheyitex/how-to-add-a-data-disk-to-a-virtual-machine-2359</guid>
      <description>&lt;p&gt;A data disk in Azure is a virtualized storage device that you attach to an Azure virtual machine (VM) to store application data, files, databases, or other persistent data. Unlike the OS disk—which holds the operating system—a data disk is used solely for data storage and can be managed independently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Points&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Persistence&lt;/strong&gt;: Data disks provide persistent storage that remains available even if the VM is stopped or restarted.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scalability&lt;/strong&gt;: You can attach multiple data disks to a VM to meet your storage requirements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance Options&lt;/strong&gt;: Data disks come in various types (such as Standard HDD, Standard SSD, and Premium SSD) that offer different performance levels to match your workload needs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flexibility&lt;/strong&gt;: They can be detached and reattached to other VMs if needed, making it easier to manage data and scale resources.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This separation of storage helps optimize performance and reliability by isolating the operating system from the data storage workload.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We have to create a &lt;strong&gt;virtual machine&lt;/strong&gt; first on Azure portal, learn more about how to create a virtual machine in my previous videos &lt;a href=""&gt;https://dev.to/sheyitex/creating-a-windows-vitual-machine-in-azure-48m1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2F19se4wicdrzn7jqvisud.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F19se4wicdrzn7jqvisud.png" alt="virtual machine" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the VM creation page we will select &lt;strong&gt;Disk tab&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media2.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%2F72aztr7k3xz356cmstkz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F72aztr7k3xz356cmstkz.png" alt="disk" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
By default, windows already selected a disk for us&lt;br&gt;
&lt;a href="https://media2.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%2F250n9srscaginojm3mbk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F250n9srscaginojm3mbk.png" alt="windows disk" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
We can start our &lt;strong&gt;disk&lt;/strong&gt; creation below, but i will want to run through the &lt;strong&gt;VM&lt;/strong&gt; first, before I will add a &lt;strong&gt;new disk&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fqxkeh9bm82vlaqkzo6wy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fqxkeh9bm82vlaqkzo6wy.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
select the &lt;strong&gt;monitoring&lt;/strong&gt; tab and disable &lt;strong&gt;diagnostic&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fh312of9pyal7abd1lgos.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fh312of9pyal7abd1lgos.png" alt="monitoring" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
come to &lt;strong&gt;Tags&lt;/strong&gt; tab and select &lt;strong&gt;add tags&lt;/strong&gt;, give it a name then &lt;strong&gt;review and create&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F1gc41xmd8895d94mk741.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F1gc41xmd8895d94mk741.png" alt="Tags" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
We will &lt;strong&gt;go to resource&lt;/strong&gt; on the &lt;strong&gt;VM&lt;/strong&gt;  we create, go to the &lt;strong&gt;settings&lt;/strong&gt; tab an select &lt;strong&gt;disk&lt;/strong&gt;, once we select disk we will see that there are no values in the &lt;strong&gt;data disk section&lt;/strong&gt;, its empty...&lt;br&gt;
we will click on the &lt;strong&gt;+ create and attach a new disk&lt;/strong&gt; tab&lt;br&gt;
&lt;a href="https://media2.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%2F28949k7dvpgjbtaw449f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F28949k7dvpgjbtaw449f.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
give the disk a &lt;strong&gt;name&lt;/strong&gt;, select &lt;strong&gt;storage type&lt;/strong&gt; and &lt;strong&gt;size&lt;/strong&gt; then proceed to &lt;strong&gt;apply&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fqsh7izbcefsiuu10g0j5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fqsh7izbcefsiuu10g0j5.png" alt="disk" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Far01u66x8hh9ne7glspl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Far01u66x8hh9ne7glspl.png" alt="creating disk" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
we have our data disk created, but we cannot access it, to gain access to the disk we will close this lab at the top right corner X, and we will have to connect to back to the virtual machine,&lt;br&gt;
&lt;a href="https://media2.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%2Fk2ef2df9kqbcxzpl2i0w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fk2ef2df9kqbcxzpl2i0w.png" alt="close page" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
connect to the &lt;strong&gt;virtual machine&lt;/strong&gt;, stretch the idle time to the maximum so it will not log you out when you are working on the VM and select &lt;strong&gt;Save&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F50bm1tc3qghpyg7cdthz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F50bm1tc3qghpyg7cdthz.png" alt="vm" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Foiqawrfk2j6f9pkkbhuq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Foiqawrfk2j6f9pkkbhuq.png" alt="edit" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
Now we will click on connect&lt;br&gt;
&lt;a href="https://media2.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%2Fjsut4ujqkbehl8wqcgj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fjsut4ujqkbehl8wqcgj7.png" alt="connect" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
select &lt;strong&gt;native rdp&lt;/strong&gt;, wait for it to &lt;strong&gt;configure&lt;/strong&gt; and click on &lt;strong&gt;download&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F7h2syppm2vxbcbw2z6fv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F7h2syppm2vxbcbw2z6fv.png" alt="native RDP" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fqzoa5jx1s1b10ejjrpr8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fqzoa5jx1s1b10ejjrpr8.png" alt="Download and open" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
put in your credentials and proceed;&lt;br&gt;
&lt;a href="https://media2.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%2Fa7eikpynio65msehr4d4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fa7eikpynio65msehr4d4.png" alt="Image description" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F9vivosdxqmykovdmc03d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F9vivosdxqmykovdmc03d.png" alt="vm" width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
on the window bar type in &lt;strong&gt;Data disk management&lt;/strong&gt; this will pop up with the description below&lt;br&gt;
&lt;a href="https://media2.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%2Frjm1ac2rzssmmm2meljf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Frjm1ac2rzssmmm2meljf.png" alt="management" width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
Select &lt;strong&gt;OK88&lt;br&gt;
&lt;a href="https://media2.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%2Fx66hlh0tfos6k9taf3ig.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fx66hlh0tfos6k9taf3ig.png" alt="Image description" width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
The new disk is still **unallocated&lt;/strong&gt; because we are yet to &lt;strong&gt;format&lt;/strong&gt; the &lt;strong&gt;disk&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fkcboe5f3ef2bi9s0cp1i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fkcboe5f3ef2bi9s0cp1i.png" alt="unallocated disk" width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
click &lt;strong&gt;next&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fz69jalevkgjwkndy1kam.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fz69jalevkgjwkndy1kam.png" alt="next" width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
The data disk is now ready for use&lt;br&gt;
&lt;a href="https://media2.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%2Fiof6ye3be2ddjfewniaa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fiof6ye3be2ddjfewniaa.png" alt="data disk" width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you for reading through..&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cloud</category>
      <category>azure</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How To Create System-Assigned App managed identities.</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Fri, 28 Feb 2025 21:36:37 +0000</pubDate>
      <link>https://dev.to/sheyitex/how-to-create-system-assigned-app-managed-identities-5h1a</link>
      <guid>https://dev.to/sheyitex/how-to-create-system-assigned-app-managed-identities-5h1a</guid>
      <description>&lt;p&gt;Skilling tasks&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create the storage account and managed identity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Secure access to the storage account with a key vault and key.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configure the storage account to use the customer managed key in the key vault&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configure a time-based retention policy and an encryption scope.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;STEPS&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create the storage account and managed identity
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;1, &lt;strong&gt;Provide a storage account for the web app&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the portal, search for and select &lt;strong&gt;Storage accounts&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fp4wfvxspp3q39hxvv65m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fp4wfvxspp3q39hxvv65m.png" alt="storage account" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;+ Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Ffw7p3l5r2hzmgyhtmfwp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Ffw7p3l5r2hzmgyhtmfwp.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For &lt;strong&gt;Resource group&lt;/strong&gt; select &lt;strong&gt;Create new&lt;/strong&gt;. Give your &lt;strong&gt;resource group&lt;/strong&gt; a name and select &lt;strong&gt;OK&lt;/strong&gt; to save your changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Provide a &lt;strong&gt;Storage account name&lt;/strong&gt;. Ensure the name is unique and meets the naming requirements.&lt;br&gt;
&lt;a href="https://media2.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%2Fcrpozfswcdv2fwl7q1uh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fcrpozfswcdv2fwl7q1uh.png" alt="resource" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Move to the &lt;strong&gt;Encryption tab&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check the box for &lt;strong&gt;Enable infrastructure encryption&lt;/strong&gt;.&lt;br&gt;
&lt;code&gt;Notice the warning&lt;/code&gt;, This option cannot be changed after this &lt;strong&gt;storage account&lt;/strong&gt; is created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Review + Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fifmj3xo4g38sl9cq1ux7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fifmj3xo4g38sl9cq1ux7.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wait for the &lt;strong&gt;resource to deploy&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2, &lt;strong&gt;Provide a managed identity for the web app to use. &lt;a href=""&gt;Learn more about managed identities&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Search for and select &lt;strong&gt;Managed identities&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fm8uwy7cey5ni6azmp85a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fm8uwy7cey5ni6azmp85a.png" alt="managed identity" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fbj9s1snifgimi4q2yuix.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fbj9s1snifgimi4q2yuix.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select your &lt;strong&gt;resource group&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give your &lt;strong&gt;managed identity&lt;/strong&gt; a name.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Review and create&lt;/strong&gt;, and then &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fn6c4fmza1q16ienk55pp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fn6c4fmza1q16ienk55pp.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3, &lt;strong&gt;Assign the correct permissions to the managed identity. The identity only needs to read and list containers and blobs. Learn more about &lt;a href=""&gt;how to assign Azure roles&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Search for and select your &lt;strong&gt;storage account&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the &lt;strong&gt;Access Control (IAM)&lt;/strong&gt; blade.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Add role assignment&lt;/strong&gt; (center of the page).&lt;br&gt;
&lt;a href="https://media2.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%2Fw5ll3px0ey8b0vvpodfj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fw5ll3px0ey8b0vvpodfj.png" alt="Role" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the &lt;strong&gt;Job functions roles page&lt;/strong&gt;, search for and select the &lt;strong&gt;Storage Blob Data Reader role&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fphquzer8uv182cwhm2j8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fphquzer8uv182cwhm2j8.png" alt="Role" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the &lt;strong&gt;Members page&lt;/strong&gt;, select &lt;strong&gt;Managed identity&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Select members&lt;/strong&gt;, in the &lt;strong&gt;Managed identity&lt;/strong&gt; drop-down select &lt;strong&gt;User-assigned managed identity&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the &lt;strong&gt;managed identity&lt;/strong&gt; you created in the previous step.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Select&lt;/strong&gt; and then &lt;strong&gt;Review + assign the role&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fpxoi45r68ciit69j7o2m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fpxoi45r68ciit69j7o2m.png" alt="members" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Review + assign&lt;/strong&gt; a second time to add the &lt;strong&gt;role assignment&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Your storage account can now be accessed by a managed identity with the Storage Data Blob Reader permissions.&lt;br&gt;
&lt;a href="https://media2.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%2Fp1id4dv6pvij9nchyg9c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fp1id4dv6pvij9nchyg9c.png" alt="identity" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Secure access to the storage account with a key vault and key
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;To create the key vault and key needed for this part of the lab, your user account must have Key Vault Administrator permissions. Learn more about &lt;a href=""&gt;how to provide access to Key Vault keys, certificates, and secrets with an Azure role-based access control&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the portal, search for and select &lt;strong&gt;Resource groups&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select your &lt;strong&gt;resource group&lt;/strong&gt;, and then the &lt;strong&gt;Access Control (IAM)&lt;/strong&gt; blade.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Add role assignment&lt;/strong&gt; (center of the page).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the &lt;strong&gt;Job functions roles page&lt;/strong&gt;, search for and select the &lt;strong&gt;Key Vault Administrator role&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the &lt;strong&gt;Members page&lt;/strong&gt;, select &lt;strong&gt;User, group, or service principal&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Select members&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Search for and select your user account. Your user account is shown in the top right of the portal.&lt;br&gt;
&lt;a href="https://media2.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%2Fza29kl6k68id098u242p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fza29kl6k68id098u242p.png" alt="members" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Select&lt;/strong&gt; and then &lt;strong&gt;Review + assign&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fa7v42snw3p83j3yqvk2q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fa7v42snw3p83j3yqvk2q.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Review + assign&lt;/strong&gt; a second time to &lt;strong&gt;add the role assignment&lt;/strong&gt;.&lt;br&gt;
You are now ready to continue with the lab.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Create a key vault to store the access keys.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the portal, search for and select &lt;strong&gt;Key vaults&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2F9jya6makd6xwkj68957x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F9jya6makd6xwkj68957x.png" alt="key vault" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select your &lt;strong&gt;resource group&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Provide the &lt;strong&gt;name&lt;/strong&gt; for the &lt;strong&gt;key vault&lt;/strong&gt;. The name must be unique.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensure on the &lt;strong&gt;Access configuration&lt;/strong&gt; tab that &lt;strong&gt;Azure role-based access control (recommended)&lt;/strong&gt; is selected.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Review + create&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wait for the validation checks to complete and then select &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fd7hf1vo7hgfkwgm359mu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fd7hf1vo7hgfkwgm359mu.png" alt="validation" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After the deployment, select &lt;strong&gt;Go to resource&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fq7l4yfv1n6ty0a79044u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fq7l4yfv1n6ty0a79044u.png" alt="resouce" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the &lt;strong&gt;Overview&lt;/strong&gt; blade ensure both &lt;strong&gt;Soft-delete&lt;/strong&gt; and &lt;strong&gt;Purge protection&lt;/strong&gt; are enabled.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Create a customer-managed key in the key vault.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In your &lt;strong&gt;key vault&lt;/strong&gt;, in the &lt;strong&gt;Objects section&lt;/strong&gt;, select the &lt;strong&gt;Keys&lt;/strong&gt; blade.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Generate/Import&lt;/strong&gt; and &lt;strong&gt;Name&lt;/strong&gt; the key.&lt;br&gt;
&lt;a href="https://media2.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%2F226pzqixem6hjildit6o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F226pzqixem6hjildit6o.png" alt="name" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Take the defaults for the rest of the parameters, and &lt;strong&gt;Create the key&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fvph520lbn96nuxvyzfw5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fvph520lbn96nuxvyzfw5.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Configure the storage account to use the customer managed key in the key vault
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Before you can complete the next steps, you must assign the Key Vault Crypto Service Encryption User role to the managed identity. Learn more about &lt;a href=""&gt;how to use a system-assigned managed identity to authorize access&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the portal, search for and select Resource groups.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select your &lt;strong&gt;resource group&lt;/strong&gt;, and then the &lt;strong&gt;Access Control (IAM)&lt;/strong&gt; blade.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Add role assignment&lt;/strong&gt; (center of the page).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the &lt;strong&gt;Job functions roles&lt;/strong&gt; page, search for and select the &lt;strong&gt;Key Vault Crypto Service Encryption User role&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2Fcq0o4mxut88o4vn28k1l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fcq0o4mxut88o4vn28k1l.png" alt="Encryption" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the Members page, select &lt;strong&gt;Managed identity&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Select members&lt;/strong&gt;, in the &lt;strong&gt;Managed identity&lt;/strong&gt; drop-down select &lt;strong&gt;User-assigned managed identity&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select your &lt;strong&gt;managed identity&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Select&lt;/strong&gt; and then &lt;strong&gt;Review + assign&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Review + assign&lt;/strong&gt; a second time to add the &lt;strong&gt;role assignment&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2F9cl2llbu6jqit2rsozjw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F9cl2llbu6jqit2rsozjw.png" alt="create" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Configure the storage account to use the customer managed key in your key vault. Learn more about &lt;a href=""&gt;customer managed keys on an existing storage account&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Return to your the &lt;strong&gt;storage account&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;Security + networking&lt;/strong&gt; section, select the &lt;strong&gt;Encryption&lt;/strong&gt; blade.&lt;br&gt;
&lt;a href="https://media2.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%2Fp76jobx1q81i678yzsqr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fp76jobx1q81i678yzsqr.png" alt="Encryption" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Customer-managed keys&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select a &lt;strong&gt;key vault and key&lt;/strong&gt;. Select your &lt;strong&gt;key vault and key&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select to confirm your choices.&lt;br&gt;
&lt;a href="https://media2.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%2Fa4xcstvqnle42q9xtw8f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fa4xcstvqnle42q9xtw8f.png" alt="key" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensure the &lt;strong&gt;Identity type&lt;/strong&gt; is &lt;strong&gt;User-assigned&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select an &lt;strong&gt;identity&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select your &lt;strong&gt;managed identity&lt;/strong&gt; then select &lt;strong&gt;Add&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.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%2F5hp0zjxgm1wtty7ys7he.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F5hp0zjxgm1wtty7ys7he.png" alt="identity" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Save your changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you receive an error that your identity does not have the correct permissions, wait a minute and try again.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Configure a time-based retention policy and an encryption scope.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;The developers require a storage container where files can’t be modified, even by the administrator. Learn more about &lt;a href=""&gt;blob immutable storage&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Navigate to your &lt;strong&gt;storage account&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;Data storage&lt;/strong&gt; section, select the &lt;strong&gt;Containers&lt;/strong&gt; blade.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a &lt;strong&gt;container&lt;/strong&gt; called &lt;strong&gt;hold&lt;/strong&gt;. Take the defaults. Be sure to Create the container.&lt;br&gt;
&lt;a href="https://media2.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%2Fqa15ydwdh8z2251bez01.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fqa15ydwdh8z2251bez01.png" alt="container" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Upload a file to the container.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;Settings&lt;/strong&gt; section, select the &lt;strong&gt;Access policy&lt;/strong&gt; blade.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;Immutable blob storage&lt;/strong&gt; section, select &lt;strong&gt;+ Add policy&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For the Policy type, select &lt;strong&gt;time-based retention&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set the Retention period to &lt;strong&gt;5 days&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Be sure to Save your changes.&lt;br&gt;
&lt;a href="https://media2.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%2Fs6do3dr4xrp27922qdqq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fs6do3dr4xrp27922qdqq.png" alt="Hold" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Try to delete the file in the container.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Verify you are notified failed to delete blobs due to policy.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2.The developers require an encryption scope that enables infrastructure encryption. Learn more about &lt;a href=""&gt;infrastructure encryption&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Navigate back to your &lt;strong&gt;storage account&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;Security + networking&lt;/strong&gt; blade, select &lt;strong&gt;Encryption&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the Encryption scopes tab, select &lt;strong&gt;Add&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give your encryption scope a &lt;strong&gt;name&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Encryption type is &lt;strong&gt;Microsoft-managed key&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set Infrastructure encryption to &lt;strong&gt;Enable&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create the encryption scope.&lt;br&gt;
&lt;a href="https://media2.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%2Fgr5afw600y9nvkeaj76v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fgr5afw600y9nvkeaj76v.png" alt="Create" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Return to your &lt;strong&gt;storage account&lt;/strong&gt; and create a &lt;strong&gt;new container&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Notice on the New container page, there is the &lt;strong&gt;Name and Public access level&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Notice in the Advanced section you can select the &lt;strong&gt;Encryption scope&lt;/strong&gt; you created and apply it to all &lt;strong&gt;blobs in the container&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key takeaways&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Azure has built-in RBAC roles for Azure storage. These roles include: Storage Account Contributor, Storage Blob Data Owner, and File Data SMB Share Contributor.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can use your own encryption key to protect the data in your storage account. When you specify a customer-managed key, that key is used to protect and control access to the key that encrypts your data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Immutable storage ensures data can’t be modified or deleted for a user-specified interval. There are two types of immutable policies: time-based and legal hold.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Infrastructure encryption can be enabled for the entire storage account, or for an encryption scope within an account. Infrastructure encryption is recommended for scenarios where doubly encrypting data is necessary for compliance requirements.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you for reading, I am open for further conversations, please leave a question, suggestions in the comments&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cloud</category>
      <category>azure</category>
      <category>startup</category>
    </item>
    <item>
      <title>HOW TO CREATE AN APP SERVICE AND DEPLOYMENT WITH AZURE</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Sun, 23 Feb 2025 22:56:31 +0000</pubDate>
      <link>https://dev.to/sheyitex/how-to-create-an-app-service-application-with-azure-gfo</link>
      <guid>https://dev.to/sheyitex/how-to-create-an-app-service-application-with-azure-gfo</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;App Service Web Apps lets you quickly build, deploy, and scale enterprise-grade web, mobile, and API apps running on any platform. Meet rigorous performance, scalability, security and compliance requirements while using a fully managed platform to perform infrastructure maintenance. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;I will run you through the Steps to create a web app service on Azure portal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1, Launch the Azure portal and search for and select &lt;strong&gt;App services&lt;/strong&gt; from the search bar.&lt;br&gt;
&lt;a href="https://media2.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%2F5as0xqmwmxzslr7qoxo0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F5as0xqmwmxzslr7qoxo0.png" alt="App service" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 2, Click on &lt;strong&gt;+Create&lt;/strong&gt; Tab select &lt;strong&gt;Web app&lt;/strong&gt; you might need to wait for some seconds for it to open&lt;br&gt;
&lt;a href="https://media2.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%2Fw095lsjur0fmw6n15pol.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fw095lsjur0fmw6n15pol.png" alt="Web app" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 3, To Create a Web App service you will need 3 vital things which are; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A Resource group&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Empty web app &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A plan&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Give your Resource group a name and select all that applies.&lt;br&gt;
&lt;a href="https://media2.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%2F6xt1h1sm09xypew3fvlz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F6xt1h1sm09xypew3fvlz.png" alt="Resource group" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fayoxnjxu3slitls4csg9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fayoxnjxu3slitls4csg9.png" alt="Plan" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 4, Review and Create&lt;br&gt;
&lt;a href="https://media2.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%2F0p5w4kd6smd6kwd5v5re.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F0p5w4kd6smd6kwd5v5re.png" alt="Create" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 5, Create on the next tab and let it validate&lt;br&gt;
&lt;a href="https://media2.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%2Fgo636ymnvkqf30g5i8qc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fgo636ymnvkqf30g5i8qc.png" alt="validation" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
 6, Click on Go to Resource&lt;br&gt;
&lt;a href="https://media2.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%2Fk6db63wktp6altbjy93i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fk6db63wktp6altbjy93i.png" alt="Resource" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we have our Web app created and it comes with a default domain&lt;br&gt;
&lt;a href="https://media2.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%2Fhwl181nn840diwx935uy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fhwl181nn840diwx935uy.png" alt="Domain" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
we can click on the default domain, it will show us an empty web app that needs to be uploaded with content&lt;br&gt;
&lt;a href="https://media2.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%2Fjsigxlsmnk5kzlpn9xy1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fjsigxlsmnk5kzlpn9xy1.png" alt="Image" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To upload content into the app we will need to type and select advance tools in the search bar area and click on the Go to, this will take us to another page&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fek41j1bcxwh15j5ktp44.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fek41j1bcxwh15j5ktp44.png" alt="advance tools" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;on the Kudu+ app click on the Debug tab and select &lt;strong&gt;CMD&lt;/strong&gt; select &lt;strong&gt;site&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fx0mihbr2vejgbefxv6qt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fx0mihbr2vejgbefxv6qt.png" alt="CMD" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2F63t2v3egpgglcpevebtb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F63t2v3egpgglcpevebtb.png" alt="site" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select Root folder&lt;br&gt;
&lt;a href="https://media2.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%2Fg0jnq4ds0nj6eg7x0ilw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fg0jnq4ds0nj6eg7x0ilw.png" alt="Root folder" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the pencil icon&lt;br&gt;
&lt;a href="https://media2.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%2Fwsczajuc2yutuluwvc11.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fwsczajuc2yutuluwvc11.png" alt="pencil" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Remove every code on the tab and input your own java script code&lt;br&gt;
&lt;a href="https://media2.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%2Fq3u50raulnniclbf0j9b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fq3u50raulnniclbf0j9b.png" alt="code" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To get a java script code, I will launch ChatGPT and generate code for a business journal, you can generate codes for anything&lt;br&gt;
&lt;a href="https://media2.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%2Fdt8bmnr74cqateuls8mk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fdt8bmnr74cqateuls8mk.png" alt="Code" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy and paste the codes into the &lt;strong&gt;Kudu+&lt;/strong&gt; then &lt;strong&gt;save&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Feshg501yu1ko7cvzmyvu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Feshg501yu1ko7cvzmyvu.png" alt="kudu+" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I will go back to my App service and click on the default domain to launch my app&lt;br&gt;
&lt;a href="https://media2.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%2Fjcmpr59zf49ijyvcp1jl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fjcmpr59zf49ijyvcp1jl.png" alt="Domain" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now I have app up and running&lt;br&gt;
&lt;a href="https://media2.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%2Fq0e1734cdlt67bemcasq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fq0e1734cdlt67bemcasq.png" alt="App" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fhiw7d1d13zw1cs8lm4cz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fhiw7d1d13zw1cs8lm4cz.png" alt="Image" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you for reading &lt;/p&gt;

</description>
      <category>devops</category>
      <category>java</category>
      <category>cloud</category>
      <category>azure</category>
    </item>
    <item>
      <title>Provide and configuring private storage for internal company documents</title>
      <dc:creator>Ahmed Emmanuel Oluwaseyi</dc:creator>
      <pubDate>Fri, 21 Feb 2025 05:07:49 +0000</pubDate>
      <link>https://dev.to/sheyitex/provide-and-configuring-private-storage-for-internal-company-documents-2bo8</link>
      <guid>https://dev.to/sheyitex/provide-and-configuring-private-storage-for-internal-company-documents-2bo8</guid>
      <description>&lt;p&gt;*&lt;strong&gt;&lt;em&gt;The company needs storage for their offices and departments. This content is private to the company and shouldn’t be shared without consent. This storage requires high availability if there’s a regional outage. The company wants to use this storage to back up the public website&lt;/em&gt;&lt;/strong&gt;*&lt;/p&gt;

&lt;p&gt;Create a storage account and configure high availability.&lt;/p&gt;

&lt;p&gt;In the storage account, in the Data management section, select the Redundancy blade.&lt;br&gt;
Ensure Geo-redundant storage (GRS) is selected.&lt;br&gt;
Refresh the page.&lt;br&gt;
Review the primary and secondary location information.&lt;br&gt;
Save your changes.&lt;br&gt;
&lt;a href="https://media2.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%2Fyoiqx6lg4kwy6gl502tr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fyoiqx6lg4kwy6gl502tr.png" alt="image" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a storage container, upload a file, and restrict access to the file.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create a private storage container for the corporate data.&lt;br&gt;
In the storage account, in the Data storage section, select the Containers blade.&lt;br&gt;
Select + Container.&lt;br&gt;
Ensure the Name of the container is private.&lt;br&gt;
Ensure the Public access level is Private (no anonymous access).&lt;br&gt;
As you have time, review the Advanced settings, but take the defaults.&lt;br&gt;
Select Create.&lt;br&gt;
&lt;a href="https://media2.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%2Fkobynz56wxupmqtmn4yt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fkobynz56wxupmqtmn4yt.png" alt="container" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For testing, upload a file to the private container. he type of file doesn’t matter. A small image or text file is a good choice. Test to ensure the file isn’t publicly accessible.&lt;br&gt;
Select the container.&lt;br&gt;
Select Upload.&lt;br&gt;
Browse to files and select a file.&lt;br&gt;
Upload the file.&lt;br&gt;
Select the uploaded file.&lt;br&gt;
On the Overview tab, copy the URL.&lt;br&gt;
Paste the URL into a new browser tab.&lt;br&gt;
Verify the file doesn’t display and you receive an error.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fjno0arl48g9y9c71i5qa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fjno0arl48g9y9c71i5qa.png" alt="Image upload" width="800" height="378"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;An external partner requires read and write access to the file for at least the next 24 hours. Configure and test a shared access signature (SAS). Learn more about Shared Access Signatures.&lt;br&gt;
``Select your uploaded blob file and move to the Generate SAS tab.&lt;br&gt;
In the Permissions drop-down, ensure the partner has only Read permissions.&lt;br&gt;
Verify the Start and expiry date/time is for the next 24 hours.&lt;br&gt;
Select Generate SAS token and URL.&lt;br&gt;
Copy the Blob SAS URL to a new browser tab.&lt;br&gt;
Verify you can access the file. If you have uploaded an image file it will display in the browser. Other file types will be downloaded.&lt;br&gt;
&lt;a href="https://media2.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%2Fjxt9w9icl55t40c4tadf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fjxt9w9icl55t40c4tadf.png" alt="generate sas" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configure storage access tiers and content replication.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To save on costs, after 30 days, move blobs from the hot tier to the cool tier. Learn more how manage the Azure Blob storage lifecycle.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Return to the storage account.&lt;br&gt;
In the Overview section, notice the Default access tier is set to Hot.&lt;br&gt;
In the Data management section, select the Lifecycle management blade.&lt;br&gt;
Select Add rule.&lt;br&gt;
Set the Rule name to movetocool.&lt;br&gt;
Set the Rule scope to Apply rule to all blobs in the storage account.&lt;br&gt;
Select Next.&lt;br&gt;
Ensure Last modified is selected.&lt;br&gt;
Set More than (days ago) to 30.&lt;br&gt;
In the Then drop-down select Move to cool storage.&lt;br&gt;
As you have time, review other lifecycle options in the drop-down.&lt;br&gt;
Add the rule.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fb5kq5frh9ristrgd1j2r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fb5kq5frh9ristrgd1j2r.png" alt="Rule" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
## 
The public website files need to be backed up to another storage account.[Learn more about object replication.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In your storage account, create a new container called backup. Use the default values. Refer back to Lab 02a if you need detailed instructions.&lt;br&gt;
Navigate to your publicwebsite storage account. This storage account was created in the previous exercise.&lt;br&gt;
In the Data management section, select the Object replication blade.&lt;br&gt;
Select Create replication rules.&lt;br&gt;
Set the Destination storage account to the private storage account.&lt;br&gt;
Set the Source container to public and the Destination container to backup.&lt;br&gt;
Create the replication rule.&lt;br&gt;
Optionally, as you have time, upload a file to the public container. Return to the private storage account and refresh the backup container. Within a few minutes your public website file will appear in the backup folder.&lt;br&gt;
&lt;a href="https://media2.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%2F7yak0x4libal6dou28rf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F7yak0x4libal6dou28rf.png" alt="obligation rule" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cloud</category>
      <category>azure</category>
      <category>community</category>
    </item>
  </channel>
</rss>
