Introduction

Azure Storage is a cloud-based storage option that is provided in VIDIZMO. This option offers Azure Blob Storage service for storing content and Azure Content Delivery Network (CDN) endpoints for content delivery. Azure Storage provides a durable, highly available, secure, scalable, managed and accessible environment for storing content. 


Azure hosts its datacenters in 140 countries which offers a lot of advantageous options to its customers with its blob storage and CDN services. These advantages include low latency for content delivery, improved data redundancy by replicating data across different regions, zones and geolocations etc. Along with this, Azure also provides scalability and performance targets, backup, disaster recovery options and much more.  


For content processing with Azure Blob Storage, customers are offered two options by default: VIDIZMO On-Premise Encoder to perform on-site encoding of content and VIDIZMO Cloud Encoder utilizing VIDIZMO’s cloud service for encoding. Moreover, VIDIZMO can also allow you to integrate your custom encoder for media processing. 


Azure Storage encodes your uploaded content according to the different encoding profiles (format types and renditions) that are enabled in your Portal and stores the encoded data in your storage server. When a viewer requests media, Azure CDN nearer to the requesting location fetches the content from the origin and delivers the relevant content to the user according to the user’s device and bandwidth conditions. This is unlike dynamic packaging, where the data is encoded on-the-fly as it is requested and is directly delivered, this saves increased storage costs for the encoded data.


Read Azure Blob Storage to know more about features and services offered by Azure. To know about their CDN services, read Azure CDN


Why Azure Storage

Customers wanting to store their content 100% on-cloud with increased public outreach would opt for this storage, as it offers scalability and different redundancy strategies that replicate your content in primary or secondary regions, allowing content to be served even in the face of any failures.  


Even though the content is up for public access, Azure provides enterprise-grade security measures to its users, providing resource management via Role-Based Access Control (RBAC) and Azure Active Directory (AD) authentication, data operations are made secure by protecting data in-transit or at-rest, shared access to resources can also be achieved via Shared Access Signatures and much more. Read more about it at Azure Storage Security Guide


Azure Storage does not have Digital Rights Management (DRM) and dynamic packaging capabilities. However, VIDIZMO allows you to define user-based access on different resources as well as the time and duration of the granted access. For more details, see How to Share Media with Specific Users/Groups or External Viewers. 


Configuration

You can configure your Azure Storage using VIDIZMO’s Setup Wizard which automates the process by directly interacting with your Azure Account, allowing you to set up your content storage through a series of easily configurable steps. 


You can also define a default Content Storage such that every Portal when created has default content storage settings. Read How to Update Storage and Transcoding Settings using Application Configuration Keys in VIDIZMO to know more. 


Setup Wizard has support for Azure Global as well as Azure US Government Cloud, China Government Cloud and German Government Cloud. 


Furthermore, Setup Wizard can be executed at any point when you wish to change the configured storage or encoding options of your Portal. Read more at Understanding Setup Wizard


Considerations

For the Setup Wizard to configure Azure Storage on your Portal successfully, you require your subscription role to be Owner as VIDIZMO requires access to the resources and as described in Microsoft documentation here, only the Owner role is allowed to manage access to resources. 


Customers opting to deploy VIDIZMO application on-premise should consider the following points for information or debugging purposes. However, these facts are not considerations for SaaS deployment. 


While running Setup Wizard, VIDIZMO’s Workflow Service automatically executes PowerShell scripts to create resources on Azure Blob. Therefore, following things should be taken care of for successful completion of the Wizard: 

  1. The Workflow Service invokes PowerShell to perform the necessary steps. 
  2. PowerShell installs Azure PowerShell libraries if they are not installed already. 
  3. The minimum version of Azure PowerShell libraries required is 6.13.1. 

VIDIZMO uses Azure Blob Storage Service to access the resources within the storage. The default and minimum version for this service is ‘2014-02-14' in order for VIDIZMO to operate. While configuring this service: 

  1. Cross-Origin Resource Sharing (CORS) is enabled on the Blob Storage so that it is accessible to VIDIZMO. Read about CORs at CORS Support for the Azure Storage Services
  2. VIDIZMO creates a Shared Access Signature (SAS) on your storage account by the name ‘Vidizmo’, that permits it to have read and write access to your storage and containing resources. This signature has a lease of 100 years from the day it is created. 


Executing Setup Wizard

VIDIZMO’s Setup Wizard provides ease to its customers by automating the Azure Storage configuration and the creation of required resources. If these resources already exist in your Azure Account, then VIDIZMO utilizes them without altering the existing content, otherwise it creates new ones. 


Following steps are involved while executing Setup Wizard: 

  1. Creation of the Resource Group. 
  2. Creation of Storage Account within the Resource Group. 
  3. Creation of a CDN Profile and Endpoint against the Storage Account. 
  4. After creating the above-mentioned resources, Setup Wizard specifies the details of these resources in VIDIZMO so that your Portal is configured to use this content storage. 

For details about executing Setup Wizard to configure your Azure Storage with Cloud or On-Premise encoder, see the following articles: 


Limitations

Azure provides a bundle of services and features for content storage and processing but there are some limitations that should also be considered while using Azure storage. These are: 


File Size Limitation

While uploading, the file is first divided into smaller chunks of preconfigured size and these chunks are sent to the storage server via application server in parallel through HTTP or HTTPS protocol. Once all chunks are transferred to the storage, a commit call is sent to the storage to combine the chunks into one file and then media is sent for further processing. 


In Azure Storage, the maximum size of a single block uploaded can be 4 MB and a file can have up till 50,000 blocks, this gives us a recommended limit of the maximum file size upload as: 4 MB * 50,000 = 195 GB. The chunk size for file upload is configurable in VIDIZMO, read How to Update Upload Settings using Application Configuration Keys in VIDIZMO to know more. 


However, there’s a theoretical limit to a file size upload as well which allows maximum size of a single block uploaded as 100 MB. This gives us a theoretical limit of the maximum file size upload allowed: 100 MB * 50,000 = 4.75 TB. This might be possible, but it is not recommended as it would increase memory consumption by the browser during the upload and can have adverse effects.  


CDN Profile and Endpoint Limitation

There is also a limit to the number of Azure CDN profiles you can create and number of CDN endpoints within each profile. Click here to see details. 


Digital Rights Management (DRM) Limitation

Azure Storage in VIDIZMO does not offer DRM capabilities. Although organizations seeking for increased authorization control can opt for Azure Media Services (AMS) Storage which provides DRM features. 


Users need to consider these limits while utilizing Azure storage for content storage and processing. Read more about Azure Scalability and Performance Targets


Redundancy

Azure’s replication strategies allow content to be copied to multiple locations, providing access to content even in scenarios where it becomes unavailable due to any failure. Moreover, users can access content from geographically nearer locations, providing faster content delivery.  


Redundancy options provided by Azure for storage include: 

  • Locally redundant storage (LRS) 
  • Zone-redundant storage (ZRS) 
  • Geo-redundant storage (GRS) 
  • Read-access geo-redundant storage (RA-GRS) 

Read more at Azure Storage Redundancy to know more about how Azure provides highly available deployments to protect your storage.


Pricing 

The pricing of Azure Blob Storage is consumption-based, it costs you for the amount of storage utilized and the bandwidth consumed for content delivery. Reports in Azure Pricing are updated every 24 hours. See more details at Block Blob Pricing