Category Archives: Azure SQL Data WareHouse

Overview Of Microsoft Azure Storage – Part Six

In this article I’m going to explain File Storage Service in Azure which offers to the users fully managed file sharing on the cloud. File Storage provides reliable and security based file sharing on the cloud. The file can be share with a very fast speed as much as possible. One of the best advantages of file storage is that it provides Ease-of-Use access of the files. File storage supports REST and SMB Protocol (Server Message Block Protocol). Many VMs (Virtual Machines can attach to file systems concurrently, allowing you to share persistent data easily between various and roles. Advantages of File Storage in Cloud

  • Mount the File Share from on-premises.
  • Built on Standard SMB 3.0 and REST.
  • SMB offers high-performance connectivity to highly available file shares.
  • Managing File server and share without any hardware.
  • Highly available and geo-replicated.

The following figure illustrates how we can manage file storage on Azure Portal. First login to Azure new Portal and create a Storage Account. After creating Storage Account you’ll found that Storage Account supports four types of storage that I already discussed in my previous articles. Follow the upcoming steps to use File Share in Azure based on the following figure.


Create a Storage Account under a Resource Group.


Select Files from the given storage to create a storage share.


Probably, you have didn’t use this storage ever, that’s why there is no any file service. Go ahead and click on to File Share to create a FileShare, where you can store your files in a hierarchy directory.


Give a name and size to your file share, the maximum size can be up to 5120GB (in Quota) of it.

Click on to Create button to create file share.


File Service is created and ready to use. Click to open it.


Now you can perform various operations such as if you want to upload a file then just click on to upload, if you want to make directory (hierarchy) then you have to click on Add directory. Connect is used to connect your file share from a window computer as well as Linux computer.


I want to use add directories facility. Click on to Add directory to add new.


Give a name to your new directory and click on create.


The directory is ready now. Click to open it, where under it you can add a new directory in a hierarchy way. You can also upload a file under this directory.


Click on to Upload button to upload a file.


A new slider will be open for uploading files, select a file that you want to upload (image, docs, txt etc.)


After selecting a file click on Upload button.


The file has uploaded, you can select and use it.


Here are the some properties of this particular file, where you can delete, download to the local system, and copy url of the file.


You can upload files in to File Storage by using PowerShell ISE, and with Visual Studio code.

Overview Of Microsoft Azure Storage – Part Five

Azure queue storage

Queues are serially accessed messages of requests, which allow Web roles and worker roles to interact. It means whenever a new message will be added in a queue, the roles interact with that queue and pull the messages from in that queue one by one and ones the message has deliver to the roles that message will delete from the Queue.

Basically queue is the list of messages, which flows from the bottom from the queue to the top of the queue. They were added to the queue. Azure queues are located in Microsoft Cloud, which you can use for exchanging messages between the components either in the Cloud or in Premise.

Queues can store a large number of messages and a single queue can be up to 64 kb in size. Azure queue is used for passing the messages to an Azure worker role from an Azure Web role.

Out of the some advantages, queue has some limitations also such as the sent message should be in either text or binary format. Along with this, the individual message size can’t be more than 8kb in size.

I have a storage account. In the storage account, I have a queue and in this queue, we have multiple messages. We can have more than one message in a queue.


Let’s understand storage accounts practically. You have to be ready with the setup procedure given below.

  • Visual Studio 2015.
  • Microsoft Azure account.

With Azure storage account, you need to create a queue, which is a set of messages. Thus, let’s follow the steps given below.

Step 1

Create ASP.NET Web Project and a give a name to your project.

Step 2

Select MVC template.

Step 3

Right click on Project and add on Connected Services to connect with your Azure Storage account.

Let’s create an Empty Controller class in to your solution by right clicking Controllers folder.


Create a Method under your Controller and parse the connection string to retrieve your account detail from the key, which is in Web.Config file.

Create a client for your queue by passing the reference of storage account. As you have retrieved the reference of your queue by passing a queue name, createIfNotExists method will create your queue, if it does not exist and hold it in ViewBag.

  1. public class QueueStorageController : Controller
  2.     {
  3.         // GET: QueueStorage
  4.         public ActionResult CreateQueue()
  5.         {
  6.             CloudStorageAccount yourStorageAccount = CloudStorageAccount.Parse(
  7.         CloudConfigurationManager.GetSetting(“mystoragecontainer002_AzureStorageConnectionString”));
  8.             CloudQueueClient myQueueClient = yourStorageAccount.CreateCloudQueueClient();
  9.             CloudQueue myQueue = myQueueClient.GetQueueReference(“storagequeue”);
  10.             ViewBag.CreateSucess = myQueue.CreateIfNotExists();
  11.             ViewBag.YourQueueName = myQueue.Name;
  12.             return View();
  13.         }

Add namespaces given below into your Controller.

  1. using Microsoft.Azure;
  2. using Microsoft.WindowsAzure.Storage;
  3. using Microsoft.WindowsAzure.Storage.Table;

Add a View for this Method.


Give a name to it and click Add.


Write the script given below to show a message on the Browser.

  1. @{
  2.     ViewBag.Title = “CreateQueue”;
  3.     Layout = “~/Views/Shared/_Layout.cshtml”;
  4. }
  5. <h2>Creating Queue</h2>
  6. <h3>
  7.     Hey Your Queue <b style=“color:red”“@ViewBag.YourQueueName” </b>
  8.     @(ViewBag.CreateSuccess == true ? “Has Been Successfully Created.”“Already Exist Into Your Storage Account.☻”)
  9. </h3><br />

Afterwards, go to _Layout.cshtml and create a list item with Action Link to create queue.


Click Queues on Azure portal.


When you open it, there will not be any queue.


Click Action link to create a queue on Azure storage, which you have retrieved in your code.


The screenshot given below shows that the queue has been created into the storage account.


Check in Visual Studio, if it is created or not. Refresh Queue folder under storage account and you’ll get queue.


There is no message in the queue.


If you try to create once again with the same name, then it shows a message that queue already exists.


You can check your queue in Azure portal.


Insert a message into a queue

After creating queue, I want to insert a message into it. To insert a message into queue, create a method and write all the code of CreateQueue method because in the current method, I need the reference of the queue.

Now, create a message and add this message into your queue. AddMessage method will insert your message, which you write.

  1. public ActionResult insertMessageinToQueue()
  2.         {
  3.             CloudStorageAccount yourStorageAccount = CloudStorageAccount.Parse(
  4.         CloudConfigurationManager.GetSetting(“mystoragecontainer002_AzureStorageConnectionString”));
  5.             CloudQueueClient myQueueClient = yourStorageAccount.CreateCloudQueueClient();
  6.             CloudQueue myQueue = myQueueClient.GetQueueReference(“storagequeue”);
  7.             ViewBag.CreateSuccess = myQueue.CreateIfNotExists();
  8.             ViewBag.YourQueueName = myQueue.Name;
  9.             CloudQueueMessage insertMessage = new CloudQueueMessage(“Hello, Azure Storage Queue”);
  10.             myQueue.AddMessage(insertMessage);
  11.             return View();
  12.         }

Add View for this method and write the script given below to show the users that the message is inserted.

  1. @{
  2.     ViewBag.Title = “insertMessageinToQueue”;
  3.     Layout = “~/Views/Shared/_Layout.cshtml”;
  4. }
  5. <h2>Insert Your Message Into Queue</h2>
  6. <h3>The Message has Successfully Inserted into <b style=“color:red”>“@ViewBag.YourQueueName”</b> Table </h3>

Create an action link in CreateQueue.Chtml.


Run your Application and when you click Create Queue, the queue will not create because it is already inserted. Click on the link.


The message has successfully inserted into your queue.

Check it into your queue in Visual Studio. A message will be inserted and by default, it is an Id.


You can delete your queue by calling a myQueue.Delete().

Overview Of Microsoft Azure Storage – Part Four

In my previous articles about Microsoft Azure Storage, I’ve discussed about Blob Storage in detail. As I explained, in first article of the series that Azure Storage has 4 types of Storage Blob, Table, Queue, and File Storage.

In this article, I’m going to explain about Table Storage in Azure. Table is simply structured data which can be accessed by ADO.NET Data Services. Azure Table Storage is non-relational, key value pair, storage system suitable for storing massive amounts of structured data. So Table can be useful for applications that must store large amounts of relational data and need additional structure for that data.

So the Table Storage stores structured data without schemas, it does not provide any way to represent relationship between the data.

So for the table, you must have a Storage Account. In Storage Account we have got the two separate tables and in those table we have got Entity and in Entities we have columns property. I’m going to develop same table storage structure through the Visual Studio 2015.


Let’s see how we can create Table Storage programmatically and how to save the data into that Table storage. I’m using Visual Studio 2015 and Azure Storage Account like previous article. Follow the same steps of previous article unless ready of Controller.

Step 1

Create Web Project and a give a name to your project.

Step 2

Select MVC Template

Step 3

Right click on to Project and add on “Connected Services” to connect with your Azure Storage Account. (Follow Part-Three of the series article)

I hope your project is ready now. Right click on to controller’s folder to add a controller. Create a Method under your controller and parse the connection string to retrieve your account detail from key is in Web.Config file as it is previous article where we created a client of the table, here we returned client for table. Next create a CloudTable object that represents your table name. Create the table if it doesn’t exist and take it into ViewBag for showing it in View result and table name as well as.

  1. public class TableStorageController : Controller
  2.     {
  3.         public ActionResult MyTableCreation()
  4.         {
  5.             CloudStorageAccount userstorageAccount = CloudStorageAccount.Parse
  6.                 (CloudConfigurationManager.GetSetting(“mystoragecontainer002_AzureStorageConnectionString”));
  7.             CloudTableClient myTableClient = userstorageAccount.CreateCloudTableClient();
  8.                         CloudTable cricketTable = myTableClient.GetTableReference(“cricketers”);
  9.             ViewBag.CreateSuccess= cricketTable.CreateIfNotExists();
  10.             ViewBag.YourTableName = cricketTable.Name;
  11.             return View();
  12.         }
  13.     }

Add following namespaces into your Controller

  1. using Microsoft.Azure;
  2. using Microsoft.WindowsAzure.Storage;
  3. using Microsoft.WindowsAzure.Storage.Table;

If you face any problem then you can refer to this screenshot.


Table should definitely be created but I want to show the result of adding a View. Right click on your ActionResult method and add a View. Add the following snippet into view

  1. @{
  2.     ViewBag.Title = “MyTableCreation”;
  3.     Layout = “~/Views/Shared/_Layout.cshtml”;
  4. }
  5. <h2>Table Created</h2>
  6. <h3>
  7.     Hey This Table <b style=“color:red”“@ViewBag.YourTableName” </b>
  8.     @(ViewBag.CreateSuccess == true ? “Has Been Successfully Created.” : “Already Exist Into Your Storage Account.☻”)
  9. </h3><br />


Open _Layout.chtml and add another Action Link as shown below.


Run your application now. You’ll see there is a “Create Table” link to create a table. Click on it.


The result is on your screen. The table has been created.


You can check it in Azure Portal.


When you try to upload again with same name. It will produce the following result.


Add an Entity to a Table

In this article, we will see how we can add an Entity and Batch of Entities in a Table. Create a Model class and define properties of entity.

Right click on Models folder and add a class CricketerEntity.cs.


I’ve a Cricketer Entity class that uses TableEntity which represents the base object type for a table entity in the Table Service. The class uses the cricketer’s first name and last name with row key and partition key respectively, with some other property.

  1. public class CricketerEntity: TableEntity
  2.     {
  3.         public CricketerEntity(string lastName, string firstName)
  4.         {
  5.             this.PartitionKey = lastName;
  6.             this.RowKey = firstName;
  7.         }
  8.         public CricketerEntity() { }
  9.         public string BatingStyle { get; set; }
  10.         public string Rank { get; set; }
  11.         public string Runs { get; set; }
  12.     }

Create a new ActionResult method for creating New Entity. Here, I need to retrieve my storage account for accessing cloud table. Create a new Cricketer entity with its respective properties.

After creating entity, you need to create the TableOperation object that would be inserted to your entity. Next, execute the insertOperation to insert an entity. At the end of the code, I’m getting the table name from MyTableCreation Method string of session, into ViewBag.

  1. public ActionResult CreateEntity()
  2.         {
  3.             CloudStorageAccount userstorageAccount = CloudStorageAccount.Parse
  4.                 (CloudConfigurationManager.GetSetting(“mystoragecontainer002_AzureStorageConnectionString”));
  5.             CloudTableClient myTableClient = userstorageAccount.CreateCloudTableClient();
  6.             CloudTable cricketTable = myTableClient.GetTableReference(“cricketers”);
  7.             CricketerEntity cricketer1 = new CricketerEntity(“A.B”“Divillers”);
  8.             cricketer1.BatingStyle = “Right Hand Batsman”;
  9.             cricketer1.Rank = “1”;
  10.             cricketer1.Runs = “5000”;
  11.             TableOperation insertOperation = TableOperation.Insert(cricketer1);
  12.             cricketTable.Execute(insertOperation);
  13.             string getTable = Session[“getTable”].ToString();
  14.             ViewBag.YourTableName = getTable;
  15.             return View();
  16.         }

Take table name into session in the MyTableCreation method.

  1. Session[“getTable”] = cricketTable.Name;

Right click on CreateEntity method to add a view and write following script on to it.

  1. @{
  2.     ViewBag.Title = “CreateEntity”;
  3.     Layout = “~/Views/Shared/_Layout.cshtml”;
  4. }
  5. <h2>Table Entity</h2>
  6. <h3>The Entity is Successfully creating into <b style=“color:red”>“@ViewBag.YourTableName”</b> Table </h3>

Now, go to MyTableCreation.chtml view to make a ActionLink for creating Entity.


Now, run your application and check the output.


Click on the created Entity.


Check your created Entity in Azure Table Storage. Click on the Server Explorer in your Visual Studio Project, click on Storage, and refresh your table.


Table has been created under selected container.


Click to view your table entity.


How can you Create Batch Entity into Table?

By performing Batch Operation, you can insert up to 100 entities in table. Create a new method for Batch Entity and create two cricketer entities. Then, add both in batch insert operation. After that, execute the batch operation method.

  1. public ActionResult CreateBatchEntity()
  2.         {
  3.                         CloudStorageAccount userstorageAccount = CloudStorageAccount.Parse
  4.                 (CloudConfigurationManager.GetSetting(“mystoragecontainer002_AzureStorageConnectionString”));
  5.             CloudTableClient myTableClient = userstorageAccount.CreateCloudTableClient();
  6.             CloudTable cricketTable = myTableClient.GetTableReference(“cricketers”);
  7.             TableBatchOperation batchOperation = new TableBatchOperation();
  8.             CricketerEntity cricketer1 = new CricketerEntity(“Mike”“Hussy”);
  9.             cricketer1.BatingStyle = “Left Hand Batsman”;
  10.             cricketer1.Rank = “2”;
  11.             cricketer1.Runs=“4500”;
  12.             CricketerEntity cricketer2 = new CricketerEntity(“Mike”“Henry”);
  13.             cricketer2.BatingStyle = “Right Hand batsman”;
  14.             cricketer2.Rank = “3”;
  15.             cricketer2.Runs = “6500”;
  16.             batchOperation.Insert(cricketer1);
  17.             batchOperation.Insert(cricketer2);
  18.             // Execute the batch operation for both entities.
  19.             cricketTable.ExecuteBatch(batchOperation);
  20.             string getTable = Session[“getTable”].ToString();
  21.             ViewBag.YourTableName = getTable;
  22.             return View();
  23.         }

Add a view and right following script.

  1. @{
  2.     ViewBag.Title = “UploadYourBlob”;
  3.     Layout = “~/Views/Shared/_Layout.cshtml”;
  4. }
  5.     <h3>Uploaded…..☺</h3><br />
  6.     <h2>This Blob <b style=“color:purple”“@ViewBag.BlobName” </b>@ViewBag.Message in <b style=“color:red”“@ViewBag.YourBlobContainerName” </b> </h2>

To show an Action Link on MyTableCreation.cshtml page, update this by the following code.


Run your application and select the second Action Link.

After clicking on the link, your entities have been created to the tables.

Refresh your table and you’ll get the expected result.


In my next article, I’ll discuss other storage methods in Azure.

Overview Of Microsoft Azure Storage – Part Three

This is the third part of the series on Azure storage. In this article, you’ll see how we can perform different operations on storage such as creating container, uploading blobs to the container, listing of blobs and deleting of blobs through the code. For this, you have to follow the prerequisites given below.

  • Microsoft Visual Studio 2015(.NET Framework 4.5.2).
  • Microsoft Azure Account.

Hence, let’s start and follow the steps in the order to perform one of the best Azure storage, which is Blob Storage. I think there is no need to tell you, what Blob Storage in Azure is? If you want to learn and start with Azure, you can go with my series. In order to work, you’ve got to create a storage account by signing in to Azure Portal.

After creating a storage account on Azure portal, open Visual Studio 2015 and create a new project.


Select MVC template and click OK button.


Here, my AzureCloudStorage project is ready for use. I need some references of Azure storage in my project and Azure storage account connection string. Right click on the project, add the Connected Service.


We are going to work with Azure storage account, so select Azure storage and click Configure button to configure your account.

This will ask you to enter your Azure credentials. After successful login, your storage account is automatically configured by it. If you don’t have any storage account, you can create a new storage account from the given option.


All is set now. I have to write all the necessary code in my controller. To create a controller, right click on to Controller’s folder and add a controller.


My Controller has been created. Here, add a method, which will return ActionResult. Under this method, create a Container for an existing storage account.


Create a Container in storage aAccount

Create an object of storage account, which represents our storage account information such as storage account name and key. The setting exists in Web Config file. To get all information, we parse a connection string from Cloud Configuration Manager. To create the Service client object, use CloudBlobClient credentials access to the blob Service. Now, create an object for CloudBlobContainer, which retrieves a reference to a container. Give a name to the container, which you want to create, unless a container already exists.



I’ve used ViewBag to show, if container doesn’t exist, then show container is created, else it’s not created on view. Also, I’ve used ViewBag to show container name on view.

  1. namespace AzureCloudStorage.Controllers
  2. {
  3.     public class MyStorageController : Controller
  4.     {
  5.         // Create a Container for existing Storage Account
  6.         public ActionResult CreateStorageContainer()
  7.         {
  8.             CloudStorageAccount userstorageAccount = CloudStorageAccount.Parse(
  9.             CloudConfigurationManager.GetSetting(“mystorageazure01_AzureStorageConnectionString”));
  10.             CloudBlobClient myBlobClient = userstorageAccount.CreateCloudBlobClient();
  11.             CloudBlobContainer myContainer = myBlobClient.GetContainerReference(“mystoragecontainer001”);
  12.             ViewBag.UploadSuccess = myContainer.CreateIfNotExists();
  13.             ViewBag.YourBlobContainerName = myContainer.Name;
  14.             return View();
  15.         }
  16.     }
  17. }

Resolve to references and the main references are given below.

  1. using Microsoft.Azure;
  2. using Microsoft.WindowsAzure.Storage;
  3. using Microsoft.WindowsAzure.Storage.Blob;


Perhaps, you know that views are used to display the data. Let’s create a view for the CreateStorageContainer method by right clicking it.


View Name would be as it is and use this view along with layout page.


Here is the some code snippet on view to display a result on the browser that if container has uploaded, then show a message of success, else the same name container already exists. The screenshot given below is for CreateStorageContainer.chtml.


Open _Layout.cshtml file and add an Action Link is required to create a storage account.


Run the Application by CTRL+F5. The Action Link text is available, so just click on to it to create a Container in your Storage Account (mystoragecontainer001).


After clicking it, you’ll be redirected to your controller method and container should be created on Azure portal successfully.


Let’s move to Azure portal and you will find Container has successfully been created under given storage account.


Now, again go back to dashboard and click Action Link to check, whether it will upload same name Container or not.


No, it shows Container already exists in your storage account.

Upload a Block Blob or Page Blob into Selected Container

As explained earlier in the articles, Azure storage supports a different kind of blob types such as page blob, block blob and append blob. In this demo, I am going to explain only block blob. I need to upload a blob from my local file. Here, I am creating an object of CloudBlockBlob and retrieving a reference of block blob. From the myblob reference object’s UploadFromStream, you can upload your data stream and create a blob, if there any blob does not exist.

Here, I’m using session, which would be accessed into another ActionResult through the string and string object would be accessed into our View to display blob name.

Create a method to upload blob

Now, access previous sessions in string and ViewBag represents the string as its object and for container as well.

  1. //Upload Blobs To selected Container
  2.         public ActionResult UploadYourBlob( )
  3.         {
  4.             CloudStorageAccount userstorageAccount = CloudStorageAccount.Parse(
  5.             CloudConfigurationManager.GetSetting(“mystorageazure01_AzureStorageConnectionString”));
  6.             CloudBlobClient myBlobClient = userstorageAccount.CreateCloudBlobClient();
  7.             CloudBlobContainer myContainer = myBlobClient.GetContainerReference(“mystoragecontainer001”);
  8.             //get blob reference by entering its name
  9.             CloudBlockBlob myBlob = myContainer.GetBlockBlobReference(“lion3.jpg”);
  10.             //directory name from where you want to upload your blob.
  11.             using (var fileStream = System.IO.File.OpenRead(@“D:\Amit Mishra\lion3.jpg”))
  12.             {
  13.                 myBlob.UploadFromStream(fileStream);
  14.                 ViewBag.BlobName = myBlob.Name;
  15.             }
  16.             //hold container in viewbag using string that we will used to get container name onto browser
  17.             string getcontainer = Session[“getcontainer”].ToString();
  18.             ViewBag.YourBlobContainerName = getcontainer;
  19.             return View();
  20.         }

Right click near ActionResult method and add View for it.


Create a view to display the data.


Here, I am writing simple scripts in UploadYourBlob.chtml.

  1. @{
  2.     ViewBag.Title = “UploadYourBlob”;
  3.     Layout = “~/Views/Shared/_Layout.cshtml”;
  4. }
  5.     <h3>Uploaded…..☺</h3><br />
  6.     <h2>This Blob <b style=“color:purple”“@ViewBag.BlobName” </b>has Uploaded into your <b style=“color:red”“@ViewBag.YourBlobContainerName” </b> </h2>

Here, I want to show a simple demo. I want to show all the information on CreateStorageContainer.chstml view. Go to CreateStorageContainer.chstml and write some snippet, as shown below.


The code snippet given above shows the result given below.


If you click on blue text, it represents an action link. It will redirect to UploadYourBlob .cshtml view.


If you try to upload it again into the portal, then it shows the blob named Lion3.jpg, which already exists, as shown.

Get List of Your available blobs in Container

Now, the time of get list of blobs has come, which are available in your Container. Create an ActionResult, which will return the string of listblob in Container. Here, I am using blob list as a string

  1. public ActionResult ListingBlobs()
  2.         {
  3.             CloudStorageAccount userStorageAccount = CloudStorageAccount.Parse(
  4.              CloudConfigurationManager.GetSetting(“mystorageazure01_AzureStorageConnectionString”));
  5.             CloudBlobClient myBlobClient = userStorageAccount.CreateCloudBlobClient();
  6.             CloudBlobContainer myContainer = myBlobClient.GetContainerReference(“mystoragecontainer001”);
  7.             List<string> listblob = BlobList(myContainer);
  8.             return View(“CreateStorageContainer”, listblob);
  9.         }

Here, I am creating a common function, which returns list of blobs in string, which can be used in different methods. For list, we’ll use CloudBlobContainer.ListBlobs method, which should return IListBlobItem, according to your object.

  1. private static List<string> BlobList(CloudBlobContainer myContainer)
  2.         {
  3.             List<string> listblob = new List<string>();
  4.             foreach (IListBlobItem item in myContainer.ListBlobs(nullfalse))
  5.             {
  6.                 if (item.GetType() == typeof(CloudBlockBlob))
  7.                 {
  8.                     CloudBlockBlob myblob = (CloudBlockBlob)item;
  9.                     listblob.Add(myblob.Name);
  10.                 }
  11.                 else if (item.GetType() == typeof(CloudPageBlob))
  12.                 {
  13.                     CloudPageBlob myblob = (CloudPageBlob)item;
  14.                     listblob.Add(myblob.Name);
  15.                 }
  16.                 else if (item.GetType() == typeof(CloudBlobDirectory))
  17.                 {
  18.                     CloudBlobDirectory dir = (CloudBlobDirectory)item;
  19.                     listblob.Add(dir.Uri.ToString());
  20.                 }
  21.             }
  22.             return listblob;
  23.         }

Common function, which returns list of blobs as in string is CreateStorageContainer method.

  1. List<string> listblob = BlobList(myContainer);

Now, right click on to ListingBlobs and add a view.


In view, write the code snippet given below, as shown below.


Open CreateStorageContianer.cshtml file and add get list from Model. Update your View from the code given below.

  1. @model List<string>
  2. @{
  3.     ViewBag.Title = “CreateStorageContainer”;
  4.     Layout = “~/Views/Shared/_Layout.cshtml”;
  5. }
  6. <h2>Create Storage Container Into Storage Account</h2>
  7. <h3>
  8.     Hey This Container <b style=“color:red”“@ViewBag.YourBlobContainerName” </b>
  9.     @(ViewBag.UploadSuccess == true ?
  10.         “Has Been Successfully Created.” : “Already Exist Into Your Storage Account.☻”)
  11. </h3><br />
  12. @if (ViewBag.UploadSuccess == true)
  13. {
  14.     <h4>
  15.         Your Container has been created now ☺ You can Upload Blobs(photos, videos, music, blogs etc..)<br /> into your Container by clicking on it.
  16.         @Html.ActionLink(“Click Me To Upload a Blob”“UploadYourBlob”“MyStorage”)
  17.     </h4>
  18. }
  19. else
  20. {
  21.     <h4>
  22.         Your Container already exist ☺ You can Upload Blobs(photos, videos, music, blogs etc..)<br /> into your Container by clicking on it.
  23.         <b>@Html.ActionLink(“Click Me To Upload a Blob”“UploadYourBlob”“MyStorage”)</b>
  24.     </h4>
  25. }
  26. @Html.Partial(“~/Views/MyStorage/ListingBlobs.cshtml”, Model.ToList())


Run the Application. If there is any blob available in your container, then you can see the list of blobs.


Download Your Blob from Container

Add download and delete the link to the ListingBlobs.cshtml View.


When you’ll click on file, the blob should be downloaded.


Let’s write the code for Download blob and myBlob.DownloadToStream method transfers content of blob to the stream object. Give a path, where you want to download the blob.

  1. public ActionResult DownloadYourBlob()
  2.         {
  3.             CloudStorageAccount userstorageAccount = CloudStorageAccount.Parse(
  4.             CloudConfigurationManager.GetSetting(“mystorageazure01_AzureStorageConnectionString”));
  5.             CloudBlobClient myBlobClient = userstorageAccount.CreateCloudBlobClient();
  6.             CloudBlobContainer myContainer = myBlobClient.GetContainerReference(“mystoragecontainer001”);
  7.             CloudBlockBlob myBlob = myContainer.GetBlockBlobReference(“lion1.jpg”);
  8.             //for delete blob
  9.             using (var fileStream = System.IO.File.OpenWrite(@“D:\downloads\”))
  10.             {
  11.                 myBlob.DownloadToStream(fileStream);
  12.                 ViewBag.Name = myBlob.Name;
  13.             }
  14.             string getcontainer = Session[“getcontainer”].ToString();
  15.             ViewBag.YourBlobContainerName = getcontainer;
  16.             return View();
  17.         }

Add a view of the current method.


Click Add.


In the DownloadYourBlob.chtml, write the snippets given below.

  1. @{
  2.     ViewBag.Title = “DownloadYourBlob”;
  3.     Layout = “~/Views/Shared/_Layout.cshtml”;
  4. }
  5. <h2>Blob has downloaded</h2>
  6. <b style=“color:purple”“@ViewBag.Name” </b>downloaded to The Folder

Run your Application once again and click to download from the list of blobs.


The blob should be downloaded.


If you want to delete the blob,which you downloaded recently, you have to make another ActionResult for deleting blobs.

Write the same code, find the object of CloudBlobClient and call its delete method.

  1. public ActionResult DeleteYourBlob()
  2.         {
  3.             CloudStorageAccount userstorageAccount = CloudStorageAccount.Parse(
  4.             CloudConfigurationManager.GetSetting(“mystorageazure01_AzureStorageConnectionString”));
  5.             CloudBlobClient myBlobClient = userstorageAccount.CreateCloudBlobClient();
  6.             CloudBlobContainer myContainer = myBlobClient.GetContainerReference(“mystoragecontainer001”);
  7.             CloudBlockBlob myBlob = myContainer.GetBlockBlobReference(“lion1.jpg”);
  8.             myBlob.Delete();
  9.             ViewBag.DeleteBlob = myBlob.Name;
  10.             return View();
  11.         }

Add a view for this ActionResult and write the snippets given below.

  1. @{
  2.     ViewBag.Title = “DeleteYourBlob”;
  3.     Layout = “~/Views/Shared/_Layout.cshtml”;
  4. }
  5. <h2>Blob has Deleted</h2>
  6. <b style=“color:purple”“@ViewBag.DeleteName” </b>Deleted from The Folder

Click Delete the lion1.jpg blob.


The downloaded blob has been deleted successfully.


If you want to upload more containers and blobs into your Azure storage account, then you can only change the name of container and blob into the code.

Overview Of Microsoft Azure Storage – Part Two

In this article of the series, I’m going to show how we can manage our Azure Account by using Azure PowerShell ISE, by which we’ll see how we can perform different operations on storage and the same also with Azure Explorer. There are some commands that help access the Azure Account.

Windows Azure PowerShell ISE (Integrated Scripting Environment)

It is a Windows based GUI and framework from Microsoft. It has a predefined set of commands along with non-scripting language. PowerShell is a Command-line Shell which is similar to the command window, interactive editor built on .Net framework. When we are writing scripts on PowerShell, we have complete access to entire .NET framework, such as all the classes, different methods, and data types.

PowerShell ISE has Commands Add-on Pane which helps in easily creating different scripts having to type all the commands in the command line conveniently.

Along with Commands Add-on Pane, we have script pane for writing the scripts, and Command Pane. You can toggle the script and commands On and Off from the View menu. With the help of Command-Add-On Pane, you don’t need to type any command on Command Pane, just select the command whatever you want to run from Commands Add-On Pane and run it.

Commands Add-On pane has several properties to perform your commands. For example – if you want to work only with Azure Storage Account, then just select Azure.Storage from the module. Then only, the list of Azure Storage commands is shown on your screen. You can write the module name in the Name section whatever you want to work with. Let’s assume if you select Azure.Storage module and want to perform a command from the available list, just select it and click on to Insert. It will ask showing parameters – just  click on Run to run a command.


Well, the PowerShell ISE is installed by default with Windows 10 when you’re installing PowerShell from SDK. In modules, select Azure.


You can see the list of Azure related commands. Here I need to add my Azure account credentials with PowerShell, just select one of the highlight command as shown in following screenshot


Click on Show Details to add parameters.


Click on insert to insert command on Command pane, and click on Run to run the command.


That will open a page for Microsoft account. Enter your credentials to add account with PowerShell ISE.


When your account will be added then PowerShell returned your Azure account Id to ensure that you’re connected.


In my Azure Account, I have only one subscription that is “Visual Studio Enterprise with MSDN”. If you want to confirm your subscription run a command



If you want to read all commands then you can run a command to show a list of commands with description.

Run- Get-Command


Create a new storage account.

For creating a new Storage Account give a storage account name (lower letters) and your specific location where you want to create account.

New-AzureStorageAccount –StorageAccountName “mystoragecontainer002” –Location “East Asia”


Get your Storage Account details on PowerShell cmdlet that will return a full detail of your storage account.



Check onto Azure Portal to see if our new storage is created or not.


Yes it has been created, now I want to create a Container in this Account. If you write a command of creating a container, the Azure PowerShell command didn’t recognized in which Storage Account you want to create your Container. Here I have to tell Azure PowerShell which account I want to use by setting a default storage account. To perform all operations to your default storage account write  thefollowing command

Set default storage account to new storage account

Set-AzureSubscription -CurrentStorageAccountName “mystoragecontainer002” -SubscriptionName “Visual Studio Enterprise with MSDN”


Get Azure Storage Account Keys through Storage Account Name

Get-AzureStorageKey –StorageAccountName “mystoragecontainer002”


Create a Container

To create a new Container give a name (lower case) to your Container. In previous articles I’ve discussed that for accessing your data from containers you have  to change permission for anonymous read access. If you give Permission as Off to your Container then anonymous users can’t access your data. You can set Permission to Off or Blob or Container as discussed in one of the series’ articles.

New-AzureStorageContainer -Name “mycontainerforazure” -Permission Off


Check onto Azure Portal the Container should be created.


Retrieve a Container by Name

If you want to retrieve a container by its name you can run the following command

Get-AzureStorageContainer –Name “mycontainerforazure”


Upload a Blob into Container

You know that every blob resides in a particular Container so I need to pass container name in which I want to upload a blob with a appropriate path of file in the following command

Set-AzureStorageBlobContent -Container “mycontainerforazure” -File “D:\downloads\lion.jpg”

In the following screenshot you can see I’ve uploaded two different blobs into the same container.


Retrieve a list of available blobs from Container

This command retrieves all the blobs that are in your Container.

Get-AzureStorageBlob -Container “mycontainerforazure”


Delete a Selected Blob from Container

To delete a blob you must know the blob name as shown in following screenshot.


Download Blobs into Local Folder

If you want to download your blobs into your local directory then you have to write couple of commands.

  1. Get a reference to a list of all blobs in a container
    $blobs=Get-AzureStorageBlob -Container “mycontainerforazure”
  1. Create the destination directory where you want to save your items.
    New-Item -Path “D:\downloads” -ItemType Directory –Force


  1. This command will Download blobs into your local destination directory
    $blobs=Get-AzureStorageBlob -Destination “D:\downloads”

The below screenshot shows this type of confirmation because I already have the same blobs under the same folder.


Wait for a second, it retrieves all blobs which are in Container onto PowerShell cmdlets.


Unlike Blob Storage, you can perform commands against Table Storage, Queue Storage and File Storage on Azure PowerShell ISE.

Overview Of Microsoft Azure Storage – Part One

Azure Storage is one of the greatest cloud storage foundations for modern applications. You can access the Azure Scalable Storage Services and applications in a global fashion anywhere. You can store large amounts of data (objects) using Azure Storage account. By creating an Azure Storage account, you can access Azure Blob, Table, Queue, and File Share Services. The data in respective storage is available only for the user. So, the IT Professionals, business makers, and developers can take advantages of it in several technologies. One more thing that Azure Storage provides is storage availability to the Azure VM (Virtual Machine) that would you read in further articles.

Azure Storage is capable of supporting a set of Operating Systems and a number of programming languages for the scalable and convenient development. Azure Storage uses simple Rest APIs so that anyone can send and receive data via HTTP/HTTPS. These are the following types of storage available for you.

  1. Blob Storage
  2. Table Storage
  3. Queue Storage
  4. File Storage

These are the Standard Storages.

Azure Storage

Azure VM Disk is a place to store any kind of data, applications, and operating system. This is known as Premium Storage within the Azure. For using Storage availability, we have to create an Azure Storage Account.

So, let’s create an Azure Storage Account.

Log into Microsoft Azure account using your credentials.

Just go to new portal of Azure and follow the steps given here to create a Storage account.

Go to New> Storage>Storage Account.

Azure Storage

You need to fill in some information for creating your account.

  1. Storage Account Name

    You’ve to enter a unique name for the account. The letters should be in lower case. When it finds a unique name, it’ll check a green mark.
  2. Deployment Model

    The deployment models identify how you’re deploying and managing Azure Solutions and also, they ensure how you can deploy Azure resources in a group. Azure Resource Manager provides a way of managing Azure resources in a group. On the other hand, with the Classic Model, you can only work with Classic resources.

  3. Account Kind

    Let’s choose the kind of your account. It gives two options – General Purpose and Blob Storage that stores your unstructured data as blobs.

  4. Performance
    Standard Storage Account

    Where you can store unstructured object data storage (Blob), Tables, Queues, Files, and Azure VM under a specific single account.

    Premium Storage Account

    It is supported only by Azure Virtual Machine disks. This account is known for high performance

  1. Replication

    You’ve to select one of the following replication options in the given dropdown list,
    Zone-redundant storage (ZRS) – It stores three copies of your storage in the multiple data center in the same region that you’ve selected.

    Locally redundant storage (LRS) – It stores three copies of your storage in the data center region that you have selected.

    Geo-redundant storage (GRS) – When the primary region is goes down still data is available instantly for Read Only Access in the secondary region it stores six copies of your storage in primary region and the other three copies will be stored in secondary region.

    Read-access geo-redundant storage (RA-GRS) – It stores three copies of your storage in primary region and the other three copies will be stored in secondary region.

  1. Storage Service Encryption

    It encrypts your data when you write into Azure Storage. This is for the protection for your data.
  2. Resource Group

    You can manage your storage detail into one Resource group either by creating new resource group or with existing.
  3. Location

    Your preferred location.

After completing all the necessary steps, you can click on the “Create” button to create your Storage account.

Azure Storage

It’ll take some time to create your account. You can find your Storage account within your resource group by clicking on All Resources.

Azure Storage

Click on to your Storage account. You can access your storage account features from the given list, such as properties, access keys, activity log and many more.

Azure Storage

When you click on “Overview”, you’ll see all fundamental Storage services, such as Blobs, Tables, Files and Queues. In this article, I’m going to explain about one of the best storages, i.e., Blob Storage in Azure.

Blobs in Azure

Blob Service provides a scalable and highly available service to store large files in the cloud. It has some limitations and constraints. The Blob Service stores arbitrary large amounts of unstructured object binary and text data using a key value system. Blob Storage can be used to store and retrieve Binary Large Objects (BLOBs) from anywhere in the world via HTTP or HTTPS. A single blob can be hundreds of Gigabytes in size. A blob stores a file of any types and size.

  • Storing files for distributed access whether you want to access from Azure Explorer or directly from any other resource.
  • Streaming video, audio, images, CSS files, and PDF files.
  • You can access Blobs data from any computer.
  • Serving images and documents directly to a browser without authentication tokens.

    Azure Storage


For the Blob Storage, we first create a container. A container provides a grouping of a set of Blobs. All blobs reside in a container. A container can store an unlimited number of blobs, and in these blobs, we can store our unstructured data. See the panel where I don’t have any container. So, let’s click on Container to create a new one.

Azure Storage

Give a unique name to your container and if you want to access your blob only by yourself, then select Private Access. If you select Blob, then the Blob data of that container can be read by anonymous request. If you select Container, then the Container and Blob data can be read via anonymous user.

Click on “Create” to create a Container.

Azure Storage

My container has been created successfully.

Azure Storage

As I said, after creating container, you can upload your Blob. Click on “Upload”.

Azure Storage

There are three types of blob that can be stored in Azure Storage: Block Blob, Page Blob, and Append Blob. Most of the files are block blobs.

Azure Storage

Block Blob

A single block blob can be upto 200 GB in size. You can upload large blobs efficiently with block. A block can be of upto a maximum of 100 MB and a Block Blob can include upto 50,000 blocks.

Azure Storage

I’ve uploaded a MP4 video. Let’s see how it works.

Azure Storage

Azure Storage

Click on “Access policy” to change your access.

Azure Storage

Anonymous user can access my blob, so I’ve to change my access type to the Blob.

Azure Storage

I would like to serve it to the browser, so just click on your blob and copy the URL.

Azure Storage

Paste the URL in the browser, and you’ll found that it is working.

Azure Storage

Page Blob

Page type blobs are used for read/write operations and can be upto 1TB in size. It has Index based data structure.

Azure Storage

Append Blob

An Append Blob can be up to maximum of 4 MB. This is optimized for the fast append operations. This is most similar to page blob.

Azure Storage

You can upload a Blob using PowerShell, using Azure Explorer, and with Visual Studio by using Storage Account Access Keys. We will learn this in my upcoming articles. I’ll discuss Table, Queue and File Storage also in my next article.

Fundamentals Of Azure Storage

In this article, I will illustrate how we can deliver high scale and low cost solutions with Azure tiered Cloud storage by covering the points given below.

  • Introduction to Azure storage.
  • Overview of Azure Object (Blob) Storage / Unstructured storage
  • Working with Blob storage
  • Key concepts of Blob storage
  • Architecture
  • Demo with all the steps (screenshots)


  1. Working VS demo of Blob storage project
  2. Storage tools

This article is divided into two parts, which are given below.

  1. Fundamental of Azure Tiered storage
  2. Advance Azure Object (Blob) storage

What is Azure storage and why do we need Azure storage?

Let’s consider the current storage challenges.

Scalability Limits

  • Let’s try to predict what storage your business will need over the next 1-2 years. We may need a very long capacity planning lifecycle like
    • What you have to buy, what you have to deploy etc.
    • How long would it take you to provision another PB of storage, how quickly you can acquire it, provision it and make it available?
    • Even on the small end, if your capacity is full, how long would it take you to provision even a TB and make it available? It means a purchasing event, rack and stack and deploy some gear.
    • What are the costs and ramifications, if you have to decommission storage?

      Consider the problems you face in the scaling up and scaling down of the traditional storage capacity planning model so far.


  • The data is one of the most important valuable assets to the business, so you can’t put it at risk.
  • Golden Rule: You can’t lose, corrupt it, or mess up the data. Make sure it can never be lost or worse, stolen.
  • Anytime, you are looking for the alternative solutions; the trustworthiness of the infrastructure solution, which will allow you to deploy your data and protect it.


  • There is an opportunity cost of constraining your business by preventing the ability to generate revenue because you didn’t provision enough capacity.
  • Paying the burden of under utilized capacity
  • Constant overhead of maintenance, migration, upkeep that doesn’t really add the value or unlock the potential of the data.
  • Big events can happen, expansion into a new region or enter a ‘New Geographical Location.’ What are the costs, how can we make it seamless?


  • All of the above activities and risk factors tax your business and prevent you from focusing on the innovation or the progress.
  • The storage should be an asset, which helps you to utilize your data, not something which prevents your business from being agile or utilizing the data and enable it to be competitive.

The key pillars of Azure are given below.

  • Limitless scalability
  • Trust
  • Cloud Economics

These are given in accordance with the intent of enabling the business agility for you and your customers.


  • Storage is a fundamental building block for all of Azure Services. Every Azure Service directly or indirectly stores their data in Azure Storage.
  • Microsoft’s consumer and enterprise Services are betting their business on Azure storage including XBOX, Skype, Office 365 and more.

The storage Service has a set of capabilities, which is worth talking.

Hyper scale

  • We have about 6 billion net new objects added to Azure and we will do almost 60 billion transactions on that data.
  • Add that up over a year and the numbers are truly staggering, 100’s of trillions of transactions, almost 22EB of data coming in and out of our system and the growth curve is still accelerating.
  • Azure is continuing to invest in the infrastructure, constantly taking on new customers every month, as we can see over 120K new subscriptions/ month.


  • Azure has a durable platform. Azure promises to never loose the client data.
  • Azure keeps multiple copies of the client data and responds to all the forms of Hardware (HW) failure.
  • Constant scrubbing of the data to protect against the corruption or bit rot by constantly reading the data and doing checksums and correcting any copies of the data.


  • Azure now provides encryption at Rest and also client libraries for an Application encryption.

Highly available

  • Azure is highly available and it is able to automatically recover.
  • Automatic dynamic load balancing. Thus, if you have a set of BLOBs or Table entities and all of a sudden; you have a million visitors ; try to download the object. If Azure storage will notice that traffic increase, then it dynamically scales out and starts serving that object over 100s or 1000s of Servers and then scales back down as the traffic subsides.


  • Azure Storage is focused on being the most open platform for the client data regardless of what devices or architectures.
  • REST APIs that client can code against, is an open and fully documented and Azure also has built a comprehensive set of the client libraries.
  • Azure storage’s goal does not make any difference; where the client data is or what type of the Applications, the client is building, the client can do it on a solid platform offering, which depends on it to manage your data at scale.


  • Azure storage is the only Cloud provider, which has a great Hybrid story.
  • With the release of Windows Server 2016, the new Azure Stack provides a 100% API consistent implementation for all our Services, which allows you to build the Applications and run them On Premise in a local host Service or in Azure public Cloud with zero code changes.
  • In addition, Azure storage also offers Azure Services, which bridges your datacenter to Cloud like StorSimple, Azure Backup, Azure Site Recovery.

In addition, Azure Storage is also used by every Azure Service directly or indirectly for the data persistence and by nearly every MS Services including O365 and Skype for Business on the enterprise side and OneDrive, Xbox and Skype on the consumer front

The storage Services have a number of capabilities, which are common across the board. Let’s go through each of them briefly.

Azure Storage Services

  • We can break Azure Storage Service broadly into the 2 deployment models, IaaS, where you’re running your own infrastructure or PaaS where you are using higher level services and applications which are developed against the public cloud infrastructure.
  • On the Infrastructure side (IaaS), azure provides DISKS and FILES, Disks are single instance Disks which are attached to VMs. There are two flavors, Standard and Premium. And Files are shared storage over SMB. Both are provided as Services to your VMs.
  • For PaaS, we have three core objects which are Objects, Tables and Queues.
  • Blob storage offers Exabyte scale and the ability to store trillions of objects across different tiers. Our current tiers are Hot storage for higher performance and frequently accessed data and Cool storage for less active & archived data.
  • Tables are our massively scalable NoSQL key-value stores for the structured and semi-structured data.
  • Queues Service is for reliable intra and inter-Service communications, which are great for decoupling your work flows.

All these Services are built on the common unified distributed storage system. Thus, all of the capabilities which we talked about previously are available to all of these Services.

Storage Durability

  • Data Platform Durability is critical, if you don’t offer it, you don’t have a platform ready for the enterprise.
  • Azure starts with the Distributed File System which deals with failures, dealing with checksums and data integrity in the background, but another interesting characteristic for us is strong consistency and that’s read after write consistency.
  • When you write the data for Azure platform, write it to three different disks on 3 different racks and Azure. Write back when it has been committed to all the three copies.
  • If you have an application that is reading and writing you never have this eventual consistency problem that some cloud platforms have.


  • LRS or Locally Redundant Storage, which has 3 replicas, 3 disks on 3 different racks in a single region, which protects against the failures at that level. the client never has to think about the traditional forms of backup such as RAID. You may still need backup for other things but for HW failures, it is no longer necessary.
  • Stepping up from there, if you need your data to be resilient against major regional disasters (earthquake, floods), we offer automatic geo-replication to another region 100s of miles away. The replication is async unlike LRS, which is synchronized and strongly consistent. Thus, within a couple of minutes; the data will be replicated to another datacenter.
  • The client can query the replication lag, so you know what your RPO is for an Application and use that secondary copy, as needed.
  • If you want to use the data for HA, we provide RA-GRS, which is read access. Thus, you get a second DNS endpoint for that second copy.

By going through the above Storage fundamentals, now you will be able to understand what is Azure storage and why we need Azure. It gives us prerequisite fundamental knowledge to advance further in the next article.

Until next time, happy learning.

Microsoft Azure And Azure Machine Learning

Today, we are going to take a look at the business needs of ‘Modern Cloud computing’ and try to understand the reasons  developers/programmers and IT professionals need cloud skills.

What is Azure? | Pay-As-You-Go

  • Microsoft Azure is a Cloud computing platform and infrastructure created by Microsoft for building, deploying and managing the Applications and Services through a global network of Microsoft-managed data centers.
  • Microsoft Azure is a growing collection of integrated Cloud Services—analytics, computing, database, mobile, networking, storage, and Web—for moving faster, achieving more and saving money.

As per Microsoft

  • “80% of Microsoft customers have already deployed or fully embraced the cloud. By 2020, the idea that a company has no cloud infrastructure may be as rare as a ‘no internet policy’ is today.”

Cloud considerations

These are some considerations with the cloud, which are given below.

  • You do not own the hardware.
  • Be prepared for failures.
  • Scale is unpredictable. Can you scale efficiently?
  • Managing Services is often harder than building the Services. Do you have the right operational telemetry for visibility?
  • No downtime upgrades.
  • Are the costs being understandable and controllable? Do you know the density and capacity of your Services?
  • Care upfront about security.
  • Developer productivity. Build the app and not a platform

What is Windows Azure?

Azure is a complete package of the following.

Why Use the Cloud?

Windows Azure Services

You take the name and you will find everything within Azure Services.

Battle for The Cloud is shown below.

From this image, it’s evident that Microsoft Azure is capturing market with the significant growth, so keep yourself ready.

Let’s take Microsoft Azure Portal’s overview

First question is about Azure subscription and the details are given below.

Enjoy Azure subscription from the following.

After subscribing, you will come across the screenshot given below.

You can get hands-on here and it will give you real time experience with Azure portal.

    • Create an app Service here and click Create.

    • Give all prerequisite details.

Click Create.

Congratulations, your Azure app is ready — access it and do all the developer activities.

Hence, let me summarize new learning in simple words

  1. What is Azure? (This is going to be the future of modern computing).
  2. By 2020, the idea that a company has no Cloud infrastructure may be as rare as a ‘no internet policy’ is today. Hence, catch the bus at the right time.
  3. Why to consider Azure (Business and Technical reasons).
  4. Why to use Cloud.
  5. Market Share for Azure (every year, its growing).
  6. Azure free scubscription.
  7. Window app Services with demo.

In Microsoft Azure & Azure Machine Learning Part -2, we will learn,

  1. Azure VM.
  2. Azure database.
  3. Azure data warehouse.
  4. Azure Machine Learning.

Keep learning.

Walkover to Microsoft Cloud (Azure) Security

Welcome again!!

Today, we will discuss about Microsoft Cloud Security from a curious customer questions perspective, before moving towards detailed technical understanding.
  1. Could we consider Cloud as a Secure Platform?

    I really don’t have any idea, and neither could I promise that,  but what I understood from my learning is that ‘Cloud Environment’ has better security as compared to the ‘On Premises Data Center’. Some of the reasons for Security of the ‘Microsoft Data Centers’ are –

    1. Controlled access/ Reachability to the Azure Data Centers. So far, no Azure Security breach has been reported.
    2. Technology perspective (Adhere to the Azure Security Development Lifecycle (SDL)).
    3. Authentication is managed by Multi-factor authentication (MFA).

      For more details, you have to navigate down.

  2. Is Owning Cloud Services Cheap (Save Money)?

    I would say ‘Yes’, because Microsoft provides the best infra and as an individual customer, probably it would not be possible to invest the ‘huge amount’ for Infrastructure Services.
  3. What are the major reasons which trigger you to choose Microsoft Cloud Security?

    I would say ‘Agility’ or ‘BUSINESS VALUE’. Please consider the real time issue of the ‘System Performance’ or ‘Application Performance’ of your ‘Production Server’.

    If you have an ‘On Premises Customer’, you may look over System Hardware, Server Configuration, Network Speed etc. Then, you would zero in on what exact changes the system needs, and then plan for the changes. It may take at least couple of weeks to months, as per Business Need.

    However, it would take only a couple of hours with the Cloud to ‘Scale Up’ your Servers. It’s a good gain from an organizational perspective. Indeed, it saves a couple of weeks/months and hence we have saved MONEY. Furthermore, it adds value to the business, which is ‘Super Important’.

    So now, let’s have some understanding of how ‘Cloud Security’ works?

As businesses are needed to be built as secure as we can make them, clients may have some concerns over the Data security, specifically Bank / Financial Clients. They may think twice whether the ‘CREDIT CARD’ or the commercial data is safe at the Cloud. I feel, we as a Consultant should have knowledge before any suggestion/ commitments.

So, as a customer, you could toss different questions.

  • Is our data in the cloud as secure as on premises data/ more or less secure?
  • How easily could someone  hack the cloud data?
  • How much percentage of Data would be vulnerable on the Cloud?
  • For hackers, I think cloud could be a ‘Golden Opportunity’ for data theft?

What you think, does Microsoft really don’t know about RISK or did they plan for this ‘At All’?

Certainly, one thing I could say is that the capability, resources, and Infrastructure of any Cloud Provider are much higher than an ‘On Premise Data warehouse’. And security has been ensured by many statistics analysis tools and basic analysis tool.

Security is ensured by various other means. For example, Cloud Active Directory (AD), which keeps a check about Login locations. If a customer logs in from North America in the morning, say 10 AM, he/she could not be logged in from Africa at 10:15 AM (example) and access would be restricted until further authentication.

So far, I have shared my way of thinking or my knowledge. Let’s see what security mechanism Microsoft Cloud follows.
  • Microsoft Azure is the cloud platform with many integrated tools, templates, and  services.
  • Azure leverages us to use our existing learning/expertise of the database, database warehouse, storage, web applications, networking, and computing services to build and manage applications aligned with the cloud.
  • Azure Security Development Lifecycle (SDL) ensures that everything from the initial phase to launch/deployment phase is secured.
  • Operational Security Assurance (OSA) provides us a platform to ensure secure operations throughout the lifecycle of the cloud based platform.
  • Azure Security Center (for more details refer to Microsoft Azure website) offers continuous monitoring by
    1. Secure Identity
    2. Secure Infrastructure
    3. Secure Applications and Data

Secure Identity

Azure Active Directory (AAD) ensures the access to only ‘Authorized Users’. So, Azure enables us to manage user credentials to protect abstract information. Furthermore, AAD ensures authentication, authorization, and access control etc.

Secure Infrastructure

Precisely, this is the biggest part of the Microsoft Cloud Security and a lot of actors play vital roles to achieve Infrastructure Security. Many of them are Azure Virtual Networks that ensure a safe practice to extend on-premises network to the cloud via VPN or WAN (Azure Express Route).

Unauthorized and unintentional exchange of the information between deployments in a multi-tenant architecture is averted by mentioned tactics.

  • Using Virtual local area network (VLAN) isolation.
  • Access control lists (ACLs), Load balancers.
  • Network address translation (NAT) separates internal network traffic from external traffic.
  • Regulated Traffic Flow procedures.

Microsoft Antimalware for Azure protects Azure Cloud Services and Virtual Machines, through web application firewalls, network firewalls, antimalware, intrusion detection and prevention systems (IDS/IPS), and many more.

Secure apps and data

Azure adheres to the industry-best protocols of the data encryption in transition – Data travels between devices and Microsoft datacenters, within datacenters, as well as when the data is at rest in Azure Storage. Security is ensured by encryption for data, files, applications, services, communications, and drives.

Another Data security features in Azure

We can also encrypt our data before pushing it into Azure, in addition,  ensure key security from on premises data centers.


Hopefully, you have understood the basics of Microsoft Cloud (Azure) Security. This is only the basics; you can get extensive knowledge by reading the Microsoft Azure website ( and get the latest information about Azure/Cloud Security. I would love to keep on sharing the Microsoft Technology stuff with you. Next time, I will discuss ‘Advanced Security with Microsoft Azure’.

Until next time, Happy Coding and Keep Improving!!

Learn Azure Cloud Storage & Data Classification and Prediction using Azure Machine Learning

Learn Azure Cloud Storage & Data Classification and Prediction using Azure Machine Learning
Sat, May 27, 2017 10:30 AM – 12:00 PM CDT

Please join my meeting from your computer, tablet or smartphone.

You can also dial in using your phone.
United States: +1 (872) 240-3412

Access Code: 260-753-421

First GoToMeeting? Try a test session: