Ram Kumar K
Mar 24, 2018
  10919
(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
Custom form element view in Optimizely CMS 12

Do you want full control over the form element markup? Create your own views!

Tomas Hensrud Gulla | Dec 11, 2024 | Syndicated blog

How to Elevate Your Experimentation - Opticon workshop experience

As a non-expert in the field of experimentation, I’d like to share my feedback on the recent Opticon San Antonio workshop session titled "How to...

David Ortiz | Dec 11, 2024

Persisting a Strawberry Shake GraphQL Client for Optimizely's Content Graph

A recent CMS project used Strawberry Shake to generate an up-to-date C# GraphQL client at each build. But what happens to the build if the GraphQL...

Nicholas Sideras | Dec 11, 2024 | Syndicated blog

Opti ID with Secure Cookies And Third Party AddOns

Opti ID has revolutionised access to the Optimizely One suite and is now the preferred authentication method on all PAAS CMS websites that I build....

Mark Stott | Dec 9, 2024