<?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: Oluwatosin A.</title>
    <description>The latest articles on DEV Community by Oluwatosin A. (@oluwatosin_a_4095b9f24ae).</description>
    <link>https://dev.to/oluwatosin_a_4095b9f24ae</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%2F3357833%2Fa8d77745-7b65-4e35-a3a1-dc38067d6eaa.png</url>
      <title>DEV Community: Oluwatosin A.</title>
      <link>https://dev.to/oluwatosin_a_4095b9f24ae</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oluwatosin_a_4095b9f24ae"/>
    <language>en</language>
    <item>
      <title>Provide Storage for the Public Website</title>
      <dc:creator>Oluwatosin A.</dc:creator>
      <pubDate>Sat, 26 Jul 2025 22:23:31 +0000</pubDate>
      <link>https://dev.to/oluwatosin_a_4095b9f24ae/provide-storage-for-the-public-website-5cm2</link>
      <guid>https://dev.to/oluwatosin_a_4095b9f24ae/provide-storage-for-the-public-website-5cm2</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;The public website is a key asset for any company. It is where the company displays product images, promotional videos, marketing copy, customer success stories, and many more. &lt;/p&gt;

&lt;p&gt;In Azure, these types of unstructured non-relational data are referred to as blob (binary large objects).&lt;/p&gt;

&lt;p&gt;Company growth will probably translate to more site visits. Therefore, it is essential that the website content remains highly available, loads quickly, and supports features like version control and easy recovery. &lt;/p&gt;

&lt;p&gt;In this guided exercise from Microsoft, we will create and configure an Azure Storage account specifically for hosting this public content. &lt;/p&gt;

&lt;p&gt;We will make it high available, and the contents open for public read access. We will set up a blob container, practice uploading and testing files, enable soft delete to recover accidentally deleted items, and activate versioning to track changes to documents.&lt;/p&gt;




&lt;p&gt;Consider the architectural diagram below:&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%2Fvhjwt9wphxrc02f9stwd.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%2Fvhjwt9wphxrc02f9stwd.png" alt="architectural diagram" width="683" height="584"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  A. Create a Storage Account with High Availability
&lt;/h2&gt;




&lt;h3&gt;
  
  
  Step 1: Create a storage account for the public website
&lt;/h3&gt;




&lt;p&gt;1.1 Go to portal.azure.com&lt;/p&gt;

&lt;p&gt;1.2 In the search bar, type &lt;strong&gt;storage accounts&lt;/strong&gt;. Select &lt;strong&gt;Storage Accounts(Classic)&lt;/strong&gt; from the drop down suggestions&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%2Fcw4ish3ji4wxzgczl7kc.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%2Fcw4ish3ji4wxzgczl7kc.png" alt="storage accounts search" width="800" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1.3 Click &lt;strong&gt;+ Create&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%2Finylaxvs962vu735n6nb.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%2Finylaxvs962vu735n6nb.png" alt="create storage account" width="627" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1.4 Click &lt;strong&gt;Create new&lt;/strong&gt; to create a new resource group. Give it a name and click &lt;strong&gt;OK&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.5 In the &lt;strong&gt;Storage account name&lt;/strong&gt; field, type a globally unique account name&lt;/p&gt;

&lt;p&gt;1.6 Maintain default selections for other settings&lt;/p&gt;

&lt;p&gt;1.7 Scroll to the bottom of the page, click &lt;strong&gt;Review + create&lt;/strong&gt;. On the next page, click &lt;strong&gt;Create&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%2Fluprgssk0yejq8tuprbg.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%2Fluprgssk0yejq8tuprbg.png" alt="review and create" width="800" height="625"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1.8 Wait for the deployment to be completed. Click &lt;strong&gt;Go to resource&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%2F3nfh0iic0frfoqnemayo.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%2F3nfh0iic0frfoqnemayo.png" alt="go to resource" width="800" height="217"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 2: Configure the storage account for high availability
&lt;/h3&gt;




