Convert Figma logo to code with AI

Azure logoazure-quickstart-templates

Azure Quickstart Templates

13,947
16,077
13,947
1,047

Top Related Projects

Open source documentation of Microsoft Azure

Azure Command-Line Interface

This repository is for active development of the Azure SDK for Python. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/python/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-python.

Microsoft Azure PowerShell

Terraform provider for Azure Resource Manager

3,206

Bicep is a declarative language for describing and deploying Azure resources

Quick Overview

Azure/azure-quickstart-templates is a GitHub repository maintained by Microsoft that contains a collection of Azure Resource Manager (ARM) templates for deploying various Azure resources and solutions. These templates serve as starting points for users to quickly set up complex Azure environments, ranging from simple virtual machines to comprehensive multi-tier applications.

Pros

  • Extensive collection of pre-built, tested templates for various Azure services and scenarios
  • Regularly updated to reflect the latest Azure features and best practices
  • Community-driven with contributions from both Microsoft and external developers
  • Includes detailed documentation and parameter files for easy customization

Cons

  • Some templates may become outdated if not regularly maintained
  • Complexity of certain templates might be overwhelming for beginners
  • Not all Azure services or scenarios are covered
  • Some templates may require additional configuration or tweaking for production use

Getting Started

To use a template from this repository:

  1. Browse the repository and select a template that fits your needs.
  2. Click on the "Deploy to Azure" button in the template's README file, or:
  3. Download the template and parameter files.
  4. Use Azure CLI, PowerShell, or Azure Portal to deploy the template:
az group create --name MyResourceGroup --location eastus
az deployment group create --resource-group MyResourceGroup --template-file template.json --parameters parameters.json

For more detailed instructions, refer to the README file in each template's directory.

Competitor Comparisons

Open source documentation of Microsoft Azure

Pros of azure-docs

  • Comprehensive documentation covering all aspects of Azure services
  • Regularly updated with the latest information and best practices
  • Includes tutorials, conceptual articles, and reference materials

Cons of azure-docs

  • May be overwhelming for beginners due to the vast amount of information
  • Lacks ready-to-use code samples for immediate deployment

Code Comparison

azure-quickstart-templates:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": { ... },
    "resources": [ ... ]
}

azure-docs:

# Azure Virtual Machines documentation

Azure Virtual Machines (VM) is one of several types of on-demand, scalable computing resources that Azure offers...

## Quickstart: Create a Windows VM in the Azure portal

1. Sign in to the Azure portal.
2. Select Create a resource in the upper left-hand corner of the Azure portal.

The azure-quickstart-templates repository provides ready-to-deploy ARM templates, making it easier for users to quickly set up Azure resources. On the other hand, the azure-docs repository focuses on providing comprehensive documentation, including conceptual explanations, tutorials, and best practices for using Azure services. While azure-quickstart-templates is more practical for immediate deployment, azure-docs offers a deeper understanding of Azure services and their proper usage.

Azure Command-Line Interface

Pros of azure-cli

  • Provides a command-line interface for managing Azure resources directly
  • Offers more flexibility and automation capabilities for complex Azure operations
  • Supports cross-platform usage (Windows, macOS, Linux)

Cons of azure-cli

  • Steeper learning curve for users unfamiliar with command-line interfaces
  • Requires installation and regular updates to maintain functionality
  • May be overkill for simple, one-off Azure deployments

Code Comparison

azure-quickstart-templates (ARM template):

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "name": "[parameters('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2"
    }
  ]
}

azure-cli (CLI command):

az storage account create \
    --name mystorageaccount \
    --resource-group myResourceGroup \
    --location eastus \
    --sku Standard_LRS \
    --kind StorageV2

The azure-quickstart-templates repository provides ready-to-use ARM templates for various Azure resources and scenarios, while azure-cli offers a command-line tool for direct Azure resource management. The choice between them depends on the user's preference, expertise, and specific use case requirements.

This repository is for active development of the Azure SDK for Python. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/python/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-python.

Pros of azure-sdk-for-python

  • Provides a comprehensive Python SDK for Azure services
  • Offers more granular control over Azure resources and operations
  • Allows for integration of Azure services into existing Python applications

Cons of azure-sdk-for-python

  • Steeper learning curve for developers new to Azure
  • Requires more code to achieve specific Azure deployments
  • Less suitable for quick prototyping or one-off deployments

Code Comparison

azure-sdk-for-python:

from azure.identity import DefaultAzureCredential
from azure.mgmt.compute import ComputeManagementClient

credential = DefaultAzureCredential()
compute_client = ComputeManagementClient(credential, subscription_id)
vm = compute_client.virtual_machines.begin_create_or_update(
    resource_group_name, vm_name, vm_parameters
).result()

azure-quickstart-templates:

{
  "type": "Microsoft.Compute/virtualMachines",
  "name": "[variables('vmName')]",
  "location": "[parameters('location')]",
  "properties": {
    "hardwareProfile": { "vmSize": "[parameters('vmSize')]" },
    "osProfile": { "computerName": "[variables('vmName')]" }
  }
}

The azure-sdk-for-python example shows Python code for creating a VM using the SDK, while the azure-quickstart-templates example demonstrates an ARM template snippet for VM creation. The SDK approach offers more programmatic control, while the template provides a declarative infrastructure-as-code solution.

Microsoft Azure PowerShell

Pros of azure-powershell

  • Provides a comprehensive set of cmdlets for managing Azure resources
  • Offers more granular control over Azure operations
  • Supports automation and scripting for complex Azure management tasks

Cons of azure-powershell

  • Steeper learning curve, especially for those new to PowerShell
  • Requires more detailed knowledge of Azure services and their properties
  • May require more lines of code to achieve the same result as a template

Code Comparison

azure-powershell:

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
New-AzStorageAccount -ResourceGroupName "myResourceGroup" `
  -Name "mystorageaccount" -Location "EastUS" `
  -SkuName "Standard_LRS" -Kind "StorageV2"

azure-quickstart-templates:

{
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "name": "[variables('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2"
    }
  ]
}

The azure-powershell example shows direct cmdlet usage for creating resources, while azure-quickstart-templates uses a declarative JSON format to define the desired state of resources. The template approach is often more concise and easier to read, but may offer less flexibility for complex scenarios compared to PowerShell scripts.

Terraform provider for Azure Resource Manager

Pros of terraform-provider-azurerm

  • Provides a declarative approach to infrastructure management
  • Offers better version control and collaboration through Git
  • Enables easier replication of infrastructure across environments

Cons of terraform-provider-azurerm

  • Steeper learning curve for those unfamiliar with Terraform
  • Requires additional setup and configuration compared to ARM templates
  • May have limitations in supporting the latest Azure features immediately

Code Comparison

azure-quickstart-templates (ARM template):

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2021-04-01",
            "name": "[variables('storageAccountName')]",
            "location": "[parameters('location')]",
            "sku": {
                "name": "Standard_LRS"
            },
            "kind": "StorageV2"
        }
    ]
}

terraform-provider-azurerm:

resource "azurerm_storage_account" "example" {
  name                     = var.storage_account_name
  resource_group_name      = azurerm_resource_group.example.name
  location                 = azurerm_resource_group.example.location
  account_tier             = "Standard"
  account_replication_type = "LRS"
}

Both repositories provide ways to define and deploy Azure resources, but they use different approaches and syntaxes. The azure-quickstart-templates repository uses ARM templates (JSON), while terraform-provider-azurerm uses Terraform's HCL (HashiCorp Configuration Language).

3,206

Bicep is a declarative language for describing and deploying Azure resources

Pros of Bicep

  • More concise and readable syntax compared to ARM templates
  • Improved type safety and error checking during development
  • Supports modules for better code organization and reusability

Cons of Bicep

  • Steeper learning curve for those familiar with ARM templates
  • Limited support for older Azure resources and features
  • Requires compilation to ARM templates for deployment

Code Comparison

Bicep:

param storageAccountName string
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
  name: storageAccountName
  location: resourceGroup().location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

azure-quickstart-templates (ARM):

{
  "type": "Microsoft.Storage/storageAccounts",
  "apiVersion": "2021-04-01",
  "name": "[parameters('storageAccountName')]",
  "location": "[resourceGroup().location]",
  "sku": {
    "name": "Standard_LRS"
  },
  "kind": "StorageV2"
}

The Bicep code is more concise and easier to read, while the ARM template is more verbose and uses JSON syntax. Bicep also allows for easier parameter referencing without the need for brackets and functions.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Azure Resource Manager QuickStart Templates

This repo contains all currently available Azure Resource Manager templates contributed by the community. A searchable template index is maintained at azure.com.

See the Contribution guide for how to use or contribute to this repo.

NOTE

We have finished migration of the samples to subfolders, see azure.com if you need help finding a sample. A few obsolete samples were removed in the migration.

Final Note

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.