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”

Configure application settings for Azure Web App using Azure ARM template

In last post, we have discussed how to create azure web app along with the deployment slots using Azure ARM template. We are going to expand on the template created and learn how to configure application settings, web app properties like alwaysOn, remote debugging, etc and connection strings for azure web app in this blog post.

Define Web App Properties

Method 1: Use of Object variables
Variables are not only useful for declaring text that is used in multiple places and standardize them; they can be objects as well. Continue reading “Configure application settings for Azure Web App using Azure ARM template”

Deploy Azure Web App with slots using Azure ARM

Azure ARM uses simple JSON files for deploying infrastructure in Azure. While creating an azure web app or app service is not that tricky, usually you would require additional settings like deployment slots, application settings, connection strings, custom time zone etc. as well. It would be certainly nice if we can incorporate some of that as part of ARM templates itself so that we need not worry about it later. Since this topic is going to be lengthy, we’ll break into 3-4 smaller posts and also learn few azure resource manager tricks as well along the way. In this blog post, we’ll see how to create an Azure Web app and a slot associated with it using Azure ARM template.

Continue reading “Deploy Azure Web App with slots using Azure ARM”

Create a CI/CD pipeline in VSTS to deploy ARM templates

This is the final post in the series of basics for working on Infrastructure as a Code or IaaC. For first two posts, please refer below two links:

  1. Code virtual network configuration in Azure using ARM templates, Visual Studio and Git
  2. Sync local source code and commit history with Visual Studio Team Services

We learned how to create ARM template inside Visual Studio, enable versioning, deploy ARM template using Visual Studio, make new configuration changes, sync source and commit history to VSTS. In this blog post, we’ll learn how to create a CI/CD pipeline to deploy ARM templates.
Continue reading “Create a CI/CD pipeline in VSTS to deploy ARM templates”

Code virtual network configuration in Azure using ARM templates, Visual Studio and Git

Infrastructure as code and configuration as code both fall into the category of configuration management, and both relate to defining or scripting for environments.

Infrastructure as code is more specifically defined as:

Defining your environments to include networks, servers, and other compute resources as a text file (script or definition) that is checked into version control and used as the base source for creating or updating those environments. For instance, adding a new server should be done by editing a text file and running the release pipeline, not by remoting into the environment and spinning one up manually.

When designing scripts or definitions for infrastructure as code, it’s important to make sure that the code and tools are set up to be idempotent, or able to run multiple times without error and with consistency. Continue reading “Code virtual network configuration in Azure using ARM templates, Visual Studio and Git”

Create Azure App Service using Azure ARM and deploy using Visual Studio

In few of the previous blog posts, we discussed on what Azure ARM is and how it helps in the DevOps philosophy of Infrastructure-as-a-Code (IaaC). So we’ll build further on that knowledge. In this blog post, we’ll discuss how to create an Azure App service using ARM template.

We’ll be using Visual Studio 2017 for this post’s purpose. It is not necessary to use this, you can use just Visual Studio code and appropriate extension for ARM or you can use a simple notepad (as all ARM templates are JSON files in the end of the day) or any other editor of your choice. However, using Visual Studio 2017 further simplifies it.  Continue reading “Create Azure App Service using Azure ARM and deploy using Visual Studio”