&lt;p&gt;2.1 In the storage account, navigate to the left pane. Click &lt;strong&gt;Data Management&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2.2 Click &lt;strong&gt;Redundancy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2.3 Make sure &lt;strong&gt;Read-access geo-redundant storage (RA-GRS) is selected&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2.4 Confirm two(2) locations are shown, indicating RA-GRS is successfully deployed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2mgt61u2lb0umkiucuup.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%2F2mgt61u2lb0umkiucuup.png" alt="redundancy" width="800" height="324"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 3: Make information stored in the storage account open for public access
&lt;/h3&gt;




&lt;p&gt;3.1. Go to left pane of the storage account. Click &lt;strong&gt;Settings&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;3.2. Click &lt;strong&gt;Configuration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;3.3. Enable &lt;strong&gt;Allow Blob anonymous access&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;3.4. Save &lt;strong&gt;Changes&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%2Fs82dpecev1mwds0xaqvi.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%2Fs82dpecev1mwds0xaqvi.png" alt="Allow Blob anonymous access" width="800" height="445"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  B. Create a Blob Storage Container with Anonymous Read Access
&lt;/h2&gt;




&lt;h3&gt;
  
  
  Step 4: Create a container to store website blob such as documents and pictures
&lt;/h3&gt;




&lt;p&gt;4.1 Still on the storage account, on the left pane, click &lt;strong&gt;Data storage&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;4.2 Click &lt;strong&gt;Containers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;4.3 Click &lt;strong&gt;+ Add container&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;4.4 Give the container a name. Type &lt;em&gt;public&lt;/em&gt; in the &lt;strong&gt;Name&lt;/strong&gt; field.&lt;/p&gt;

&lt;p&gt;4.5 Click &lt;strong&gt;Create&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%2Fk25xk1mh2jac4jtgtvxh.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%2Fk25xk1mh2jac4jtgtvxh.png" alt="Data storage container public" width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 5: Set anonymous read access so customers can view information stored in the container without authenticating
&lt;/h3&gt;




&lt;p&gt;5.1 Select the &lt;em&gt;public&lt;/em&gt; container you just created&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%2Fhcm5poanohuyehlb52ar.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%2Fhcm5poanohuyehlb52ar.png" alt="public container" width="703" height="287"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5.2 Go to &lt;strong&gt;Overview&lt;/strong&gt;. Click &lt;strong&gt;Change access level&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%2F7ck34vwmvv2glycz65uy.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%2F7ck34vwmvv2glycz65uy.png" alt="public container overview" width="800" height="214"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5.3 Set &lt;strong&gt;Anonymous access level&lt;/strong&gt; to &lt;strong&gt;Blob (anonymous read access for blobs only)&lt;/strong&gt;. Click &lt;strong&gt;Ok&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%2Fh3xf2mt519tfmodgfuvf.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%2Fh3xf2mt519tfmodgfuvf.png" alt="set Anonymous access level" width="800" height="174"&gt;&lt;/a&gt;&lt;/p&gt;




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




&lt;h3&gt;
  
  
  Step 6: Upload a file to the &lt;em&gt;public&lt;/em&gt; container for testing purpose
&lt;/h3&gt;




&lt;p&gt;6.1 In the &lt;em&gt;public&lt;/em&gt; container, click &lt;strong&gt;Upload&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;6.2 Click *&lt;em&gt;Browse for files&lt;/em&gt; in the new window. Upload any file type, preferably a small sized text or image&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%2Fovlkds81hljp79xvnwoh.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%2Fovlkds81hljp79xvnwoh.png" alt="Browse for files" width="800" height="214"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6.3 Click &lt;strong&gt;Upload&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%2F5p1ctlh93sn4m0hngyq1.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%2F5p1ctlh93sn4m0hngyq1.png" alt="upload test file" width="800" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6.4 Ensure test file is successfully uploaded (you may have to refresh the page)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnxosxyvg73jebi0547xt.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%2Fnxosxyvg73jebi0547xt.png" alt="successfully uploaded test file" width="800" height="250"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 7: Get file URL and test in browser
&lt;/h3&gt;




&lt;p&gt;7.1 Click uploaded test file&lt;/p&gt;

