Ram Kumar K
Mar 24, 2018
  10720
(2 votes)

Using Azure Cloud for Storing Episerver CMS Blobs

Using Azure Cloud for Storing Episerver CMS Blobs -

Working with multiple developers in the Episerver Environment requires sharing Blobs.  One of the best options our team agreed on was using Free Azure account to do a POC. 

The following would help you to set-up storage account in Azure and use that as a default blob provider for your Episerver project.

  • Create a storage account by using the Azure portal
  • Create a Resource, Resource Group & Storage Account
  • Create Container and Get Access keys
  • Install Azure Packages in Episerver
  • Transfer files using  AzCopy 

1) Create a storage account by using the Azure portal

Login to Azure Site using the following Link

https://portal.azure.com/

Image Azure_1.png

2) Create a Resource, Resource Group & Storage Account

Resource:  A manageable item that is available through Azure.  EX: Storage account, Web app, Database, VM

Resource Group: A container that holds related resources for an Azure solution.

Storage Account: A general-purpose storage account provides access to all of the Azure Storage services: blobs, files, queues, and tables.

Image Azure_2.PNG

2) Resource Group:

Image Azure_REsource_Group2.png

2) Storage Account 

Image Azure_Storage_Account2.png

3)Create Container and Get Access keys

After creating the storage account, you can add a container and get keys for the storage account to access them in Episerver CMS. The connectionstring info is used to connect the Azure storage.

Image Azure_Storage_Container2.png

Image Azure_Storage_Container_Access2.png

4) Install Azure Packages in Episerver CMS Project.

Add EPiServer Azure Nuget Package

Image Episerver_Azure_Nuget.PNG

4) Add  the following in in web.config

Change Blob provider : "mycontainer" is name of your Azure Blob Storage Container

 <blob defaultProvider="azureblobs">
      <providers>
        <add name="azureblobs" type="EPiServer.Azure.Blobs.AzureBlobProvider,EPiServer.Azure"
              connectionStringName="EPiServerAzureBlobs" container="mycontainer"/>
      </providers>
    </blob>

Add connection string
<connectionStrings>
    <add name="EPiServerAzureBlobs" connectionString="DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=abcdefghij" />
  </connectionStrings>


5) Upload/Transfer blobs using AzCopy

  • AzCopy is a command-line utility designed for copying data to/from Microsoft Azure Blob
  • AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /S
  • Image AZure_copy.png

That's it. Run the website and You are using Azure storage for blobs. This would help your team in the multi-developer environment and remote development as well.

This POC was done using free VS subscription and we have moved to Gov Cloud now.

Reference: Azure Quick Start 

Mar 24, 2018

Comments

Drew Null
Drew Null Jun 3, 2018 05:10 AM

Thanks for the write-up, Ram. I like to use Azure for my development environment too. 

A few things I would add: 

  • The element mentioned above goes in the element
  • If you're using Commerce, be sure to install the Episerver.Commerce.Azure NuGet package to both your CMS and Commerce Manager projects
  • Keep your CMS and CM connection strings and elements in sync
  • Comment out the element unless you are prepared to set that up in Azure too (both CMS and CM)

Thanks!

Please login to comment.
Latest blogs
keep special characters in URL

When creating a page, the default URL segment validation automatically replaces special characters with their standard equivalents (e.g., "ä" is...

K Khan | Sep 19, 2024

Streamlining Marketing Success: The Benefits for Optimizely One with Perficient

As an Optimizely expert, I eagerly anticipate this time of year due to the exciting Optimizely events happening worldwide. These include Opticon, t...

Alex Harris - Perficient | Sep 17, 2024 | Syndicated blog

Creating an Optimizely Addon - Packaging for NuGet

In   Part One   and   Part Two   of this series; I covered topics from having a great idea, solution structure, extending the menus and adding...

Mark Stott | Sep 16, 2024

Optimizely CMS and weekly updates

Learn how reporting bugs in Optimizely CMS not only helps improve the platform but also benefits you and the entire user community.

Tomas Hensrud Gulla | Sep 12, 2024 | Syndicated blog