Introduction
As our company website continues to grow rapidly, serving customers worldwide with essential product images, videos, marketing literature, and customer success stories, I knew we needed a reliable, high-performance storage solution. This content is truly mission-critical: it must load quickly with low latency no matter where users are, and we can't risk permanent data loss from accidental deletions or overwrites during frequent updates.
To address these needs head-on, I completed a hands-on skilling exercise in Azure to build a robust Blob Storage setup from scratch. Specifically, I:
- Created a storage account configured for high availability
- Enabled anonymous public access for seamless global delivery
- Set up a dedicated blob container for all website documents
- Activated soft delete to allow easy recovery of accidentally deleted files
- Turned on blob versioning to automatically track and restore previous document versions
This configuration ensures fast, public access for our global audience, built-in protection against human error, and full history tracking for every asset—perfect for scaling without worry.
In the steps below, I'll walk you through exactly what I did in the Azure portal including the key choices I made and why they matter for a growing international website like ours.
Here's the step-by-step guide I followed with images:
1. Creating the high-availability storage account.
This storage requires high availability if there’s a regional outage. Additionally, i will enable read access to the secondary region.

In the portal, search for and select Storage accounts

Select + Create

- For resource group select new. Give your resource group a name and select OK.
- Set the Storage account name to 01pbcwebsite. Make sure the storage account name is unique by adding an identifier.
- Take the defaults for other settings.
Select Review and then Create.
Wait for the storage account to deploy, and then select Go to resource.
2. Enabled anonymous public access for seamless global delivery.
Information on the public website should be accessible without requiring customers to login.

In the storage account, in the Data management section, select the Redundancy blade.

Ensure Read-access Geo-redundant storage is selected.

Review the primary and secondary location information.

In the storage account, in the Settings section, select the Configuration blade. Ensure the Allow blob anonymous access setting is Enabled. Be sure to Save your changes.
3. Set up a dedicated blob container for all website documents
Since the public website has various images and documents, we need to create a storage container for the contents. Also customers should be able to view the images without being authenticated. I will configure anonymous read access for the public container blobs. For testing, i will upload a file to the public container. The type of file doesn’t matter. A small image or text file is a good choice.

In your storage account, in the Data storage section, select the Containers blade. Select + Container. Ensure the Name of the container is public. Select Create.

Select your public container.

On the Overview blade, select Change access level.

Ensure the Public access level is Blob (anonymous read access for blobs only).

Select OK

Ensure you are viewing your container. Select Upload.

Select Browse to files and Browse to a file of your choice. Select Open

Select Upload.

Close the upload window, Refresh the page and ensure your file was uploaded.

Select your uploaded file. On the Overview tab, copy the URL.Paste the URL into a new browser tab.
If you have uploaded an image file it will display in the browser. Other file types should be downloaded.
4. Activated soft delete to allow easy recovery of accidentally deleted files
It’s important that the website documents can be restored if they’re deleted. during this project i Configured blob soft delete for 21 days. Also i did a test to confirm if the configurations work.

Go to the Overview blade of the storage account. On the Properties page, locate the Blob service section. Select the Blob soft delete setting.

Ensure the Enable soft delete for blobs is checked.
Change the Keep deleted blobs for (in days) setting to 21.
Notice you can also Enable soft delete for containers.
Don’t forget to Save your changes.

Navigate to your container where you uploaded a file. Select the file you uploaded and then select Delete.

Select Delete to confirm deleting the file.

On the container Overview page, toggle the slider Show deleted blobs. This toggle is to the right of the search box.

Select your deleted file, and use the ellipses on the far right, to Undelete the file.

Refresh the container and confirm the file has been restored.
5. Turned on blob versioning to automatically track and restore previous document versions.
It’s important to keep track of the different website product document versions.

Go to the Overview blade of the storage account. In the Properties section, locate the Blob service section. Select the Versioning setting.

Ensure the Enable versioning for blobs checkbox is checked.
Notice your options to keep all versions or delete versions after.
Don’t forget to Save your changes.
In conclusion, by completing this hands-on Azure skilling project, I successfully built a high-availability Blob Storage solution that perfectly supports our rapidly expanding global company website. With geo-redundant storage ensuring reliable uptime, anonymous public access enabling fast low-latency delivery of product images, videos, marketing literature, and customer success stories to users worldwide, a dedicated container for organized assets, soft delete for quick recovery from accidental deletions, and blob versioning to preserve full document history, we've created a resilient, scalable foundation that directly addresses our mission-critical content needs. This straightforward yet powerful setup in the Azure portal delivers both performance and peace of mind as demand continues to grow—proving that thoughtful configuration can protect against human error while powering seamless global access. If you're handling similar web assets, I strongly encourage trying these features yourself.
Thanks for following along—feel free to share your thoughts, questions, or your own Azure experiences below!
Top comments (1)
Welldone!