In this exercise, I built a highly available, scalable, and secure storage solution in Azure to support a global company website. The website serves images, videos, and documents to customers all over the world — so low latency, high availability, and easy recovery were all top priorities.

My goal? Create an Azure Storage account optimized for public access, version tracking, and restore-ability, without requiring users to authenticate to view content.


🧠 Scenario

The company website contains product images, marketing PDFs, and customer stories. With global demand on the rise, the site needed:

  • High availability even during regional outages
  • Anonymous access for customers (no login required)
  • Version control for uploaded content
  • The ability to restore deleted documents

🛠️ Skilling Tasks

  • ✅ Create a highly available Azure Storage account
  • ✅ Enable anonymous blob access
  • ✅ Create a public blob container
  • ✅ Configure soft delete
  • ✅ Enable blob versioning

🔧 Step-by-Step Guide

🔹 Step 1: Create the Resource Group & Storage Account

  1. In the Azure Portal, I searched for Resource Groups and created a new one called storagerg.
  2. Then, I searched for Storage accounts and hit + Create.
  3. I named the storage account publicwebsitebob (adding a unique suffix to ensure global uniqueness).
  4. I selected the storagerg group and left other settings at their defaults.
  5. Hit Review + Create and deployed the storage account.

📦 This storage would act as the central file store for all web-facing documents.


🔹 Step 2: Configure High Availability

Since the site serves global customers, I made sure it could survive regional outages:

  • Opened the Redundancy settings under Basics.
  • Selected Geo-redundant storage (RA-GRS) with Read-access enabled.

🌍 This ensures that content remains available even if an entire Azure region goes down.


🔹 Step 3: Enable Anonymous Access

Because the website serves files to the public:

  • I navigated to Configuration under Settings.
  • Made sure that Allow enabling anonymous access on individual containers was Enabled.

This lets me allow public access on a per-container basis — very useful for selectively sharing.


🔹 Step 4: Create the Blob Container

  1. In the Containers section, I clicked + Container and named it public.
  2. Selected Blob (anonymous read access) for public access level.
  3. Clicked Create.

Now, customers can browse and download files like images and PDFs without needing credentials.


🔹 Step 5: Upload a Test File & Confirm Access

  1. I uploaded a small file (product-image.jpg) to the public container.
  2. After upload, I copied the blob URL from the file’s Overview tab.
  3. Opened the URL in a new browser tab — and voilà! The image loaded instantly, no login needed.

Public access was working perfectly.


🔹 Step 6: Enable Soft Delete (21 Days)

To protect content from accidental deletion:

  1. Under Data Protection, I enabled Blob soft delete.
  2. Set the retention to 21 days and saved changes.

🛡️ Now, if someone deletes a file, I have a 3-week window to restore it.


🔹 Step 7: Test Soft Delete & Restore

  1. I deleted the file I had uploaded earlier.
  2. Then toggled Show deleted blobs in the container view.
  3. Clicked the three dots on the deleted file → Undelete.

The file came right back. Soft delete works like a charm.


🔹 Step 8: Enable Blob Versioning

To keep track of content changes over time:

  1. Still under Data Protection, I enabled Blob Versioning.
  2. Saved the changes.

🕓 Versioning lets me revert to earlier versions of a file — critical for managing website content updates safely.


🔹 Step 9: Test Blob Versioning

  1. I re-uploaded a new version of the same file (same name).
  2. Then toggled Show deleted blobs to view all previous versions.
  3. The old version was listed and ready to be restored if needed.

📂 Perfect for marketing teams who may need to roll back accidental updates.


🎓 Key Takeaways

By the end of this lab, I had configured a public-facing, production-ready blob storage solution tailored for customer-facing documents and media. Here's what I learned:

  • Azure Blob Storage is ideal for global content distribution at scale.
  • RA-GRS ensures content availability even during regional Azure outages.
  • Anonymous blob access allows for easy sharing without authentication.
  • Soft delete and versioning give you powerful rollback capabilities without third-party tools.
  • Blob containers are simple to configure but incredibly powerful when paired with the right settings.

🚀 Another practical project in the bag — now I'm one step closer to mastering Azure Storage for real-world applications.