DEV Community

Cover image for Provide storage for the public website to Keep Our Worldwide Customers' Content Fast, Versioned, and Recoverable
adegbola adeniyi
adegbola adeniyi

Posted on

Provide storage for the public website to Keep Our Worldwide Customers' Content Fast, Versioned, and Recoverable

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.
create storage
In the portal, search for and select Storage accounts
creating storage
Select + Create
res group

  • 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. create Select Review and then Create. resources 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.
Redundancy
In the storage account, in the Data management section, select the Redundancy blade.
red
Ensure Read-access Geo-redundant storage is selected.
global
Review the primary and secondary location information.
settings
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.
Container
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.
public
Select your public container.
overview
On the Overview blade, select Change access level.
change access level
Ensure the Public access level is Blob (anonymous read access for blobs only).
ok
Select OK
upload
Ensure you are viewing your container. Select Upload.
upload 2
Select Browse to files and Browse to a file of your choice. Select Open
upload 3
Select Upload.
refresh
Close the upload window, Refresh the page and ensure your file was uploaded.
yoo
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.
blob service
Go to the Overview blade of the storage account. On the Properties page, locate the Blob service section. Select the Blob soft delete setting.
21 days

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.
delete
Navigate to your container where you uploaded a file. Select the file you uploaded and then select Delete.
okay
Select Delete to confirm deleting the file.
slider
On the container Overview page, toggle the slider Show deleted blobs. This toggle is to the right of the search box.
undelete
Select your deleted file, and use the ellipses on the far right, to Undelete the file.
restored
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.
blob
Go to the Overview blade of the storage account. In the Properties section, locate the Blob service section. Select the Versioning setting.
enable
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)

Collapse
 
realcloudprojects profile image
SKILL.SCH

Welldone!