&lt;p&gt;7.2 A file window opens up to the right. In the &lt;strong&gt;Overview&lt;/strong&gt; tab, copy shown URL to clipboard&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%2Fetdj2fjt553k8qmkossa.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%2Fetdj2fjt553k8qmkossa.png" alt="test file" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;7.3 Open a new browser tab. Paste copied URL in the address bar and hit enter. If test file is an image, it will be dispayed in the browser. Other file types are downloaded.&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%2Flc7fe8t8yelvm88qcznv.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%2Flc7fe8t8yelvm88qcznv.png" alt="file in browser" width="800" height="190"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  D. Configure Soft Delete
&lt;/h2&gt;




&lt;h3&gt;
  
  
  Step 8: Set a 21-day soft delete duration. Files deleted within this period can be restored (similar to a desktop recycle bin)
&lt;/h3&gt;




&lt;p&gt;8.1 Go to the &lt;strong&gt;storage account&lt;/strong&gt;. Click &lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;8.2 In the properties tab, find &lt;strong&gt;Blob soft delete&lt;/strong&gt;. Notice the default setting is &lt;strong&gt;Enabled (7 days)&lt;/strong&gt;. Click to change.&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%2Fqi587q2d8e7u77b20sli.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%2Fqi587q2d8e7u77b20sli.png" alt="Blob soft delete" width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;8.3 Ensure &lt;strong&gt;Enable soft delete for blobs&lt;/strong&gt; is checked.&lt;/p&gt;

&lt;p&gt;8.4 In the &lt;strong&gt;Keep deleted blobs for (in days)&lt;/strong&gt; field, change the value to 21.&lt;/p&gt;

&lt;p&gt;8.5 &lt;strong&gt;Save&lt;/strong&gt; Changes&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%2Fc4lzx9yj9i722murh533.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%2Fc4lzx9yj9i722murh533.png" alt="save changes" width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 9: Practice how to restore deleted files using soft delete
&lt;/h3&gt;




&lt;p&gt;9.1 Go to the &lt;em&gt;public&lt;/em&gt; container - Storage accounts &amp;gt; Data storage &amp;gt; Containers &amp;gt; &lt;em&gt;public&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;9.2 Select uploaded file. Click &lt;strong&gt;Delete&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%2Fz76yw4e596hdu0t4fibd.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%2Fz76yw4e596hdu0t4fibd.png" alt="delete test file" width="800" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;9.3 Notice the file is deleted. Locate the &lt;strong&gt;Only show active  blobs&lt;/strong&gt; drop down beside the search box. Toggle and select &lt;strong&gt;Show active and deleted blobs&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%2Fad1rl2oj67urnoqiye8t.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%2Fad1rl2oj67urnoqiye8t.png" alt="Only show active blobs" width="800" height="184"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;9.4 Select file. Locate the context menu far right. Click and select &lt;strong&gt;Undelete&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%2Fijjo4yr30rf8ev13bw68.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%2Fijjo4yr30rf8ev13bw68.png" alt="Undelete" width="800" height="167"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;9.5 Confirm deleted file is restored.&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%2F794kbqbj3uzd210sq732.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%2F794kbqbj3uzd210sq732.png" alt="Confirm deleted file is restored" width="785" height="226"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  E. Configure Versioning
&lt;/h2&gt;




&lt;h3&gt;
  
  
  Step 10: Set Blob versioning to retain versions of website documents as you update them
&lt;/h3&gt;




&lt;p&gt;10.1 Go to &lt;strong&gt;storage account&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;10.2 Click &lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;10.3 Under &lt;strong&gt;Blob service&lt;/strong&gt;, locate &lt;strong&gt;Versioning&lt;/strong&gt;. Click &lt;strong&gt;Disabled&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%2Ftr3zwt3bidaq1t07uvjs.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%2Ftr3zwt3bidaq1t07uvjs.png" alt="Blob service versioning" width="800" height="510"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;10.4 Check &lt;strong&gt;Enable versioning for blobs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;10.5 &lt;strong&gt;Save&lt;/strong&gt; Changes&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%2Fq0g6fydcc7948pftxq9b.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%2Fq0g6fydcc7948pftxq9b.png" alt="Enable versioning for blobs" width="767" height="401"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 11: Experiment with restoring previous version of your blob file
&lt;/h3&gt;




