Edit

Share via


Key concepts for building Azure apps

This article is part six in a series of seven articles that help developers get started with Azure.

Before designing your application to run on Azure, you need to plan ahead. As you start, you need to understand some basic Azure concepts to make the best decisions for your scenario. Consider the information in the following sections when planning.

Azure regions

A region is a set of datacenters deployed within a latency-defined perimeter and connected by a dedicated regional low-latency network. Azure lets you deploy applications where you need them, including across multiple regions to deliver cross-region resiliency when needed.

Typically, you want to keep all resources for a solution in the same region to minimize latency between components of your application. For example, if your solution includes Azure App Service, a database, and Azure Blob Storage, create all these resources in the same Azure region.

Not every Azure service is available in every region. The Products available by region page helps you find a region where the Azure services your app needs are available.

Azure resource group

A resource group in Azure is a logical container that groups Azure resources together. Every Azure resource belongs to one resource group.

Resource groups often group all the Azure resources needed for a solution in Azure. For example, if you have a web application deployed to Azure App Service that uses a SQL database, Azure Storage, and Azure Key Vault, it's common to place all these resources in a single resource group.

A diagram showing a sample resource group containing an App Service, SQL database, Blob storage, and a Key Vault.

This approach makes it easier to identify the resources needed for the application to run and how they're related. Typically, the first step in creating resources for an app in Azure is creating the resource group that serves as a container for the app's resources.

Environments

If you've developed on-premises, you're familiar with promoting your code through dev, test, and production environments. In Azure, to create separate environments you would create a separate set of Azure resources for each environment you need.

A diagram showing DEV, TEST, and PROD environments with a separate set of Azure resources in each environment.

Because it's important that each environment is an exact copy, use scripting to create resources needed for an environment or use infrastructure as code (IaC) tools to declaratively specify the configuration of each environment. This ensures that the environment creation process is repeatable and also lets you create new environments on demand, such as for performance or security testing of your application.

DevOps Support

Whether you're publishing apps to Azure with continuous integration or provisioning resources for a new environment, Azure integrates with popular DevOps tools. You can work with your existing tools and maximize your experience with support for tools like: