<?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: Berenice Enikanoselu</title>
    <description>The latest articles on DEV Community by Berenice Enikanoselu (@berenice).</description>
    <link>https://dev.to/berenice</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%2F3921739%2F0e41e85d-5469-4853-8fc8-ab788185f888.jpeg</url>
      <title>DEV Community: Berenice Enikanoselu</title>
      <link>https://dev.to/berenice</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/berenice"/>
    <language>en</language>
    <item>
      <title>Installing the trio basic tools of DevOps: Git, Curl, and Docker.</title>
      <dc:creator>Berenice Enikanoselu</dc:creator>
      <pubDate>Sat, 06 Jun 2026 08:28:25 +0000</pubDate>
      <link>https://dev.to/berenice/installing-the-trio-basic-tools-of-devops-git-curl-and-docker-3ddi</link>
      <guid>https://dev.to/berenice/installing-the-trio-basic-tools-of-devops-git-curl-and-docker-3ddi</guid>
      <description>&lt;p&gt;Git, curl, and Docker are three essential tools used in software development to track code changes, transfer data across networks, and run applications consistently. They solve different problems but are frequently used together in modern DevOps pipelines to build and deploy software.&lt;/p&gt;

&lt;h2&gt;
  
  
  📌 What is Git?
&lt;/h2&gt;

&lt;p&gt;Git is a distributed version control system designed to track modifications in source code files over time.It helps developers collaborate on code without overwriting each other's work. It allows you to revert to older versions, create branches for new features, and merge changes smoothly.Example: When you use git commit, you save a snapshot of your project's current state.&lt;/p&gt;

&lt;h2&gt;
  
  
  📌 What is curl?⁠
&lt;/h2&gt;

&lt;p&gt;Curl stands for "Client URL" and is a command-line tool used to transfer data to or from a network server.It is used to download files, test APIs, and check server responses directly from the terminal.It supports a wide variety of internet protocols, including HTTP, HTTPS, FTP, and SFTP.Example: Running curl &lt;a href="https://api.github.com" rel="noopener noreferrer"&gt;https://api.github.com&lt;/a&gt; fetches information from GitHub's server right into your command prompt.&lt;/p&gt;

&lt;h2&gt;
  
  
  📌 What is Docker?
&lt;/h2&gt;

&lt;p&gt;⁠Docker is a containerization platform that packages an application and all its dependencies into an isolated unit called a container.It ensures that software runs the exact same way on any computer, eliminating the "it doesn't work on my machine while it works on yours" problem.Containers share the host system's OS kernel, making them lightweight, fast, and resource-efficient compared to traditional Virtual Machines.Example: You can create a ⁠Docker image that bundles Python, your code, and your database settings so anyone can run your app instantly.&lt;/p&gt;

&lt;p&gt;Let's install the trio basic tools of DevOps: Git, Curl, and Docker! But beore that we have to make our system new! The codes are written for LINUSX, WINDOWS and MAC OS. Choose the code that correspond to your OS. I stick with WINDOWS!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; This refreshes your computer's package list and upgrades installed software to their latest upgraded versions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Windows:&lt;/strong&gt;&lt;br&gt;
winget upgrade –all&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%2F57lojyfwfe71bn8lrb2a.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%2F57lojyfwfe71bn8lrb2a.png" alt=" " width="799" height="145"&gt;&lt;/a&gt; You will receive propmts on your desktop to allow the program run, select YES.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Linux:&lt;/strong&gt;&lt;br&gt;
sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;br&gt;
&lt;strong&gt;Mac :&lt;/strong&gt;&lt;br&gt;
brew update &amp;amp;&amp;amp; brew upgrade&lt;br&gt;
&lt;em&gt;Installs or manages a package using Homebrew (macOS/Linux package manager).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step2: Install Git, Curl, and Docker&lt;/strong&gt;&lt;br&gt;
Installs Git (your code time-machine), Curl (for downloading stuff), and Docker (for running apps in isolated boxes).&lt;br&gt;
These three tools are the absolute foundation of modern technology. They are the everyday companion.&lt;br&gt;
&lt;strong&gt;Windows:&lt;/strong&gt;&lt;br&gt;
i.  winget install -e --id Git.Git&lt;br&gt;
ii. winget install -e --id Docker.DockerDesktop&lt;br&gt;
iii.    winget install -e --id curl.curl&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%2Fot5tnfa8s7e134o1qum8.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%2Fot5tnfa8s7e134o1qum8.png" alt=" " width="799" height="121"&gt;&lt;/a&gt;.....my code did not give me the expected response so I resaerched it in google, click this link to see my research &lt;a href="https://www.google.com/search?q=what+is++this+PS+C%3A%5CUsers%5CHP%5CDesktop%5CAZURE+CLI+lessons%3E+winget+install+-e+--id+curl.curl%0D%0ANo+package+found+matching+input+criteria" rel="noopener noreferrer"&gt;https://www.google.com/search?q=what+is++this+PS+C%3A%5CUsers%5CHP%5CDesktop%5CAZURE+CLI+lessons%3E+winget+install+-e+--id+curl.curl%0D%0ANo+package+found+matching+input+criteria&lt;/a&gt;. select AI mode.&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%2Fz6kt6tt77cqz5x2kfvxf.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%2Fz6kt6tt77cqz5x2kfvxf.png" alt=" " width="800" height="196"&gt;&lt;/a&gt;&lt;br&gt;
iv. docker --version (Prints the installed Docker version to verify it's set up.)&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%2Fev0cgy7k14bssuesz54q.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%2Fev0cgy7k14bssuesz54q.png" alt=" " width="800" height="47"&gt;&lt;/a&gt;&lt;br&gt;
see the full view of the codes here&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%2Fgy742gn7tu32sx45cai2.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%2Fgy742gn7tu32sx45cai2.png" alt=" " width="799" height="331"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Linux:&lt;/strong&gt;&lt;br&gt;
i. sudo apt-get update&lt;br&gt;
ii. sudo apt-get install -y git ca-certificates curl&lt;br&gt;
iii. sudo curl -fsSL &lt;a href="https://download.docker.com/linux/ubuntu/gpg" rel="noopener noreferrer"&gt;https://download.docker.com/linux/ubuntu/gpg&lt;/a&gt; -o /etc/apt/keyrings/docker.asc&lt;br&gt;
iv. sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br&gt;
v. echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] &lt;a href="https://download.docker.com/linux/ubuntu" rel="noopener noreferrer"&gt;https://download.docker.com/linux/ubuntu&lt;/a&gt; $(. /etc/os-release &amp;amp;&amp;amp; echo ${UBUNTU_CODENAME:-$VERSION_CODENAME}) stable" | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;/p&gt;

&lt;p&gt;(&lt;em&gt;This prints text to the terminal — also used to write to files with &amp;gt; or &amp;gt;&amp;gt;.&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;vi.  sudo apt-get update&lt;br&gt;
vii. sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br&gt;
viii. docker --version&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mac:&lt;/strong&gt;&lt;br&gt;
i. brew install git curl&lt;br&gt;
ii. brew install --cask docker&lt;br&gt;
iii. docker --version&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Git configuration.&lt;/strong&gt;&lt;br&gt;
We just installed Git, it needs to know who is doing what for security and audit purposes. To be able to save (commit) your work, this step is very important. The codes or the 3 OS are the same here&lt;br&gt;
&lt;strong&gt;Windows, Linux, Mac:&lt;/strong&gt;&lt;br&gt;
i.   git config --global user.name "Your Name"&lt;br&gt;
        Example : git config --global user.name "Bukola"&lt;br&gt;
ii.   git config --global user.email "&lt;a href="mailto:you@example.com"&gt;you@example.com&lt;/a&gt;"&lt;br&gt;
Example : git config --global user.email "&lt;a href="mailto:Bukolasarah@yahoo.com"&gt;Bukolasarah@yahoo.com&lt;/a&gt;"&lt;br&gt;
iii.  git config --list&lt;br&gt;
&lt;em&gt;Without this, you can't save (commit) your work&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Create a GitHub Repository&lt;/strong&gt;&lt;br&gt;
This is like a remote home for your code on GitHub — think of it as your project's cloud backup and portfolio piece.&lt;br&gt;
In real DevOps, code lives in a remote repository so the whole team can collaborate, CI/CD pipelines can trigger, and nothing is lost if your laptop catches fire!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Go to &lt;a href="https://github.com" rel="noopener noreferrer"&gt;https://github.com&lt;/a&gt; and sign in (or create an account if you don't have one)&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%2Fctzz78p63c11mtzkw6m5.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%2Fctzz78p63c11mtzkw6m5.png" alt=" " width="800" height="323"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click the '+' icon in the top-right corner → 'New repository'&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%2Fp7ap26ybg0cxyp21x9qt.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%2Fp7ap26ybg0cxyp21x9qt.png" alt=" " width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Name it: devops-lab&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%2Fhzv9hq31jrx81fox6slw.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%2Fhzv9hq31jrx81fox6slw.png" alt=" " width="799" height="453"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave it PUBLIC, do NOT add a README (we'll push our own 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%2Fdjtr8i48caiim6swou05.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%2Fdjtr8i48caiim6swou05.png" alt=" " width="799" height="334"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click 'Create repository'&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check the HTTPS URL — it will look like: &lt;a href="https://github.com/YOUR-USERNAME/devops-lab.git" rel="noopener noreferrer"&gt;https://github.com/YOUR-USERNAME/devops-lab.git&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>docker</category>
      <category>git</category>
      <category>github</category>
      <category>curl</category>
    </item>
    <item>
      <title>Cloud Concepts</title>
      <dc:creator>Berenice Enikanoselu</dc:creator>
      <pubDate>Thu, 28 May 2026 16:44:38 +0000</pubDate>
      <link>https://dev.to/berenice/cloud-concepts-24e6</link>
      <guid>https://dev.to/berenice/cloud-concepts-24e6</guid>
      <description>&lt;p&gt;1.Virtualization&lt;br&gt;
 Virtualization is the process of creating a virtual version of physical resources such as servers, storage, networks, or operating systems.&lt;br&gt;
 It allows one physical computer to run multiple virtual machines (VMs), each acting like a separate computer.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
A single physical server can host several virtual servers using software like VMware or Microsoft Hyper-V.&lt;/p&gt;

&lt;p&gt;2.Scalability&lt;br&gt;
   Scalability is the ability of a system to handle increased workload by adding resources.&lt;/p&gt;

&lt;p&gt;There are two main types:&lt;/p&gt;

&lt;p&gt;Vertical Scaling (Scale Up): Increase CPU, RAM, or storage of one server.&lt;br&gt;
Horizontal Scaling (Scale Out): Add more servers to share the workload.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
Adding more web servers when website traffic increases.&lt;/p&gt;

&lt;p&gt;3.Agility&lt;br&gt;
   Agility in cloud computing means the ability to quickly create, deploy, and manage resources or applications.&lt;/p&gt;

&lt;p&gt;Cloud services allow businesses to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploy servers quickly&lt;/li&gt;
&lt;li&gt;Respond faster to customer needs&lt;/li&gt;
&lt;li&gt;Test and launch applications rapidly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
Creating a new virtual machine in minutes instead of buying physical hardware that may take weeks.&lt;/p&gt;

&lt;p&gt;4.High Availability&lt;br&gt;
High Availability means a system remains operational for a very high percentage of time with minimal downtime.&lt;br&gt;
The benefit/uses of High Availability are:&lt;/p&gt;

&lt;p&gt;*Backup systems&lt;br&gt;
  *Redundant servers&lt;br&gt;
  *Automatic failover&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
If one server fails, another server immediately takes over to keep the application running.&lt;/p&gt;

&lt;p&gt;5.Fault Tolerant&lt;br&gt;
Fault tolerance is the ability of a system to continue operating even when one or more components fail.&lt;/p&gt;

&lt;p&gt;Unlike high availability, fault tolerance aims for &lt;strong&gt;zero interruption&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
Two identical systems run simultaneously. If one fails, the other continues instantly without users noticing.&lt;/p&gt;

&lt;p&gt;6.Global Reach&lt;br&gt;
Global reach refers to the ability of cloud services to deliver applications and services to users worldwide through multiple data centers and regions.&lt;/p&gt;

&lt;p&gt;Benefits:&lt;/p&gt;

&lt;p&gt;*Faster access for users&lt;br&gt;
   *Better performance&lt;br&gt;
   *Reduced latency&lt;/p&gt;

&lt;p&gt;Example: Microsoft Azure and Amazon Web Services have data centers across many countries.&lt;/p&gt;

&lt;p&gt;7.Difference Between Elasticity and Scalability&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Elasticity&lt;/th&gt;
&lt;th&gt;Scalability&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Automatically adjusts resources based on demand&lt;/td&gt;
&lt;td&gt;Increases resources to handle growth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Usually temporary&lt;/td&gt;
&lt;td&gt;Usually long-term&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resources can increase and decrease automatically&lt;/td&gt;
&lt;td&gt;Resources are added when needed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Common in cloud environments&lt;/td&gt;
&lt;td&gt;Can exist in cloud or on-premises&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Example&lt;/p&gt;

&lt;p&gt;*Elasticity: A streaming app automatically adds servers during a live football match and removes them after    traffic reduces.&lt;/p&gt;

&lt;p&gt;*Scalability: A company permanently upgrades from 2 servers to 10 servers because the business has grown.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Provision shared file storage for company offices</title>
      <dc:creator>Berenice Enikanoselu</dc:creator>
      <pubDate>Tue, 26 May 2026 20:14:19 +0000</pubDate>
      <link>https://dev.to/berenice/provision-shared-file-storage-for-company-offices-4lbf</link>
      <guid>https://dev.to/berenice/provision-shared-file-storage-for-company-offices-4lbf</guid>
      <description>&lt;p&gt;Azure Files offers fully managed file shares in the cloud that are accessible via the industry standard Server Message Block (SMB) protocol, Network File System (NFS) protocol, and Azure Files REST API.&lt;br&gt;
Azure Files provides the capability to take snapshots of SMB and NFS file shares. Share snapshots capture the share state at that point in time. Share snapshots provide only file-level protection.&lt;br&gt;
You can configure a storage account endpoint for accessing the Azure file share directly. Endpoints to restrict network access to your storage account. We will practice all these shortly, follow on&lt;/p&gt;

&lt;h2&gt;
  
  
  A. Create and configure a storage account for Azure Files.
&lt;/h2&gt;

&lt;p&gt;&lt;u&gt;1. Create a storage account for the finance department’s shared files.&lt;/u&gt; &lt;br&gt;
Learn more about storage accounts for Azure Files deployments--&lt;a href="https://learn.microsoft.com/en-gb/azure/storage/files/storage-files-planning#management-concepts" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/files/storage-files-planning#management-concepts&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In the portal, search for and select &lt;strong&gt;Storage accounts&lt;/strong&gt;.&lt;br&gt;
Select &lt;strong&gt;+ Create&lt;/strong&gt;.&lt;br&gt;
For Resource group select &lt;strong&gt;Create new&lt;/strong&gt;. Give your resource group a &lt;strong&gt;name&lt;/strong&gt; and select &lt;strong&gt;OK&lt;/strong&gt; to save your changes.&lt;br&gt;
Provide a Storage account &lt;strong&gt;name&lt;/strong&gt;. Ensure the name meets the naming requirements.&lt;br&gt;
Set the &lt;em&gt;Performance&lt;/em&gt; to &lt;strong&gt;Premium&lt;/strong&gt;.&lt;br&gt;
Set the &lt;em&gt;Premium&lt;/em&gt; account type to &lt;strong&gt;File shares&lt;/strong&gt;.&lt;br&gt;
Set the &lt;em&gt;Redundancy&lt;/em&gt; to &lt;strong&gt;Zone-redundant **storage.&lt;br&gt;
Select **Review&lt;/strong&gt; and then &lt;strong&gt;Create&lt;/strong&gt; the storage account.&lt;br&gt;
Wait for the resource to deploy.&lt;br&gt;
Select &lt;strong&gt;Go to resource&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  B.Create and configure a file share with directory
&lt;/h2&gt;

&lt;p&gt;.&lt;br&gt;
&lt;u&gt;1.Create a file share for the corporate office.&lt;/u&gt; Learn more about Azure File tiers --&lt;a href="https://learn.microsoft.com/en-gb/azure/storage/files/storage-files-planning#storage-tiers" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/files/storage-files-planning#storage-tiers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;storage account&lt;/strong&gt;, in the Data storage section, select the &lt;strong&gt;File shares&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%2Fa3xwe4fakbm2dv39ngd8.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%2Fa3xwe4fakbm2dv39ngd8.png" alt=" " width="799" height="321"&gt;&lt;/a&gt;&lt;br&gt;
Select &lt;strong&gt;+ File share&lt;/strong&gt; and provide a &lt;strong&gt;Name&lt;/strong&gt;.&lt;br&gt;
Review the other options, but take the defaults.&lt;br&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%2Fia9xg16u6gp31e6j6zv0.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%2Fia9xg16u6gp31e6j6zv0.png" alt=" " width="800" height="321"&gt;&lt;/a&gt;&lt;br&gt;
&lt;u&gt;2. Add a directory to the &lt;strong&gt;file share&lt;/strong&gt; for the finance department. &lt;/u&gt;&lt;br&gt;
For future testing, upload a file.&lt;br&gt;
Select your &lt;strong&gt;file share&lt;/strong&gt; and select &lt;strong&gt;+ Add directory&lt;/strong&gt;.&lt;br&gt;
Name the new directory &lt;strong&gt;finance&lt;/strong&gt;.&lt;br&gt;
Select &lt;strong&gt;Browse&lt;/strong&gt; and then select the &lt;strong&gt;finance&lt;/strong&gt; directory.&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%2Fhaki0zrx90lso2v9w2ib.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%2Fhaki0zrx90lso2v9w2ib.png" alt=" " width="799" height="246"&gt;&lt;/a&gt;&lt;br&gt;
Notice you can Add directory to further organize your file share.&lt;br&gt;
&lt;strong&gt;Upload&lt;/strong&gt; a file of your choosing.&lt;/p&gt;

&lt;h2&gt;
  
  
  C. Configure and test snapshots.
&lt;/h2&gt;

&lt;p&gt;&lt;u&gt;1. Similar to blob storage, you need to protect against accidental deletion of files.&lt;/u&gt; &lt;br&gt;
We decide to use snapshots. Learn more about file snapshots --&lt;a href="https://learn.microsoft.com/en-gb/azure/storage/files/storage-snapshots-files?tabs=portal" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/files/storage-snapshots-files?tabs=portal&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Select your &lt;strong&gt;file share&lt;/strong&gt;.&lt;br&gt;
In the &lt;strong&gt;Operations&lt;/strong&gt; section, select the &lt;strong&gt;Snapshots&lt;/strong&gt; blade.&lt;br&gt;
Select &lt;strong&gt;+ Add snapshot&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%2Fs9hnj4eottj6w56dvbc0.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%2Fs9hnj4eottj6w56dvbc0.png" alt=" " width="800" height="321"&gt;&lt;/a&gt; The comment is optional. Select &lt;strong&gt;OK&lt;/strong&gt;.&lt;br&gt;
Select your &lt;strong&gt;snapshot&lt;/strong&gt; and verify your file directory and uploaded file are included.&lt;/p&gt;

&lt;h2&gt;
  
  
  2.Practice using snapshots to restore a file.
&lt;/h2&gt;

&lt;p&gt;Return to your file share.&lt;br&gt;
&lt;strong&gt;Browse&lt;/strong&gt; to your file directory.&lt;br&gt;
Locate your uploaded file and in the Properties pane select &lt;strong&gt;Delete&lt;/strong&gt;. Select &lt;strong&gt;Yes&lt;/strong&gt; to confirm the deletion.&lt;br&gt;
Select the &lt;strong&gt;Snapshots&lt;/strong&gt; blade and then select your snapshot.&lt;br&gt;
Navigate to the file you want to restore,&lt;br&gt;
Select the file and the select &lt;strong&gt;Restore&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%2Fhbtn2e0a2a8nj6dzfj29.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%2Fhbtn2e0a2a8nj6dzfj29.png" alt=" " width="799" height="319"&gt;&lt;/a&gt;&lt;br&gt;
Provide a Restored file &lt;strong&gt;name&lt;/strong&gt;.&lt;br&gt;
Verify your file directory has the restored file.&lt;/p&gt;

&lt;h2&gt;
  
  
  C. Configure restricting storage access to selected virtual networks.
&lt;/h2&gt;

&lt;p&gt;&lt;u&gt;1.This tasks in this section require a virtual network with subnet.&lt;/u&gt; &lt;br&gt;
In a production environment these resources would already be created.&lt;br&gt;
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%2F3l75p7edrp4lmh29zau4.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%2F3l75p7edrp4lmh29zau4.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;br&gt;
Select &lt;strong&gt;Create&lt;/strong&gt;. Select your resource group. and give the virtual network a &lt;strong&gt;name&lt;/strong&gt;.&lt;br&gt;
Take the defaults for other parameters, select &lt;strong&gt;Review + create&lt;/strong&gt;, and then &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
Wait for the resource to deploy.&lt;br&gt;
Select &lt;strong&gt;Go to resource&lt;/strong&gt;.&lt;br&gt;
In the Settings section, select the &lt;strong&gt;Subnets&lt;/strong&gt; blade.&lt;br&gt;
Select the &lt;strong&gt;default&lt;/strong&gt; 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%2F2ikgevm5l8otdxa0t4fb.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%2F2ikgevm5l8otdxa0t4fb.png" alt=" " width="800" height="306"&gt;&lt;/a&gt;&lt;br&gt;
In the Service endpoints section choose &lt;strong&gt;Microsoft.Storage&lt;/strong&gt; in the &lt;strong&gt;Services&lt;/strong&gt; drop-down.&lt;br&gt;
Do not make any other changes.&lt;br&gt;
Be sure to &lt;strong&gt;Save&lt;/strong&gt; your changes.&lt;br&gt;
The storage account should only be accessed from the virtual network you just created.&lt;/p&gt;

&lt;p&gt;Return to your files storage account.&lt;br&gt;
In the &lt;strong&gt;Security + networking&lt;/strong&gt; section, select the &lt;strong&gt;Networking&lt;/strong&gt; blade.&lt;br&gt;
Change the &lt;em&gt;Public network access&lt;/em&gt; to &lt;strong&gt;Enabled from selected virtual networks and IP addresses.&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%2Fkuefptm0vnhovm36c4ig.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%2Fkuefptm0vnhovm36c4ig.png" alt=" " width="800" height="336"&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%2F7ir7wsb7lybkg69j8ngz.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%2F7ir7wsb7lybkg69j8ngz.png" alt=" " width="799" height="355"&gt;&lt;/a&gt;&lt;br&gt;
In the &lt;strong&gt;Virtual networks&lt;/strong&gt; section, select &lt;strong&gt;Add existing virtual network.&lt;/strong&gt;&lt;br&gt;
Select your &lt;strong&gt;virtual network&lt;/strong&gt; and &lt;strong&gt;subnet&lt;/strong&gt;, select &lt;strong&gt;Add&lt;/strong&gt;.&lt;br&gt;
Be sure to &lt;strong&gt;Save&lt;/strong&gt; your changes.&lt;br&gt;
Select the &lt;strong&gt;Storage browser&lt;/strong&gt; and navigate to your file share.&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%2Fdbhgtiofudnjw0e19cf3.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%2Fdbhgtiofudnjw0e19cf3.png" alt=" " width="800" height="335"&gt;&lt;/a&gt;&lt;br&gt;
Verify the message not authorized to perform this operation. You are not connecting from the virtual network.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>cloud</category>
      <category>microsoft</category>
      <category>devops</category>
    </item>
    <item>
      <title>Provision a private storage for internal company documents</title>
      <dc:creator>Berenice Enikanoselu</dc:creator>
      <pubDate>Tue, 26 May 2026 14:49:55 +0000</pubDate>
      <link>https://dev.to/berenice/provision-a-private-storage-for-internal-company-documents-42ik</link>
      <guid>https://dev.to/berenice/provision-a-private-storage-for-internal-company-documents-42ik</guid>
      <description>&lt;h2&gt;
  
  
  A.Create a storage account and configure high availability.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create a storage account for the internal private company documents.
In the portal, search for and select Storage accounts. By now once you click the search bar most recently created resources will appear like storage account, resources group etc from where you can choose.
&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%2F3gtvj1hwfpw32ak3vgx3.png" alt=" " width="799" height="426"&gt;
Select + Create.
Select the Resource group created previously by you
Set the Storage account name to private or something close to it.
You can add an identifier to the name to ensure the name is unique. I am using privatesact
Select Review, and then Create the storage account.
Wait for the storage account to deploy, and then select Go to resource.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;2.This storage requires high availability if there’s a regional outage.&lt;/u&gt; &lt;br&gt;
Read access in the secondary region is not required. Configure the appropriate level of redundancy.&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%2Fdlr99m6gp7s1tvxbrnoh.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%2Fdlr99m6gp7s1tvxbrnoh.png" alt=" " width="800" height="358"&gt;&lt;/a&gt;&lt;br&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;
&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%2F26e8fg4pb6hrow78obpk.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%2F26e8fg4pb6hrow78obpk.png" alt=" " width="799" height="453"&gt;&lt;/a&gt;&lt;br&gt;
Save your changes.&lt;/p&gt;

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

&lt;p&gt;&lt;u&gt;1.Create a private storage container for the corporate data.&lt;/u&gt;&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;
&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%2Ftwt9b2wjuevqce6y8yn1.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%2Ftwt9b2wjuevqce6y8yn1.png" alt=" " width="800" height="324"&gt;&lt;/a&gt;&lt;br&gt;
As you have time, review the Advanced settings, but take the defaults.&lt;br&gt;
Select Create.&lt;br&gt;
&lt;u&gt;2.For testing, upload a file to the private container. The type of file doesn’t matter.&lt;/u&gt; &lt;br&gt;
A small image or text file is a good choice. Test to ensure the file isn’t publically 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;
&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%2Fzbia12mu2lvxlp7vn8w1.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%2Fzbia12mu2lvxlp7vn8w1.png" alt=" " width="800" height="550"&gt;&lt;/a&gt;&lt;br&gt;
Verify the file doesn’t display and you receive an error.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;3.An external partner requires read and write access to the file for at least the next 24 hours.&lt;/u&gt; &lt;br&gt;
Configure and test a shared access signature (SAS).&lt;br&gt;
 Learn more about Shared Access Signatures-- &lt;a href="https://learn.microsoft.com/en-gb/azure/storage/common/storage-sas-overview" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/common/storage-sas-overview&lt;/a&gt;.&lt;br&gt;
&lt;u&gt;1.Select your uploaded blob file and move to the Generate SAS tab.&lt;/u&gt;&lt;br&gt;
In the Permissions drop-down, ensure the partner has only Read 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%2F2t9al2b0hh5oi3vwt8in.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%2F2t9al2b0hh5oi3vwt8in.png" alt=" " width="799" height="336"&gt;&lt;/a&gt;&lt;br&gt;
Verify the Start and expiry date/time is for the next 24 hours.&lt;br&gt;
scroll down and Select Generate SAS token and URL.&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%2Fo9xhwzsjdew8dleiqfj4.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%2Fo9xhwzsjdew8dleiqfj4.png" alt=" " width="800" height="387"&gt;&lt;/a&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.&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%2Fvdee1qymmtangom2tcw4.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%2Fvdee1qymmtangom2tcw4.png" alt=" " width="800" height="550"&gt;&lt;/a&gt; Other file types will be downloaded.&lt;/p&gt;

&lt;h2&gt;
  
  
  C.Configure storage access tiers and content replication.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&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;a href="https://learn.microsoft.com/en-gb/azure/storage/blobs/lifecycle-management-policy-configure?tabs=azure-portal" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/blobs/lifecycle-management-policy-configure?tabs=azure-portal&lt;/a&gt;.
Return to the storage account.
In the Overview section, notice the Default access tier is set to Hot.
&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%2F12nslpvkt1r1nq7tgr01.png" alt=" " width="800" height="341"&gt;
In the Data management section, select the Lifecycle management blade.
Select Add rule.&lt;/li&gt;
&lt;/ol&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%2Fzk5jw74qndyj58nzeqx2.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%2Fzk5jw74qndyj58nzeqx2.png" alt=" " width="799" height="332"&gt;&lt;/a&gt;&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;
&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%2Fgqc4q66ade2h38g5rgpl.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%2Fgqc4q66ade2h38g5rgpl.png" alt=" " width="800" height="343"&gt;&lt;/a&gt;&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;br&gt;
&lt;u&gt;2. The public website files need to be backed up to another storage account.&lt;/u&gt;&lt;br&gt;
Learn more about object replication-- &lt;a href="https://learn.microsoft.com/en-gb/azure/storage/blobs/object-replication-configure?tabs=portal" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/blobs/object-replication-configure?tabs=portal&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In your storage account &lt;em&gt;mine is publicwebsitesact&lt;/em&gt;, create a new container called backup ( Go to &lt;strong&gt;Data Storage&lt;/strong&gt;, to &lt;strong&gt;containers&lt;/strong&gt; to &lt;strong&gt;+Add Container&lt;/strong&gt; ).  Use the default values.&lt;br&gt;
Navigate to your publicwebsite storage account. &lt;br&gt;
In the Data management section, select the Object replication 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%2Fpgdc3bou5mwkfm13gkz8.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%2Fpgdc3bou5mwkfm13gkz8.png" alt=" " width="800" height="354"&gt;&lt;/a&gt;&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;/p&gt;

</description>
    </item>
    <item>
      <title>Provisioning storage for a Company's public website</title>
      <dc:creator>Berenice Enikanoselu</dc:creator>
      <pubDate>Mon, 25 May 2026 16:18:37 +0000</pubDate>
      <link>https://dev.to/berenice/provisioning-storage-for-a-companys-public-website-5490</link>
      <guid>https://dev.to/berenice/provisioning-storage-for-a-companys-public-website-5490</guid>
      <description>&lt;p&gt;The company website supplies product images, videos, marketing literature, and customer success stories. The content is mission-critical and requires low latency load times.&lt;/p&gt;

&lt;p&gt;Azure Blob Storage is optimized for storing massive amounts of unstructured data. Unstructured data is data that doesn’t adhere to a particular data model or definition, such as text or binary data. We will use Azure blob to keep product images, videos, marketing literature, and customer success stories so that  our customers located worldwide and their rapidly expanding demand can easily be cattered to.&lt;/p&gt;

&lt;p&gt;We will need to activate Blob soft delete  inorder to protects every individual blob, snapshot, or version from accidental deletes or overwrites by maintaining the deleted data in the system for a specified period of time.&lt;br&gt;
Blob versioning  will bw used to maintain previous versions of a blob. When blob versioning is enabled, you can restore an earlier version of a blob to recover your data if it’s modified or deleted.&lt;br&gt;
Any client can read data in the created container because we will configure the  container for anonymous access.  Let's Dive right in!&lt;/p&gt;

&lt;h2&gt;
  
  
  A.Create a storage account with high availability.
&lt;/h2&gt;

&lt;p&gt;Create a storage account to support the public website.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;1. In the portal, search for and select &lt;strong&gt;Storage accounts&lt;/strong&gt;.&lt;/u&gt;&lt;br&gt;
Select + Create.&lt;br&gt;
For resource group select &lt;strong&gt;new&lt;/strong&gt;. Give your resource group a name and select &lt;strong&gt;OK&lt;/strong&gt;.&lt;br&gt;
Set the Storage account name to publicwebsite, we set ours to &lt;strong&gt;publicwebsitesact&lt;/strong&gt; because publicwebsite is taken.&lt;br&gt;
Make sure the storage account name is unique by adding an identifier.&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%2Ffrob9mgo21xhmghjdv5u.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%2Ffrob9mgo21xhmghjdv5u.png" alt=" " width="800" height="361"&gt;&lt;/a&gt;&lt;br&gt;
Take the defaults for other settings.&lt;br&gt;
Select &lt;strong&gt;Review&lt;/strong&gt; and then &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
Wait for the storage account to deploy, and then select Go to resource.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;2.This storage requires high availability if there’s a regional outage.&lt;/u&gt; Additionally, enable read access to the secondary region.&lt;/p&gt;

&lt;p&gt;In the storage account, in the &lt;em&gt;Data management&lt;/em&gt; section, select the &lt;strong&gt;Redundancy&lt;/strong&gt; blade.&lt;br&gt;
Ensure &lt;strong&gt;Read-access Geo-redundant storage&lt;/strong&gt; is selected.&lt;br&gt;
Review the primary and secondary location information.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;3. Information on the public website should be accessible without requiring customers to login.&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;In the storage account, in the &lt;em&gt;Settings&lt;/em&gt; section, select the &lt;strong&gt;Configuration&lt;/strong&gt; blade.&lt;br&gt;
Ensure the &lt;strong&gt;Allow blob anonymous&lt;/strong&gt; access setting is Enabled.&lt;br&gt;
Be sure to &lt;strong&gt;Save&lt;/strong&gt; your changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  B. Create a blob storage container with anonymous read access
&lt;/h3&gt;

&lt;p&gt;&lt;u&gt;1. The public website has various images and documents.&lt;/u&gt; Create a blob storage container for the content.&lt;br&gt;
In your storage account, in the &lt;em&gt;Data storage&lt;/em&gt; section, select the &lt;strong&gt;Containers&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%2F70o05ixm5lhnauqknx97.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%2F70o05ixm5lhnauqknx97.png" alt=" " width="799" height="313"&gt;&lt;/a&gt;&lt;br&gt;
Select &lt;strong&gt;+ Container.&lt;/strong&gt;&lt;br&gt;
Ensure the &lt;strong&gt;Name&lt;/strong&gt; of the container is &lt;strong&gt;public&lt;/strong&gt;.&lt;br&gt;
Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;2.Customers should be able to view the images without being authenticated.&lt;/u&gt; Configure anonymous read access for the public container blobs. &lt;br&gt;
Select your public container.&lt;br&gt;
On the Overview blade, select Change access level.&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%2F5d8fv3xag1jxavsiu1k5.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%2F5d8fv3xag1jxavsiu1k5.png" alt=" " width="800" height="358"&gt;&lt;/a&gt;&lt;br&gt;
Ensure the Public access level is Blob (anonymous read access for blobs only).&lt;br&gt;
Select OK.&lt;/p&gt;

&lt;h2&gt;
  
  
  C.Practice uploading files and testing access.
&lt;/h2&gt;

&lt;p&gt;&lt;u&gt;1.For testing, upload a file to the public container.&lt;/u&gt; &lt;br&gt;
The type of file doesn’t matter. A small image or text file is a good choice.&lt;br&gt;
Ensure you are viewing your container.&lt;br&gt;
Select Upload.&lt;br&gt;
Browse to files and select a file. Browse to a file of your choice.&lt;br&gt;
Select Upload.&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%2Fx7p6cn9nyuudtdysb55m.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%2Fx7p6cn9nyuudtdysb55m.png" alt=" " width="799" height="407"&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%2Fxzy8o2ssrhdgzpkv41av.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%2Fxzy8o2ssrhdgzpkv41av.png" alt=" " width="799" height="314"&gt;&lt;/a&gt;&lt;br&gt;
Close the upload window, Refresh the page and ensure your file was uploaded.&lt;br&gt;
&lt;u&gt;2. Determine the URL for your uploaded file.&lt;/u&gt; Open a browser and test the URL.&lt;br&gt;
Select your 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;
If you have uploaded an image file it will display in the browser. Other file types should be downloaded.&lt;/p&gt;

&lt;h2&gt;
  
  
  D.Configure soft delete
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1. It’s important that the website documents can be restored if they’re deleted.
&lt;/h2&gt;

&lt;p&gt;Configure blob soft delete for 21 days. &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%2Ff9yqqitluamireyc5y4b.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%2Ff9yqqitluamireyc5y4b.png" alt=" " width="800" height="304"&gt;&lt;/a&gt;&lt;br&gt;
Go to the Overview blade of the storage account.&lt;br&gt;
On the Properties page, locate the Blob service section.&lt;br&gt;
Select the Blob soft delete setting.&lt;br&gt;
Ensure the Enable soft delete for blobs is checked.&lt;br&gt;
Change the Keep deleted blobs for (in days) setting to 21.&lt;br&gt;
Notice you can also Enable soft delete for containers.&lt;br&gt;
Don’t forget to Save your changes.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;2.If something gets deleted, you need to practice using soft delete to restore the files.&lt;/u&gt;&lt;br&gt;
Navigate to your container where you uploaded a file.&lt;br&gt;
Select the file you uploaded and then select Delete.&lt;br&gt;
Select OK to confirm deleting the file.&lt;br&gt;
On the container Overview page, toggle the slider Show deleted blobs. This toggle is to the right of the search box.&lt;br&gt;
Select your deleted file, and use the ellipses on the far right, to Undelete the file.&lt;br&gt;
Refresh the container and confirm the file has been restored.&lt;/p&gt;

&lt;h2&gt;
  
  
  E.Configure blob versioning
&lt;/h2&gt;

&lt;p&gt;It’s important to keep track of the different website product document versions. Learn more about blob versioning.&lt;br&gt;
Go to the Overview blade of the storage account.&lt;br&gt;
In the Properties section, locate the Blob service section.&lt;br&gt;
Select the Versioning setting.&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%2Fdl3yrsecpqspy97rs29c.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%2Fdl3yrsecpqspy97rs29c.png" alt=" " width="800" height="331"&gt;&lt;/a&gt;&lt;br&gt;
Ensure the Enable versioning for blobs checkbox is checked.&lt;br&gt;
Notice your options to keep all versions or delete versions after.&lt;br&gt;
Don’t forget to Save your changes.&lt;br&gt;
As you have time experiment with restoring previous blob versions.&lt;br&gt;
Upload another version of your container file. This overwrites your existing file.&lt;br&gt;
Your previous file version is listed on Show deleted blobs page.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The many sides of Azure Storage :Provide storage for the IT department testing and training</title>
      <dc:creator>Berenice Enikanoselu</dc:creator>
      <pubDate>Mon, 25 May 2026 12:41:59 +0000</pubDate>
      <link>https://dev.to/berenice/the-many-sides-of-azure-storage-4h1e</link>
      <guid>https://dev.to/berenice/the-many-sides-of-azure-storage-4h1e</guid>
      <description>&lt;p&gt;An Azure storage account is a container that holds all your Azure Storage data objects, including blobs, files, queues, and tables.&lt;br&gt;
Azure Storage offers several types of storage accounts, Standard and Premium. Each type supports different features and has its own pricing model.&lt;br&gt;
Azure Storage always stores multiple copies of your data to protect it from planned and unplanned events.&lt;br&gt;
Redundancy models can replicate data in the primary and secondary regions. We will see all these in few minutes following these guided steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  A. Create a resource group and a storage account.
&lt;/h2&gt;

&lt;p&gt;&lt;u&gt;1. Create and deploy a resource group to hold all your project resources.&lt;/u&gt; Learn more about resource groups-- &lt;a href="https://learn.microsoft.com/en-gb/azure/azure-resource-manager/management/manage-resource-groups-portal" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/azure-resource-manager/management/manage-resource-groups-portal&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are at least three ways to do it as indicated by the boxes.&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%2Fnyk2aaiuzxonin5g6r5r.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%2Fnyk2aaiuzxonin5g6r5r.png" alt=" " width="800" height="340"&gt;&lt;/a&gt;&lt;br&gt;
In the Azure portal,  follow the arrow, search for and select Resource groups.&lt;br&gt;
Select + Create.&lt;br&gt;
Give your resource group a name. For example, storemyfilesrg.&lt;br&gt;
Select a region. Use this region throughout the project.&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%2F6j3bs4i1ubm8obs7bwm3.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%2F6j3bs4i1ubm8obs7bwm3.png" alt=" " width="800" height="362"&gt;&lt;/a&gt;&lt;br&gt;
Select Review and create to validate the resource group.&lt;br&gt;
Select Create to deploy the resource group.&lt;br&gt;
Select Refresh to view your new Resource group.&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%2Faskgqejeq3szoruvjosn.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%2Faskgqejeq3szoruvjosn.png" alt=" " width="799" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;2.Create and deploy a storage account to support testing and training.&lt;/u&gt; Learn more about the types of storage accounts--&lt;a href="https://learn.microsoft.com/en-gb/azure/storage/common/storage-account-overview#types-of-storage-accounts" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/common/storage-account-overview#types-of-storage-accounts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Azure portal, search for and select Storage accounts.&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%2Fhkyym04k4le1nphqxtsk.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%2Fhkyym04k4le1nphqxtsk.png" alt=" " width="799" height="407"&gt;&lt;/a&gt;&lt;br&gt;
Select + Create.&lt;br&gt;
On the Basics tab, select your Resource group.&lt;br&gt;
Provide a Storage account name. The storage account name must be unique in Azure.&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%2Fwmf6ntknm4kjsc0qzby5.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%2Fwmf6ntknm4kjsc0qzby5.png" alt=" " width="799" height="453"&gt;&lt;/a&gt;&lt;br&gt;
Set the Performance to Standard.&lt;br&gt;
Select Review, and then Create.&lt;br&gt;
Wait for the storage account to deploy and then Go to resource.&lt;/p&gt;

&lt;h2&gt;
  
  
  B.Configure simple settings in the storage account.
&lt;/h2&gt;

&lt;p&gt;The data in this storage account doesn’t require high availability or durability. A lowest cost storage solution is desired. Learn more about storage account redundancy ---&lt;a href="https://learn.microsoft.com/en-gb/azure/storage/common/storage-redundancy#locally-redundant-storage" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/common/storage-redundancy#locally-redundant-storage&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%2F3k9k5bl3g34izwycf8jb.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%2F3k9k5bl3g34izwycf8jb.png" alt=" " width="800" height="328"&gt;&lt;/a&gt;&lt;br&gt;
In your storage account, in the Data management section, select the Redundancy blade.&lt;br&gt;
Select Locally-redundant storage (LRS) in the Redundancy drop-down.&lt;br&gt;
Be sure to Save your changes.&lt;br&gt;
Refresh the page and notice the content only exists in the primary location.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;2.The storage account should only accept requests from secure connections.&lt;/u&gt; Learn more about requiring secure transfer from secure connections-- &lt;a href="https://learn.microsoft.com/azure/storage/common/storage-require-secure-transfer" rel="noopener noreferrer"&gt;https://learn.microsoft.com/azure/storage/common/storage-require-secure-transfer&lt;/a&gt;&lt;br&gt;
In the Settings section, select the Configuration blade.&lt;br&gt;
Ensure Secure transfer required is Enabled.&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%2Fx3gqy6o0m1k7cl9ho9sn.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%2Fx3gqy6o0m1k7cl9ho9sn.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
&lt;u&gt;&lt;br&gt;
3.Developers would like the storage account to use at least TLS version 1.2.&lt;/u&gt; Learn more about transport layer security (TLS)-- &lt;a href="https://learn.microsoft.com/en-gb/azure/storage/common/transport-layer-security-configure-minimum-version?tabs=portal" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/common/transport-layer-security-configure-minimum-version?tabs=portal&lt;/a&gt;.&lt;br&gt;
In the Settings section, select the Configuration blade.&lt;br&gt;
Ensure the Minimal TLS version is set to Version 1.2.&lt;br&gt;
&lt;u&gt;&lt;br&gt;
4.Until the storage is needed again, disable requests to the storage account.&lt;/u&gt; Learn more about disabling shared keys-- &lt;a href="https://learn.microsoft.com/en-gb/azure/storage/common/shared-key-authorization-prevent?tabs=portal#disable-shared-key-authorization" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/common/shared-key-authorization-prevent?tabs=portal#disable-shared-key-authorization&lt;/a&gt;.&lt;br&gt;
In the Settings section, select the Configuration blade.&lt;br&gt;
Ensure Allow storage account key access is Disabled.&lt;br&gt;
Be sure to Save your changes.&lt;br&gt;
Ensure the storage account allows public access from all networks.&lt;br&gt;
In the Security + networking section, select the Networking 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%2Fhug6ahm7aqo3nuiokj0u.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%2Fhug6ahm7aqo3nuiokj0u.png" alt=" " width="799" height="330"&gt;&lt;/a&gt;&lt;br&gt;
&lt;u&gt;5.Ensure Public network access is set to Enabled from all networks.&lt;/u&gt;&lt;br&gt;
Be sure to Save your changes.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>cloudstorage</category>
      <category>cloud</category>
      <category>resources</category>
    </item>
    <item>
      <title>Creating a Secure storage for Azure Files and Azure Blob-Storage</title>
      <dc:creator>Berenice Enikanoselu</dc:creator>
      <pubDate>Sun, 24 May 2026 23:43:17 +0000</pubDate>
      <link>https://dev.to/berenice/creating-a-secure-storage-for-azure-files-and-azure-blob-storage-3p2h</link>
      <guid>https://dev.to/berenice/creating-a-secure-storage-for-azure-files-and-azure-blob-storage-3p2h</guid>
      <description>&lt;p&gt;The job description is given that a company wants to ensure their files or Apps  be stored and only accessed using keys and managed identities. The developers should use role-based access control and for testing, protected immutable storage is needed. We would now provide a guide to the successful deployment of the resources needed in this job in a four(4) level grouped activities.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;A. Create the storage account and managed identity&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;u&gt;1. Provide a storage account for the web app.&lt;/u&gt;&lt;br&gt;
In the portal, search for and select &lt;strong&gt;Storage accounts&lt;/strong&gt;.&lt;br&gt;
&lt;strong&gt;Select + 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%2Fp8j69wb293wvhyl497gi.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%2Fp8j69wb293wvhyl497gi.png" alt=" " width="800" height="422"&gt;&lt;/a&gt;&lt;br&gt;
Below the Resource group bar select &lt;strong&gt;Create new.&lt;/strong&gt; &lt;br&gt;
Give your resource group a name and select OK to save your changes.&lt;br&gt;
Provide a &lt;em&gt;Storage account name&lt;/em&gt;. Ensure the name is unique and meets the naming requirements.&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%2Fp96g1ah0n2ebz1h07xz2.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%2Fp96g1ah0n2ebz1h07xz2.png" alt=" " width="785" height="413"&gt;&lt;/a&gt;&lt;br&gt;
Move to the_ Encryption tab_.&lt;br&gt;
Check the box for &lt;em&gt;Enable infrastructure encryption.&lt;/em&gt;&lt;br&gt;
&lt;u&gt;Notice the warning, This option cannot be changed after this storage account is created.&lt;/u&gt;&lt;br&gt;
Select &lt;strong&gt;Review + Create.&lt;/strong&gt;&lt;br&gt;
Wait for the resource to deploy.&lt;/p&gt;

&lt;p&gt;2.&lt;u&gt; Provide a managed identity for the web app to use. Learn more about managed identities.&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;Search for and select &lt;strong&gt;Managed identities&lt;/strong&gt;.&lt;br&gt;
Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
Select your &lt;em&gt;resource group&lt;/em&gt;.&lt;br&gt;
Give your &lt;em&gt;managed identity&lt;/em&gt; a name.&lt;br&gt;
Select &lt;strong&gt;Review and create&lt;/strong&gt;, and then &lt;strong&gt;Create.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;3.Assign the correct permissions to the managed identity&lt;/u&gt;.&lt;br&gt;
The identity only needs to read and list containers and blobs. Learn more about [how to assign Azure roles --(&lt;a href="https://learn.microsoft.com/en-gb/azure/role-based-access-control/role-assignments-portal" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/role-based-access-control/role-assignments-portal&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Search for and select your &lt;strong&gt;storage account.&lt;/strong&gt;&lt;br&gt;
Select the &lt;strong&gt;Access Control (IAM)&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%2F6x7qqxfx6qe2ozyrp23c.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%2F6x7qqxfx6qe2ozyrp23c.png" alt=" " width="800" height="390"&gt;&lt;/a&gt;&lt;br&gt;
Select &lt;strong&gt;Add role assignment&lt;/strong&gt; (center of the page).&lt;br&gt;
On the &lt;em&gt;Job functions roles&lt;/em&gt; page, search for and select the &lt;strong&gt;Storage Blob Data Reader role&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%2F4rm0dtmnqo32pbtpwlh4.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%2F4rm0dtmnqo32pbtpwlh4.png" alt=" " width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the &lt;strong&gt;Members&lt;/strong&gt; page, select &lt;em&gt;Managed identity.&lt;/em&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%2Fenc3zjzc71znb56yukts.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%2Fenc3zjzc71znb56yukts.png" alt=" " width="799" height="338"&gt;&lt;/a&gt;&lt;br&gt;
Select Select &lt;strong&gt;members&lt;/strong&gt;, in the &lt;em&gt;Managed identity&lt;/em&gt; drop-down select &lt;strong&gt;User-assigned managed identity&lt;/strong&gt;.&lt;br&gt;
Select the managed identity you created in the previous step.&lt;br&gt;
Click Select and then &lt;strong&gt;Review + assign&lt;/strong&gt; the role.&lt;br&gt;
Select &lt;strong&gt;Review + assign&lt;/strong&gt; a second time to add the role assignment.&lt;br&gt;
Your storage account can now be accessed by a managed identity with the Storage Data Blob Reader permissions.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;B. Secure access to the storage account with a key vault and key.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;u&gt;1. To create the key vault and key needed for this part of the job, your user account must have Key Vault Administrator permissions.&lt;/u&gt; &lt;br&gt;
Go the Extra mile, You can Learn more about how to provide access to Key Vault keys, certificates, and secrets with an Azure role-based access control --&lt;a href="https://learn.microsoft.com/en-gb/azure/key-vault/general/rbac-guide?tabs=azure-cli" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/key-vault/general/rbac-guide?tabs=azure-cli&lt;/a&gt;&lt;br&gt;
In the portal, search for and select &lt;strong&gt;Resource groups&lt;/strong&gt;.&lt;br&gt;
Select your resource group, and then the &lt;strong&gt;Access Control (IAM&lt;/strong&gt;) blade.&lt;br&gt;
Select &lt;em&gt;Add role assignment&lt;/em&gt; (center of the page).&lt;br&gt;
On the Job functions roles page, search for and select the &lt;em&gt;Key Vault Administrator role&lt;/em&gt;.&lt;br&gt;
On the_ Members_ page, select &lt;strong&gt;User, group, or service principal&lt;/strong&gt;.&lt;br&gt;
Select &lt;em&gt;Select members&lt;/em&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%2Fg2tu2dxc766h21xesvn8.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%2Fg2tu2dxc766h21xesvn8.png" alt=" " width="800" height="379"&gt;&lt;/a&gt;&lt;br&gt;
Search for and select your user account. Your user account is shown in the top right of the portal.&lt;br&gt;
Click Select and then &lt;strong&gt;Review + assign&lt;/strong&gt;.&lt;br&gt;
Select &lt;strong&gt;Review + assign&lt;/strong&gt; a second time to add the role assignment.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;2.Create a key vault to store the access keys.&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;In the portal, search for and select &lt;strong&gt;Key vaults&lt;/strong&gt;.&lt;br&gt;
Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
Select your resource group.&lt;br&gt;
Provide the name for the key vault. Ensure you use a unique name.&lt;br&gt;
Ensure on the Access configuration tab that &lt;strong&gt;Azure role-based access control&lt;/strong&gt; is selected.&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%2Fgkhsk0uvm8awkmuiorpw.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%2Fgkhsk0uvm8awkmuiorpw.png" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;br&gt;
Select &lt;strong&gt;Review + create&lt;/strong&gt;.&lt;br&gt;
Wait for the validation checks to complete and then select &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
After the deployment, select &lt;strong&gt;Go to resource&lt;/strong&gt;.&lt;br&gt;
On the Overview blade ensure both &lt;u&gt;Soft-delete&lt;/u&gt; and &lt;u&gt;Purge protection&lt;/u&gt; are &lt;strong&gt;enabled&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%2Fo9zg7c8fkkwzwhwpa4d6.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%2Fo9zg7c8fkkwzwhwpa4d6.png" alt=" " width="800" height="344"&gt;&lt;/a&gt;&lt;br&gt;
As seen Purge Protection is Disabled, Click on Disable to enable it&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%2F73x7znr5yn798zsnmv2e.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%2F73x7znr5yn798zsnmv2e.png" alt=" " width="800" height="338"&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%2Fevqp8k9d17a6p83zecl4.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%2Fevqp8k9d17a6p83zecl4.png" alt=" " width="800" height="302"&gt;&lt;/a&gt;&lt;br&gt;
&lt;u&gt;3. Create a customer-managed key in the key vault.&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;In your key vault, in the &lt;strong&gt;Objects&lt;/strong&gt; section, select the &lt;strong&gt;Keys&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%2F9orbve126ei9fb4er2h2.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%2F9orbve126ei9fb4er2h2.png" alt=" " width="800" height="381"&gt;&lt;/a&gt;&lt;br&gt;
Select &lt;strong&gt;Generate/Import&lt;/strong&gt; and Name the key.&lt;br&gt;
Take the defaults for the rest of the parameters, and &lt;strong&gt;Create&lt;/strong&gt; the key.&lt;/p&gt;

&lt;h2&gt;
  
  
  C. Configure the storage account to use the customer managed key in the key vault
&lt;/h2&gt;

&lt;p&gt;&lt;u&gt;1. Before you can complete the next steps, you must assign the Key Vault Crypto Service Encryption User role to the managed identity.&lt;/u&gt; &lt;br&gt;
Learn more about how to use a system-assigned managed identity to authorize access-- &lt;a href="https://learn.microsoft.com/en-gb/azure/storage/common/customer-managed-keys-configure-existing-account?tabs=azure-portal#use-a-system-assigned-managed-identity-to-authorize-access" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/common/customer-managed-keys-configure-existing-account?tabs=azure-portal#use-a-system-assigned-managed-identity-to-authorize-access&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the portal, search for and select &lt;em&gt;Resource groups&lt;/em&gt;.&lt;br&gt;
Select your resource group, and then the &lt;strong&gt;Access Control (IAM)&lt;/strong&gt; blade.&lt;br&gt;
Select &lt;strong&gt;Add role assignment&lt;/strong&gt; (center of the page).&lt;br&gt;
On the &lt;strong&gt;Job functions roles&lt;/strong&gt; page, search for and select the &lt;em&gt;Key Vault Crypto Service Encryption User role.&lt;/em&gt;&lt;br&gt;
On the &lt;em&gt;Members&lt;/em&gt; page, select &lt;strong&gt;Managed identity&lt;/strong&gt;.&lt;br&gt;
Select Select &lt;strong&gt;members&lt;/strong&gt;, in the &lt;em&gt;Managed identity&lt;/em&gt; drop-down select &lt;strong&gt;User-assigned managed identity&lt;/strong&gt;.&lt;br&gt;
Select your managed identity.&lt;br&gt;
Click Select and then &lt;strong&gt;Review + assign&lt;/strong&gt;.&lt;br&gt;
Select &lt;strong&gt;Review + assign&lt;/strong&gt; a second time to add the role assignment.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;2. Configure the storage account to use the customer managed key in your key vault.&lt;/u&gt; &lt;br&gt;
Always go the extra mile, Learn more about customer managed keys on an existing storage account--&lt;a href="https://learn.microsoft.com/en-gb/azure/storage/common/customer-managed-keys-configure-existing-account?tabs=azure-portal#use-a-system-assigned-managed-identity-to-authorize-access" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/common/customer-managed-keys-configure-existing-account?tabs=azure-portal#use-a-system-assigned-managed-identity-to-authorize-access&lt;/a&gt;.&lt;br&gt;
Return to your the storage account.&lt;br&gt;
In the Security + networking section, select the Encryption blade.&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%2F8qqxmiran5l5yc8h8397.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%2F8qqxmiran5l5yc8h8397.png" alt=" " width="800" height="324"&gt;&lt;/a&gt;&lt;br&gt;
Select Customer-managed keys.&lt;br&gt;
Select a key vault and key. Select your key vault and key.&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%2Fjjpdsm2pysnsmv3bhoel.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%2Fjjpdsm2pysnsmv3bhoel.png" alt=" " width="800" height="389"&gt;&lt;/a&gt;&lt;br&gt;
Select to confirm your choices.&lt;br&gt;
Ensure the Identity type is User-assigned.&lt;br&gt;
Select an identity.&lt;br&gt;
Select your managed identity then select Add.&lt;br&gt;
Save your changes.&lt;br&gt;
&lt;em&gt;You may receive an error that your identity does not have the correct permissions, wait a minute and try again.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  D. Configure a time-based retention policy and an encryption scope.
&lt;/h2&gt;

&lt;p&gt;The developers require a storage container where files can’t be modified, even by the administrator. Another extra mile, learn more about blob immutable storage--&lt;a href="https://learn.microsoft.com/en-gb/azure/storage/blobs/immutable-storage-overview" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/blobs/immutable-storage-overview&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;1. Navigate to your storage account.&lt;/u&gt;&lt;br&gt;
In the &lt;em&gt;Data storage&lt;/em&gt; section, select the &lt;strong&gt;Containers&lt;/strong&gt; blade.&lt;br&gt;
Create a container and name it mine is called &lt;strong&gt;hold&lt;/strong&gt;. Take the defaults. Be sure to Create the container.&lt;br&gt;
Upload a file to the container.&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%2Fsyq3fopbqqxuc0p06oqt.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%2Fsyq3fopbqqxuc0p06oqt.png" alt=" " width="800" height="321"&gt;&lt;/a&gt;&lt;br&gt;
In the Settings section, select the &lt;strong&gt;Access policy&lt;/strong&gt; blade.&lt;br&gt;
In the &lt;em&gt;Immutable blob storage&lt;/em&gt; section, select &lt;strong&gt;+ Add policy&lt;/strong&gt;.&lt;br&gt;
For the Policy type, select &lt;strong&gt;time-based retention&lt;/strong&gt;.&lt;br&gt;
Set the Retention period to 5 days.&lt;br&gt;
Be sure to &lt;strong&gt;Save&lt;/strong&gt; your changes.&lt;br&gt;
Try to delete the file in the container.&lt;br&gt;
Verify you are notified failed to delete blobs due to policy.&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%2Fpziuvabglkd5gxk0p2tu.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%2Fpziuvabglkd5gxk0p2tu.png" alt=" " width="799" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.We require an encryption scope that enables infrastructure encryption. One more extra mile, learn more about infrastructure encryption --&lt;a href="https://learn.microsoft.com/en-gb/azure/storage/common/infrastructure-encryption-enable?tabs=portal" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-gb/azure/storage/common/infrastructure-encryption-enable?tabs=portal&lt;/a&gt;.&lt;/p&gt;

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

</description>
      <category>azure</category>
      <category>infrastructure</category>
      <category>security</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Creating and Deploying your first Linux VM made simple</title>
      <dc:creator>Berenice Enikanoselu</dc:creator>
      <pubDate>Tue, 19 May 2026 21:20:13 +0000</pubDate>
      <link>https://dev.to/berenice/creating-and-deploying-your-first-linux-vm-made-simple-585m</link>
      <guid>https://dev.to/berenice/creating-and-deploying-your-first-linux-vm-made-simple-585m</guid>
      <description>&lt;p&gt;Hi,I'm making this post to show you how easily you can create and deploy your first VM. Constant practice will make you a NINJA. Come right in with me and let's see together, even a dummy will get it the very first time!&lt;/p&gt;

&lt;p&gt;To create a Virtual Machine follow these steps:&lt;/p&gt;

&lt;p&gt;1 Login to your Azure Portal you can click this link &lt;a href="https://azure.microsoft.com/en-us/get-started/azure-portal" rel="noopener noreferrer"&gt;https://azure.microsoft.com/en-us/get-started/azure-portal&lt;/a&gt;&lt;br&gt;
2 sign in with your preferred login details&lt;br&gt;
3 Type VM or virtual machine in the search bar, select virtual machines from the drop down you find &lt;br&gt;
4 click Create in the window that opens, pick the first option: &lt;strong&gt;Virtual Machine&lt;/strong&gt;,which is the simplest to create for now. Others will be treated in subsequent exercises&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%2Fka31965w1c7xiyjo0yrs.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%2Fka31965w1c7xiyjo0yrs.png" alt=" " width="800" height="436"&gt;&lt;/a&gt;&lt;br&gt;
5 A new window will open showing your current subscription, you can change it if you have multiple subscriptions. Choose an existing resource group by clicking the arrow or create a new one if none is existing(or If you prefer a new one to the existing ones)&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%2Fv4evsy73qkot2nzsddi2.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%2Fv4evsy73qkot2nzsddi2.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;br&gt;
6 Name your virtual marchine(name must be between 3- 24 characters, you can use  alpbabeths or numbers or both), choose your preferred location, choose availability option (We chose &lt;em&gt;NO INFRASTRUCTURE REDUNDANCY REQUIRED&lt;/em&gt; because we are running on free subscription) Choose &lt;strong&gt;Standard&lt;/strong&gt; security type(this is to minimise cost too), choose any of the Ubuntu servers as Image. You can view all the images as indicated by the arrow&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%2Fy4w3qjjawuexzseqdevq.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%2Fy4w3qjjawuexzseqdevq.png" alt=" " width="800" height="454"&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%2F884fgvyfthlxy1hdb88c.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%2F884fgvyfthlxy1hdb88c.png" alt=" " width="800" height="306"&gt;&lt;/a&gt; &lt;br&gt;
7 Choose the size. Click to see more sizes.&lt;br&gt;
Under &lt;strong&gt;Administrator Account&lt;/strong&gt; choose Password&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%2Fe7izaz0prk0otam0wpbg.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%2Fe7izaz0prk0otam0wpbg.png" alt=" " width="799" height="444"&gt;&lt;/a&gt;&lt;br&gt;
8 Fill in the login details for username, Password and confirmation. Be sure to save your password in a secure place where you can easily reference it.&lt;br&gt;
9 Select SSH(22) and HTTP(80) under &lt;strong&gt;Select Inbound Port&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%2Feoxf1b6j6b8vg68odi7u.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%2Feoxf1b6j6b8vg68odi7u.png" alt=" " width="799" height="427"&gt;&lt;/a&gt;&lt;br&gt;
10 Scroll up and click &lt;strong&gt;Monitoring&lt;/strong&gt;, disable Boot diagnostic&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%2Fhdaolwieqsk4nx5kud3h.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%2Fhdaolwieqsk4nx5kud3h.png" alt=" " width="800" height="390"&gt;&lt;/a&gt;&lt;br&gt;
11 click create and review. (Fix any review that is suggested, then click create and review again). Click create. Your Virtual machine will start deploying!&lt;br&gt;
After it is fully deployed you can improve the efficiency of the machine by follow these steps:&lt;br&gt;
12 Click the Primary NIC Public IP Address.&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%2Fdarf5ib52bn1v4arm97t.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%2Fdarf5ib52bn1v4arm97t.png" alt=" " width="800" height="316"&gt;&lt;/a&gt;&lt;br&gt;
Drag the circle as indicated by the arrow to increase the idle time out from 4 to 30 and click &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%2Fai0u3yus8pxvmrq1rrgq.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%2Fai0u3yus8pxvmrq1rrgq.png" alt=" " width="800" height="301"&gt;&lt;/a&gt;&lt;br&gt;
Use the browser back arrow to return to the virtual machine page and click connect twice to make the VM active.&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%2Fpctcbrdqmc96q6wvy9or.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%2Fpctcbrdqmc96q6wvy9or.png" alt=" " width="800" height="524"&gt;&lt;/a&gt; &lt;br&gt;
Click &lt;strong&gt;Check Access&lt;/strong&gt; to give a green mark &lt;strong&gt;&lt;em&gt;port 22 is accesible.....&lt;/em&gt;&lt;/strong&gt;. Copy the SSH address as indicated by arrow&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%2Fwpfgxgc1deki7mveu5o9.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%2Fwpfgxgc1deki7mveu5o9.png" alt=" " width="800" height="566"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open your VS code terminal. If you do not have the VScode terminal download it from google and do the following using the command interface&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;paste the copied SSH address in the command window and strike enter key on your keyboard.
Input &lt;strong&gt;yes&lt;/strong&gt;, strike enter key, input your password(Note that the Password will not show so you have to be sure of what you are inputting), strike enter key
&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%2Fpoajzxafibz1zst31kww.png" alt=" " width="799" height="291"&gt;
&lt;/li&gt;
&lt;li&gt;run the following command one after the other
&lt;strong&gt;i. sudo su&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;ii. apt update&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;iii. apt install ngnix&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;iv. apt instal vim&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%2F3fx22kbplja57r7zzahn.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%2F3fx22kbplja57r7zzahn.png" alt=" " width="800" height="419"&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%2Fht57eacmzyv0neol4hv2.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%2Fht57eacmzyv0neol4hv2.png" alt=" " width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yippeee!!! You are now a NINJA! more commands will be treated in subsequent posts!!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>virtualmachine</category>
      <category>techtalks</category>
      <category>ubuntu</category>
    </item>
    <item>
      <title>Creating and Deploying your first Linux VM made simple</title>
      <dc:creator>Berenice Enikanoselu</dc:creator>
      <pubDate>Tue, 19 May 2026 18:45:36 +0000</pubDate>
      <link>https://dev.to/berenice/creating-and-deploying-your-first-linux-vm-made-simple-545a</link>
      <guid>https://dev.to/berenice/creating-and-deploying-your-first-linux-vm-made-simple-545a</guid>
      <description>&lt;p&gt;&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi,I'm making this post to show you how easy you can create and deploy your first VM. Constant practice will make you a NINJA. Come right in with me and let's see together, even a dummy will get it the very first time!&lt;/p&gt;

&lt;p&gt;To create a Virtual Machine follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Login to your Azure Portal  you can click this link &lt;a href="https://azure.microsoft.com/en-us/get-started/azure-portal" rel="noopener noreferrer"&gt;https://azure.microsoft.com/en-us/get-started/azure-portal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;sign in with your preferred login details&lt;/li&gt;
&lt;li&gt;Type VM or virtual machine in the search bar, select virtual machines from the drop down you find &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;4 click Create in the window that opens, pick the first option: Virtual Machine which is the simplest to create for now. Others will be treated in subsequent exercises &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%2F6etoaecwfhpy0sjzqxnm.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%2F6etoaecwfhpy0sjzqxnm.png" alt=" " width="800" height="349"&gt;&lt;/a&gt;&lt;br&gt;
5 A new window will open showing your current subscription, you can change it if you have multiple subscriptions. Choose aan existing resource group by clicking the arrow or create a new one if none is existing(or you prefer a new one to the existing ones)&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%2Fv4evsy73qkot2nzsddi2.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%2Fv4evsy73qkot2nzsddi2.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;br&gt;
6 Name your virtual marchine(name must be between 3- 24 characters with alpbabeths/numbers), choose your preferred location, choose availability option (We chose &lt;em&gt;NO INFRASTRUCTURE REDUNDANCY REQUIRED&lt;/em&gt; because we are running on free subscription) Choose Standard security type(this is to minimise cost too), choose any of the Ubuntu servers as Image. You can view all the images as indicated by the arrow &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%2Fy4w3qjjawuexzseqdevq.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%2Fy4w3qjjawuexzseqdevq.png" alt=" " width="800" height="454"&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%2F884fgvyfthlxy1hdb88c.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%2F884fgvyfthlxy1hdb88c.png" alt=" " width="800" height="306"&gt;&lt;/a&gt;&lt;br&gt;
7 Choose the size. Click to see more sizes.&lt;br&gt;
 Under &lt;strong&gt;Administrator Account&lt;/strong&gt; choose Password&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%2Fe7izaz0prk0otam0wpbg.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%2Fe7izaz0prk0otam0wpbg.png" alt=" " width="799" height="444"&gt;&lt;/a&gt;&lt;br&gt;
8 Fill in the login details for username, Password and confirmation. Be sure to save your password in a secure place where you can easily reference it.&lt;br&gt;
9 Select SSH(22) and HTTP(80) under Select Inbound Port&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%2Feoxf1b6j6b8vg68odi7u.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%2Feoxf1b6j6b8vg68odi7u.png" alt=" " width="799" height="427"&gt;&lt;/a&gt;&lt;br&gt;
10 Scroll up and click &lt;strong&gt;Monitoring&lt;/strong&gt;, disable Boot diagnostic&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%2Fhdaolwieqsk4nx5kud3h.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%2Fhdaolwieqsk4nx5kud3h.png" alt=" " width="800" height="390"&gt;&lt;/a&gt;&lt;br&gt;
11 click create and review. (Fix any review that is suggested, then click create and review again). Click create. Your Virtual machine will start deploying!&lt;br&gt;
After it is fully deployed you can improve the efficiency of the machine by follow these steps: &lt;br&gt;
11 click the Primary NIC Public IP Address.&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%2Fdarf5ib52bn1v4arm97t.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%2Fdarf5ib52bn1v4arm97t.png" alt=" " width="800" height="316"&gt;&lt;/a&gt; &lt;br&gt;
Drag the circle as indicated by the arrow to increase the idle time out from 4 to 30 and click &lt;strong&gt;APPLY **&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%2Fai0u3yus8pxvmrq1rrgq.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%2Fai0u3yus8pxvmrq1rrgq.png" alt=" " width="800" height="301"&gt;&lt;/a&gt;&lt;br&gt;
Use the browser back arrow  to return to the virtual machine page and click connect twice to make the VM active. &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%2Fpctcbrdqmc96q6wvy9or.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%2Fpctcbrdqmc96q6wvy9or.png" alt=" " width="800" height="524"&gt;&lt;/a&gt; &lt;br&gt;
Click **Check Access&lt;/strong&gt; to give a green mark &lt;strong&gt;&lt;em&gt;port 22 is accesible.....&lt;/em&gt;&lt;/strong&gt;. coppy the SSH address as indicated by arrow&lt;br&gt;
![ ](&lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rivrqcd8uqu0iefh3t9x.png" rel="noopener noreferrer"&gt;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rivrqcd8uqu0iefh3t9x.png&lt;/a&gt;&lt;br&gt;
Open your VS code terminal. If you do not have the VScode terminal download it from google and run the following commands&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;paste the copied SSH address in the command line and strike enter key on your keyboard.  Input &lt;strong&gt;yes&lt;/strong&gt;, strike enter key, inputyour password(Note that the Password will not show so you have to be sure of what you are inputting), strike enter key
&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%2Fpoajzxafibz1zst31kww.png" alt=" " width="799" height="291"&gt;
&lt;/li&gt;
&lt;li&gt;run the following command subsequently
&lt;strong&gt;i. sudo su
ii. apt update
iii. apt install ngnix
iv. apt instal vim&lt;/strong&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%2F3fx22kbplja57r7zzahn.png" alt=" " width="800" height="419"&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%2Fht57eacmzyv0neol4hv2.png" alt=" " width="800" height="402"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You are now a NINJA! more commands will be treated in subsequent posts!!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>virtualmachine</category>
      <category>techtalks</category>
    </item>
    <item>
      <title>Creating a Resource Group using Azure Portal</title>
      <dc:creator>Berenice Enikanoselu</dc:creator>
      <pubDate>Tue, 12 May 2026 15:42:20 +0000</pubDate>
      <link>https://dev.to/berenice/create-a-resource-group-in-azure-portal-4b5a</link>
      <guid>https://dev.to/berenice/create-a-resource-group-in-azure-portal-4b5a</guid>
      <description>&lt;p&gt;A resource group is like a folder or a store where you keep related things, in this case where you keep resources. This post will show you how to create a Resource Group.&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 1: SIGN IN TO AZURE PORTAL
&lt;/h3&gt;

&lt;p&gt;Choose an account from the list of accounts and sign in using the preferred method.&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%2Fk0otq2w8m78oc4vqbqk7.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%2Fk0otq2w8m78oc4vqbqk7.png" alt=" " width="768" height="738"&gt;&lt;/a&gt;&lt;br&gt;
In the search bar, type resource group&lt;br&gt;
click resource group in the drop down&lt;br&gt;
click +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%2Fwxwkhww1m8qjabfmrb1q.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%2Fwxwkhww1m8qjabfmrb1q.png" alt=" " width="800" height="115"&gt;&lt;/a&gt;&lt;br&gt;
Fill in your preferred name for the resource group in the bar . Ensure that the name has between 3- 24 characters e.g Myfirstprojectrg, where rg stands for resource group&lt;/p&gt;

&lt;p&gt;Choose a location. Location means where your data centre will be located.&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%2Fbcdr1pm1azj8udtaltyv.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%2Fbcdr1pm1azj8udtaltyv.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;br&gt;
click Review+create&lt;br&gt;
click 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%2F1jk8aflqg5dr4jajqda9.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%2F1jk8aflqg5dr4jajqda9.png" alt=" " width="800" height="445"&gt;&lt;/a&gt;&lt;br&gt;
refresh to show your new resource group.&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%2Fxkziejsb6nmd0zfjyzrz.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%2Fxkziejsb6nmd0zfjyzrz.png" alt=" " width="800" height="164"&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%2F8v9r2eyx72m3qi43opf0.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%2F8v9r2eyx72m3qi43opf0.png" alt=" " width="800" height="302"&gt;&lt;/a&gt;&lt;br&gt;
Try following these steps to create your own resource group.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>resourcegroup</category>
      <category>cloudcomputing</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