&lt;p&gt;11.1 Go to the &lt;em&gt;public&lt;/em&gt; container. In &lt;strong&gt;Overview&lt;/strong&gt;, upload another version of the test file you uploaded earlier. Notice the alert &lt;em&gt;the following files already exist&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%2Ft9dsq1557zu5wiys2d5y.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%2Ft9dsq1557zu5wiys2d5y.png" alt="the following files already exist" width="800" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;11.2 Check &lt;strong&gt;Overwrite if file already exist&lt;/strong&gt;. Click &lt;strong&gt;Upload&lt;/strong&gt;. Once successfully uploaded, the previous version is deleted.&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%2Fjpts69leidguv48p6npl.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%2Fjpts69leidguv48p6npl.png" alt="Overwrite if file already exist" width="726" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;11.3 To view deleted version, click on the &lt;strong&gt;context menu&lt;/strong&gt; button far right&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%2F61aqb335owfb7vws184y.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%2F61aqb335owfb7vws184y.png" alt="view deleted version" width="800" height="162"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;11.4 Click &lt;strong&gt;View versions&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%2Fqr8bd0e7231gei7wuprd.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%2Fqr8bd0e7231gei7wuprd.png" alt="View versions" width="800" height="295"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;11.5 Beside the &lt;strong&gt;Filter versions&lt;/strong&gt; field, toggle &lt;strong&gt;Show deleted versions&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%2Fj8qeq37e5bf31od6scjs.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%2Fj8qeq37e5bf31od6scjs.png" alt="Filter versions" width="800" height="239"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;




&lt;p&gt;Now that we have successfully provisioned and configured a highly available Azure Storage solution for the company’s public website, we are rest assured the content on the public-facing website is resilient, recoverable, and globally accessible with low latency.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>cloudstorage</category>
      <category>microsoft</category>
      <category>cloudskills</category>
    </item>
    <item>
      <title>Provide Storage for the IT Department Testing and Training</title>
      <dc:creator>Oluwatosin A.</dc:creator>
      <pubDate>Mon, 21 Jul 2025 22:36:05 +0000</pubDate>
      <link>https://dev.to/oluwatosin_a_4095b9f24ae/provide-storage-for-the-it-department-testing-and-training-nl8</link>
      <guid>https://dev.to/oluwatosin_a_4095b9f24ae/provide-storage-for-the-it-department-testing-and-training-nl8</guid>
      <description>&lt;p&gt;Businesses generate, use, and depend on the processing and storage of vast amounts of data, for daily operations and business continuity.&lt;/p&gt;

&lt;p&gt;Varying data types often have different storage requirements. &lt;/p&gt;

&lt;p&gt;A company may have to decide where and how to store certain data based on factors such as sensitivity, access frequency, expected life cycle, redundancy, cost implications, regulatory compliance, and many more.&lt;/p&gt;

&lt;p&gt;Much like a container, a storage account in Azure is an excellent place to store data objects, as well as apply settings that implement identified data requirements.&lt;/p&gt;

&lt;p&gt;Consider a use case from the Microsoft guided project: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;'Provide storage for the IT department testing and training.'&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%2Fduczued8k1ntb4lwyqoc.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%2Fduczued8k1ntb4lwyqoc.png" alt="itdeptstoragearchitecturediagram" width="687" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requirements&lt;/strong&gt;: 'The IT department needs to prototype different storage scenarios and to train new personnel. The content isn’t important enough to back up and doesn’t need to be restored if the data is overwritten or removed.'&lt;/p&gt;

&lt;p&gt;To fulfill these requirements, we must create a storage account and apply appropriate settings. &lt;/p&gt;

&lt;p&gt;Here's the step by step process:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Create a resource group.
&lt;/h3&gt;

&lt;p&gt;In Azure, every project requires a resource group. Resource groups are a useful tool that helps you categorise your project resources. &lt;/p&gt;

