O que é Bicep?

Bicep é uma língua específica do domínio (DSL) que usa sintaxe declarativa para implantar recursos Azure. Num ficheiro Bicep, define a infraestrutura que pretende implantar para o Azure e, em seguida, utiliza esse ficheiro durante todo o ciclo de vida do desenvolvimento para implantar repetidamente a sua infraestrutura. Os seus recursos são mobilizados de forma consistente.

A Bicep fornece sintaxe concisa, segurança do tipo fiável e suporte para a reutilização de códigos. A Bicep oferece uma experiência de autoria de primeira classe para as suas soluções de infraestrutura como código em Azure.

Benefícios do Bicep

A Bicep oferece as seguintes vantagens:

  • Suporte para todos os tipos de recursos e versões API: Bicep suporta imediatamente todas as versões de pré-visualização e GA para serviços Azure. Assim que um fornecedor de recursos introduz novos tipos de recursos e versões API, pode usá-los no seu ficheiro Bicep. Não é preciso esperar que as ferramentas sejam atualizadas antes de utilizar os novos serviços.

  • Sintaxe simples: Quando comparados com o modelo JSON equivalente, os ficheiros Bicep são mais concisos e mais fáceis de ler. Bicep não requer nenhum conhecimento prévio de linguagens de programação. A sintaxe bicep é declarativa e especifica quais os recursos e propriedades de recursos que pretende implementar.

    Os exemplos a seguir mostram a diferença entre um ficheiro Bicep e o modelo JSON equivalente. Ambos os exemplos implantam uma conta de armazenamento.

    param location string = resourceGroup().location
    param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'
    
    resource storageAccount 'Microsoft.Storage/storageAccounts@2021-06-01' = {
      name: storageAccountName
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

  • Experiência de autoria: Quando utiliza a extensão Bicep para código VS para criar os seus ficheiros Bicep, obtém uma experiência de autoria de primeira classe. O editor fornece uma rica validação de tipo de segurança, intellisense e sintaxe.

    Exemplo de autoria de ficheiros Bicep

    Também pode criar ficheiros Bicep em Visual Studio com a extensão Bicep para Visual Studio.

  • Resultados repetíveis: Implemente repetidamente a sua infraestrutura ao longo do ciclo de vida do desenvolvimento e tenha confiança de que os seus recursos são implantados de forma consistente. Os ficheiros Bicep são idempotentes, o que significa que pode implementar o mesmo ficheiro muitas vezes e obter os mesmos tipos de recursos no mesmo estado. Pode desenvolver um ficheiro que represente o estado pretendido, em vez de desenvolver muitos ficheiros separados para representar atualizações.

  • Orquestração: Não tens de te preocupar com as complexidades de ordenar operações. Resource Manager orquestra a implantação de recursos interdependentes para que sejam criados na ordem correta. Quando possível, Resource Manager implementa recursos em paralelo para que as suas implementações terminem mais rapidamente do que as implementações em série. Implementa o ficheiro através de um comando, em vez de através de múltiplos comandos imperativos.

    Comparação de implantação de bíceps

  • Modularidade: Pode dividir o seu código Bicep em peças manejáveis utilizando módulos. O módulo implementa um conjunto de recursos relacionados. Os módulos permitem-lhe reutilizar código e simplificar o desenvolvimento. Adicione o módulo a um ficheiro Bicep sempre que precisar de utilizar esses recursos.

  • Integração com os serviços Azure: A Bicep está integrada com serviços Azure, tais como Azure Policy, especificações de modelos e Plantas.

  • Alterações de pré-visualização: Pode utilizar a operação "e se" para obter uma pré-visualização das alterações antes de implementar o ficheiro Bicep. Com o e se, você vê quais os recursos que serão criados, atualizados ou eliminados, e quaisquer propriedades de recursos que serão alteradas. A operação "e se" verifica o estado atual do seu ambiente e elimina a necessidade de gerir o estado.

  • Nenhum estado ou estado para gerir: Todos os estados estão armazenados em Azure. Os utilizadores podem colaborar e ter confiança que as suas atualizações são tratadas como esperado.

  • Sem custos e open source: Bicep é completamente gratuito. Não tens de pagar por capacidades premium. Também é suportado pelo suporte da Microsoft.

Introdução

Para começar com Bicep:

  1. Instale as ferramentas. Consulte ambientes de desenvolvimento e implantação de Bicep. Ou, você pode usar o repo VS Code Devcontainer/Codespaces para obter um ambiente de autoria pré-configurado.
  2. Complete o arranque rápido e os módulos Learn para Bicep.

Para descompiler um modelo ARM existente para Bicep, consulte o modelo DECOMPESOMO JSON para Bicep. Você pode usar o Bicep Playground para ver Bicep e JSON equivalente lado a lado.

Para saber mais sobre os recursos disponíveis no seu ficheiro Bicep, consulte a referência de recursos Bicep

Exemplos de bíceps podem ser encontrados no Bicep GitHub repo

Sobre a linguagem

Bicep não se destina a escrever aplicações. Um ficheiro Bicep declara recursos Escoure e propriedades de recursos, sem escrever uma sequência de comandos de programação para criar recursos.

Para acompanhar o estado do trabalho da Bicep, consulte o repositório do projeto Bicep.

Para saber mais sobre Bicep, veja o seguinte vídeo.

Pode utilizar Bicep em vez de JSON para desenvolver os seus modelos de Resource Manager Azure (modelos ARM). A sintaxe JSON para criar um modelo ARM pode ser verbosa e requer expressões complicadas. A sintaxe bicep reduz essa complexidade e melhora a experiência de desenvolvimento. Bicep é uma abstração transparente sobre o modelo ARM JSON e não perde nenhuma das capacidades do modelo JSON. Durante a implementação, o Bicep CLI converte um ficheiro Bicep em modelo ARM JSON.

Os tipos de recursos, versões API e propriedades válidas num modelo ARM são válidos num ficheiro Bicep.

Bicep oferece uma sintaxe mais fácil e concisa quando comparada com o JSON equivalente. Não se usam expressões [...]de escalão. Em vez disso, você chama diretamente funções, e obtém valores a partir de parâmetros e variáveis. Você dá a cada recurso implantado um nome simbólico, o que facilita a referência desse recurso no seu modelo.

Para uma comparação completa da sintaxe, consulte Comparar JSON e Bicep para modelos.

A Bicep gere automaticamente as dependências entre os recursos. Pode evitar a definição dependsOn quando o nome simbólico de um recurso é utilizado noutra declaração de recursos.

A estrutura do ficheiro Bicep é mais flexível do que o modelo JSON. Pode declarar parâmetros, variáveis e saídas em qualquer lugar do ficheiro. No JSON, tem de declarar todos os parâmetros, variáveis e saídas dentro das secções correspondentes do modelo.

Passos seguintes

Começa com o Quickstart.

Para obter respostas a perguntas comuns, consulte perguntas frequentes para Bicep.