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
- In the Azure Portal, I searched for Resource Groups and created a new one called
storagerg
. - Then, I searched for Storage accounts and hit + Create.
- I named the storage account
publicwebsitebob
(adding a unique suffix to ensure global uniqueness). - I selected the storagerg group and left other settings at their defaults.
- 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
- In the Containers section, I clicked + Container and named it
public
. - Selected Blob (anonymous read access) for public access level.
- Clicked Create.
Now, customers can browse and download files like images and PDFs without needing credentials.
🔹 Step 5: Upload a Test File & Confirm Access
- I uploaded a small file (
product-image.jpg
) to thepublic
container. - After upload, I copied the blob URL from the file’s Overview tab.
- 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:
- Under Data Protection, I enabled Blob soft delete.
- 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
- I deleted the file I had uploaded earlier.
- Then toggled Show deleted blobs in the container view.
- 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:
- Still under Data Protection, I enabled Blob Versioning.
- 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
- I re-uploaded a new version of the same file (same name).
- Then toggled Show deleted blobs to view all previous versions.
- 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.