&lt;p&gt;Go to Azure portal, search for &lt;strong&gt;resource groups&lt;/strong&gt;, select &lt;strong&gt;Resource groups&lt;/strong&gt; in the drop down suggestions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The &lt;strong&gt;+ Create a resource&lt;/strong&gt; button provides a navigation option to the &lt;strong&gt;Search bar&lt;/strong&gt;, but it links to marketplace where products from third party vendors are also listed. Making use of the &lt;strong&gt;search bar&lt;/strong&gt; takes you to Microsofts own products, which is our focus. &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%2Ffzg5piltmf0sl7srvxv3.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%2Ffzg5piltmf0sl7srvxv3.png" alt="search and select resource group" width="800" height="217"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;+ Create&lt;/strong&gt; button.&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%2F0lslb0q3dyghaafxdu0n.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%2F0lslb0q3dyghaafxdu0n.png" alt="create resource group" width="800" height="260"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Basics tab, give the &lt;strong&gt;resource group a name&lt;/strong&gt; and select &lt;strong&gt;region&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%2Fcrhy4v3sdccvlfvc2jrw.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%2Fcrhy4v3sdccvlfvc2jrw.png" alt="Resource group name and region" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hit &lt;strong&gt;Review and Create&lt;/strong&gt;, then &lt;strong&gt;Create&lt;/strong&gt;. Wait for notice of successful resource group deployment.&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%2Fxzb9ug5hevmfroqnqm32.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%2Fxzb9ug5hevmfroqnqm32.png" alt="resource group created" width="743" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Create a Storage Account.
&lt;/h3&gt;

&lt;p&gt;In the search bar, type &lt;strong&gt;storage accounts&lt;/strong&gt; and select &lt;strong&gt;Storage accounts&lt;/strong&gt; from the drop down suggestions.&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%2Fri90csoouqzaqvr0dpyb.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%2Fri90csoouqzaqvr0dpyb.png" alt="search and select storage accounts" width="695" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;+ Create&lt;/strong&gt; button.&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%2Fh31v9wcnm8qotx66r7hf.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%2Fh31v9wcnm8qotx66r7hf.png" alt="create storage account" width="693" height="218"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Basics tab, select &lt;strong&gt;resource group&lt;/strong&gt; earlier created and give the &lt;strong&gt;storage account&lt;/strong&gt; a name. Note that a storage account name must be globally unique in Azure.&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%2F02yuioqkpo3bd7btzg85.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%2F02yuioqkpo3bd7btzg85.png" alt="give storage account a name" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set &lt;strong&gt;Performance&lt;/strong&gt; to &lt;strong&gt;Standard&lt;/strong&gt; (cheaper than the premium option), then click &lt;strong&gt;Review + create&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%2F5dr85crjs4jmsmenr9h3.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%2F5dr85crjs4jmsmenr9h3.png" alt="Set Performance to Standard" width="800" height="254"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait for deployment completion, then hit &lt;strong&gt;Go to resource&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%2Fuj8hlc6t18adbwyi029x.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%2Fuj8hlc6t18adbwyi029x.png" alt="deployment complete" width="800" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Configure Storage Account Settings per Requirements
&lt;/h3&gt;

&lt;p&gt;Recall: 'The content isn’t important enough to back up and doesn’t need to be restored if the data is overwritten or removed.'&lt;/p&gt;

&lt;p&gt;Bearing these policies in mind, we have to confure cost minimal settings.&lt;/p&gt;

&lt;p&gt;Redundancy: &lt;/p&gt;

&lt;p&gt;On the left pane, select &lt;strong&gt;Data management&lt;/strong&gt; &amp;gt; &lt;strong&gt;Redundancy&lt;/strong&gt;, select &lt;strong&gt;Locally-redundant storage (LRS)&lt;/strong&gt;, then &lt;strong&gt;Save&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A locally-redundant storage costs less to implement compared to geo-redundant storage. In the case, data is replicated for redundancy, but within same data center.&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%2Ff0gorzyv9jry9pef5wki.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%2Ff0gorzyv9jry9pef5wki.png" alt="Locally-redundant storage (LRS)" width="800" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait for &lt;em&gt;redundancy change completion&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%2Fd234v9auvq7hdvnvkxue.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%2Fd234v9auvq7hdvnvkxue.png" alt="redundancy change completion" width="666" height="182"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Notice a &lt;em&gt;single location&lt;/em&gt; is shown after page refresh (you may have to refresh page)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcrtam9vi978b56qu0gjd.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%2Fcrtam9vi978b56qu0gjd.png" alt="redundancy one location" width="800" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Network Access:&lt;/p&gt;

