Apply / Update application settings for Azure App Service using PowerShell

Windows Azure App Service (Now an umbrella term for Azure Web App, Azure Api App, etc.) has a handy capability whereby developers can store key-value string pairs in Azure as part of the configuration information associated with a website.  At runtime, Windows Azure Web Sites automatically retrieves these values for you and makes them available to code running in your website.  Since the key-value pairs are stored behind the scenes in the Windows Azure Web Sites configuration store, the key-value pairs don’t need to be stored in the file content of your web application.  From a security perspective that is a nice side benefit since sensitive information such as Sql connection strings with passwords never show up as cleartext in a config file. However, sometimes, this can be a little too much for the Azure Admins to configure each setting over there. In this blog post, we’ll learn how to apply application settings using PowerShell.  Continue reading “Apply / Update application settings for Azure App Service using PowerShell”

Backup / Restore Data to / from Azure Cosmos Database with Mongo DB API

Azure Cosmos Database (formerly known as Azure DocumentDB) is a PaaS offering from Microsoft Azure. As a document store, it falls into the same category as MongoDB, CouchDB or RethinkDB and other No SQL DBs and just like those, it handles documents in the JSON format.

Azure Cosmos DB automatically takes backups of all your data at regular intervals.  These automated backups are currently taken approximately every four hours and latest 2 backups are stored at all times. If the data is accidentally dropped or corrupted, you can contact Azure support within eight hours.

Now what happens if you figure out after 8 hours that your data is lost or if its corrupted in your development / staging environments or something accidentally went wrong with production while everyone was on holidays. Continue reading “Backup / Restore Data to / from Azure Cosmos Database with Mongo DB API”

Create Azure Storage Shared Access Signature and manage files with PowerShell

In one of the previous posts, we discussed how to create and manage Azure Storage accounts using PowerShell. However, we were using storage account key when trying to upload / delete / download files from azure blob storage. In case, you need to delegate access to a third person, this seems like a too much of access since that person will have access to whole storage account. In this post, we will discuss how to use SAS aka Shared Access Signature to delegate access in controlled way.

Concept of Shared Access Signature

A shared access signature is a way to delegate access to resources in a storage account, without sharing the storage account keys. Continue reading “Create Azure Storage Shared Access Signature and manage files with PowerShell”

Create Azure Web App in existing App Hosting Plan using Azure ARM template

When working with Azure services, you will combine services together. Many times, you would need to add an Azure Web App to an existing App Hosting Plan rather than creating a new app hosting plan every time you want to create an azure app service. This is a useful strategy to save cost if the load on the web site is not high. In this blog post we are going to discuss how we can leverage Azure ARM to deploy an app service to an existing app hosting plan.

In one of the previous posts, we discussed how to create an app hosting plan and an azure app service in one go using Azure ARM. The way we linked an hosting plan with app service is by mentioning app hosting plan id inside the property of the web app:

Continue reading “Create Azure Web App in existing App Hosting Plan using Azure ARM template”

Provision Azure Storage Account and automate file upload and deletion using PowerShell

Microsoft Azure Storage is a cloud offering from Microsoft that provides highly scalable, available, durable storage. Its a part of Microsoft Azure offerings. Azure Storage consists of three data services: Blob storage, File storage, and Queue storage. Blob storage supports both standard and premium storage, with premium storage using only SSDs for the fastest performance possible.

Now as is often the case with the cloud services, it comes at a cost. So you should be very careful in using only the space you need and not paying for extra storage consumption that you should not need to. Along with that, you should be able to automate it. In this blog post, we’ll learn how to create an Azure Storage account, uploads some files to it in the blob storage and then delete them all using PowerShell.  Continue reading “Provision Azure Storage Account and automate file upload and deletion using PowerShell”

Difference between Azure Web App, Azure API App and Azure Mobile App

If you have been working with you might have seen that there are different icons for Azure Web App, API app, mobile app and logic apps in Azure Portal and wondering what is the difference between them. Which should you choose so as to get best of the benefits for your code? As of the current state of Azure, all of these are part of big umbrella term called Azure App Service. Initially, there was some difference in features offered by these services individually, but as of now difference is only limited to naming, icons and tooling.

Features of one are available in the others. There is absolutely no differences beside icons and names on the Azure Portal.  Continue reading “Difference between Azure Web App, Azure API App and Azure Mobile App”

Create azure web app with application insights using ARM template

Creating both the Azure web app and the Application Insights resources independently is no problem and should be relatively easy for anyone familiar with ARM. However, creating them fully integrated takes just a little bit more work. It’s kind of because you would want them both to be linked to each other.

If you use the Visual Studio wizard for creating an ARM template, you’ll notice that it  forces the AppInsights resource to be dependent on the web app being created. So first you need to create web app and then AppInsights resource. However, when AppInsights resource is created, it would also generate instrumentation key which you would want to put inside the application settings of the web app. So we would need to do it the other way around. In this blog post, we’ll learn how to achieve our objective and create both of them in one go. Continue reading “Create azure web app with application insights using ARM template”