&lt;p&gt;A. Allow only secure connections to storage account - On the left pane, select &lt;strong&gt;Settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Configuration&lt;/strong&gt;, enable &lt;strong&gt;Secure transfer required&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;B. Disallow connections until access to storage account is needed - Disable &lt;strong&gt;Allow storage account key access&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;C. Set storage account to use Transport Layer Security version 1.2 at the minimum - Set &lt;strong&gt;Minimal TLS version&lt;/strong&gt; to Version 1.2.&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%2Faus17ggsq25e3987dxmy.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%2Faus17ggsq25e3987dxmy.png" alt="Network Access Settings" width="800" height="619"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;D. Finally, to allow connections to the storage account from all networks - Go to &lt;strong&gt;Security + networking&lt;/strong&gt; in the left pane, select the &lt;strong&gt;Networking&lt;/strong&gt;, set &lt;strong&gt;Public network access&lt;/strong&gt; to &lt;strong&gt;Enabled from all networks&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%2Fx2qwylxwuqt414t5q8q7.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%2Fx2qwylxwuqt414t5q8q7.png" alt="All networks access" width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Wrapping Up
&lt;/h3&gt;

&lt;p&gt;And that't it. We have successfully created and provisioned storage for IT testing and training, with the right level of configuration. &lt;/p&gt;

&lt;p&gt;Also, we achieved cost-efficiency, security, and made it fit for purpose. No backups, no unnecessary redundancy. &lt;/p&gt;

&lt;p&gt;Just a simple setup that aligns with the project scope.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>microsoft</category>
      <category>cloudcomputing</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Fundamental Concepts in Cloud Computing</title>
      <dc:creator>Oluwatosin A.</dc:creator>
      <pubDate>Thu, 17 Jul 2025 20:20:55 +0000</pubDate>
      <link>https://dev.to/oluwatosin_a_4095b9f24ae/fundamental-concepts-in-cloud-computing-120d</link>
      <guid>https://dev.to/oluwatosin_a_4095b9f24ae/fundamental-concepts-in-cloud-computing-120d</guid>
      <description>&lt;h2&gt;
  
  
  What is Cloud Computing?
&lt;/h2&gt;

&lt;p&gt;Unlike traditional computing, where computing resources are local to your computer, cloud computing enables you to access computing resources hosted on another machine, typically in a distant data center, over the internet.&lt;/p&gt;

&lt;p&gt;One major technology that has made this possible is virtualization.&lt;/p&gt;

&lt;p&gt;Let's briefly discuss virtualization.&lt;/p&gt;

&lt;h2&gt;
  
  
  Virtualization
&lt;/h2&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%2Fo1b1q853zwl83jwq4yxe.jpg" 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%2Fo1b1q853zwl83jwq4yxe.jpg" alt="Virtualization as a modern IT infrastructure technology that lets you isolate a computer's functions from its hardware" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Virtualization is a modern IT infrastructure technology that lets you isolate a computer's functions from its hardware.  As such, we can have a virtual computer hosted on one physical computer.&lt;/p&gt;

&lt;p&gt;We can also take it one step further by replicating and hosting multiple virtual computers on a single physical machine.&lt;/p&gt;

&lt;p&gt;Virtualization has taken us beyond the limitations of physical form factor.&lt;/p&gt;

&lt;p&gt;Having computers as software instances has afforded us several immense benefits, such as scalability, elasticity, agility, high availability, fault tolerance, global reachability, and many more. &lt;/p&gt;

&lt;p&gt;Let's take a quick look at each of those. &lt;/p&gt;

&lt;h3&gt;
  
  
  Scalability
&lt;/h3&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%2Fz96s7ar6lnx6amku7jnl.jpg" 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%2Fz96s7ar6lnx6amku7jnl.jpg" alt="Scalable resources in IT" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In IT, a resource is deemed scalable if it can dynamically scale up to meet increasing workloads and scale down to match decreased demand. &lt;/p&gt;

&lt;p&gt;Virtualized machines are software-based. They are not bound by hardware limitations. Therefore, they can scale, manually or automatically, per demand.&lt;/p&gt;

&lt;p&gt;This is a huge game-changer for businesses, allowing them to provide equal levels of customer satisfaction during on and off-peak periods.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you have heard of elasticity, by now, you're probably wondering, how does scalability differ from elasticity?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Put simply:&lt;/p&gt;

&lt;p&gt;Scalability refers to your system’s ability to grow over time to handle increased workload. This can be achieved manually or automatically.&lt;/p&gt;

&lt;p&gt;On the other hand, elasticity is about your system’s ability to &lt;em&gt;automatically&lt;/em&gt; adjust (up or down) in real-time based on demand.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agility
&lt;/h3&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%2F2doho00h0dv1f7qnfind.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%2F2doho00h0dv1f7qnfind.png" alt="Business agility by cloud" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In today's fast-paced business world, speed is critical.&lt;/p&gt;

&lt;p&gt;An agile business is able to swiftly create a product, develop it, and launch it. &lt;/p&gt;

&lt;p&gt;Cloud computing has made this possible. &lt;/p&gt;

&lt;p&gt;Businesses no longer have to go through the long and expensive process of setting up a physical infrastructure in order to test an idea. &lt;/p&gt;

&lt;p&gt;Today, it takes as little as a few hours to go from idea to product launch.&lt;/p&gt;

&lt;h3&gt;
  
  
  High Availability
&lt;/h3&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%2Fv3d5grfhm8bigd3u5a37.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%2Fv3d5grfhm8bigd3u5a37.png" alt="High Availability from cloud computing" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Revenue loss resulting from service outages and downtimes can be detrimental to any business.&lt;/p&gt;

&lt;p&gt;Systems that &lt;em&gt;never go out&lt;/em&gt;, i.e, &lt;strong&gt;highly available&lt;/strong&gt;, are a non-negotiable for every business.&lt;/p&gt;

&lt;p&gt;The ability to seamlessly move resources in the cloud, as well as replicate resources on demand, are just 2 examples of the many possibilities the cloud offers, that guarantee uptime and high availability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fault Tolerance
&lt;/h3&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%2Fdac0vbrem4a2q1ls97v8.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%2Fdac0vbrem4a2q1ls97v8.png" alt="Cloud computing provides fault tolerance" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A fault-tolerant system like the cloud can provide uninterrupted service, irrespective of the failure of one or more components.&lt;/p&gt;

&lt;p&gt;This is otherwise known as adaptability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Global Reach
&lt;/h3&gt;

&lt;p&gt;Having data centers spread out across the globe means it is possible to replicate resources at locations that are vastly dispersed.&lt;/p&gt;

&lt;p&gt;This makes for a great experience as users can access resources hosted in a data center closest to them.&lt;/p&gt;

&lt;p&gt;Service providers also benefit from being able to sell to a global market.&lt;/p&gt;

&lt;p&gt;Other benefits include fast application response time, lower latency, and so on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;Cloud computing and virtualization have forever changed the way we use technology. &lt;/p&gt;

&lt;p&gt;By abstracting hardware through virtualization, we now enjoy many awesome benefits like scalability, agility, high availability, and fault tolerance.&lt;/p&gt;

&lt;p&gt;On a global scale, businesses have been armed with the tools to move fast, stay resilient, and reach customers anywhere in the world.&lt;/p&gt;

&lt;p&gt;Whether you're a developer, engineer, or decision-maker, understanding these core concepts is essential to fully harnessing the cloud's potential.&lt;/p&gt;

&lt;p&gt;As we continue to build and innovate, one thing is clear—cloud computing isn't just the future. It's now.&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>cloudcomputing</category>
      <category>azure</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
