¿Qué es Bicep?
Bicep es un lenguaje específico de dominio que usa una sintaxis declarativa para implementar recursos de Azure. En un archivo de Bicep, defina la infraestructura que desea implementar en Azure y, a continuación, use ese archivo durante el ciclo de vida de desarrollo para implementar repetidamente esa infraestructura. Los recursos se implementan de forma coherente.
Bicep proporciona sintaxis concisa, seguridad de tipos confiables y compatibilidad con la reutilización del código. Bicep ofrece la mejor experiencia de creación para sus soluciones de infraestructura como código en Azure.
Ventajas de Bicep
Bicep ofrece las siguientes ventajas:
Compatibilidad con todos los tipos de recursos y versiones de API: Bicep admite inmediatamente todas las versiones preliminares y de GA para los servicios de Azure. Tan pronto como un proveedor de recursos introduzca nuevos tipos de recursos y versiones de API, podrás utilizarlos en el archivo Bicep. No es necesario esperar a que las herramientas se actualicen antes de usar los nuevos servicios.
Sintaxis simple: En comparación con la plantilla JSON equivalente, los archivos de Bicep son más concisos y fáciles de leer. Bicep no requiere conocimientos previos de lenguajes de programación. La sintaxis de Bicep es declarativa y especifica qué recursos y propiedades de recursos quiere implementar.
En los ejemplos siguientes se muestra la diferencia entre un archivo de Bicep y la plantilla JSON equivalente. Ambos ejemplos implementan una cuenta de almacenamiento:
param location string = resourceGroup().location param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}' resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = { name: storageAccountName location: location sku: { name: 'Standard_LRS' } kind: 'StorageV2' properties: { accessTier: 'Hot' } }
Experiencia de creación: Al usar la extensión de Bicep para VS Code para crear los archivos de Bicep, se obtiene una experiencia de creación de primera clase. El editor proporciona seguridad de tipos enriquecidos, IntelliSense y validación de sintaxis.
También puede crear archivos de Bicep en Visual Studio con la extensión Bicep para Visual Studio.
Resultados repetibles: implemente la infraestructura durante todo el ciclo de vida de desarrollo con confianza de que los recursos se implementan de forma coherente. Los archivos Bicep son idempotentes, lo que significa que puede implementar el mismo archivo muchas veces y obtener los mismos tipos de recursos en el mismo estado. Puede desarrollar un archivo que represente el estado deseado en lugar de desarrollar muchos archivos independientes para representar actualizaciones. Por ejemplo, el siguiente archivo crea una cuenta de almacenamiento. Si implementa esta plantilla y la cuenta de almacenamiento cuando ya existen las propiedades especificadas, no se realizan cambios:
Orquestación: No tiene que preocuparse por la complejidad de las operaciones de ordenación. Resource Manager organiza la implementación de recursos interdependientes para que se creen en el orden correcto. Cuando sea posible, Resource Manager implementa recursos en paralelo, lo que ayuda a las implementaciones a finalizar más rápido que las implementaciones en serie. Implemente el archivo a través de uno en lugar de varios comandos imperativos.
Modularidad: use módulos para segmentar el código de Bicep en partes administrables. Los módulos le ayudan a reutilizar el código y simplificar el desarrollo. Un módulo implementa un conjunto de recursos relacionados. Agregue un módulo a un archivo de Bicep cuando necesite implementar esos recursos.
Integración con servicios de Azure: Bicep se integra con servicios de Azure, como Azure Policy, especificaciones de plantilla y Azure Blueprints.
Vista previa de los cambios: puede utilizar la operación what-if para obtener una vista previa de los cambios antes de implementar el archivo Bicep. La operación what-if muestra qué recursos se van a crear, actualizar o eliminar y las propiedades de recursos que se van a cambiar. También comprueba el estado actual del entorno y elimina la necesidad de administrar este estado.
No hay archivos de estado o estado para administrar: Azure almacena todo el estado. Puede colaborar con otros usuarios y estar seguro de que las actualizaciones se controlan según lo previsto.
Sin coste ni código abierto: dado que Bicep es gratuito, no tiene que pagar por las funcionalidades premium. El soporte técnico de Microsoft lo admite.
Introducción
Para empezar a trabajar con Bicep:
- Instale las herramientas. Para obtener más información, consulte Configurar entornos de desarrollo e implementación de Bicep o utilice el Repositorio devcontainer/Codespaces de VS Code para obtener un entorno de creación preconfigurado.
- Complete los módulos de inicio rápido y aprendizaje para Bicep.
Para descompilar una plantilla de Resource Manager existente en Bicep, consulte Descompilación de JSON de plantilla ARM en Bicep. Puede usar Bicep Playground para ver Bicep y su equivalente, JSON, uno al lado del otro.
Para obtener información sobre los recursos que están disponibles en el archivo de Bicep, vea Referencia de recursos de Bicep.
Puede encontrar ejemplos de Bicep en el repositorio de GitHub de Bicep.
Acerca del idioma
Bicep no está pensado como lenguaje general de programación para escribir aplicaciones. Un archivo de Bicep declara recursos de Azure y propiedades de recursos sin escribir una secuencia de comandos de programación para crearlos.
Para realizar el seguimiento del estado del trabajo en Bicep, consulte el repositorio de proyectos de Bicep.
Para obtener información sobre Bicep, vea el vídeo siguiente:
Puede usar Bicep en lugar de JSON para desarrollar plantillas de Resource Manager. La sintaxis JSON para crear una plantilla de Resource Manager puede ser detallada y requerir expresiones complicadas. La sintaxis de Bicep reduce esa complejidad y mejora la experiencia de desarrollo. Bicep es una abstracción transparente sobre una plantilla JSON de Resource Manager que no pierde las funcionalidades de una plantilla JSON. Durante la implementación, la CLI de Bicep convierte un archivo de Bicep en una plantilla JSON de Resource Manager.
Los tipos de recursos, las versiones de API y las propiedades que son válidas en una plantilla de Resource Manager son válidas en un archivo de Bicep.
Bicep ofrece una sintaxis más sencilla y concisa en comparación con su JSON equivalente. No se usan expresiones entre [...]
corchetes. En su lugar, llama directamente a funciones y obtiene valores de parámetros y variables. Se asigna un nombre simbólico a cada recurso implementado, lo que facilita la referencia a ese recurso en la plantilla.
Para ver una comparación completa de la sintaxis, consulte Comparación de JSON y Bicep para plantillas.
Bicep administra automáticamente las dependencias entre los recursos. Puede evitar configurar dependsOn
cuando el nombre simbólico de un recurso se use en otra declaración de recursos.
La estructura del archivo de Bicep es más flexible que una plantilla JSON. Puede declarar parámetros, variables y salidas en cualquier parte del archivo. En JSON, tiene que declarar todos los parámetros, variables y salidas dentro de las secciones correspondientes de la plantilla.
Obtener soporte técnico
Estos son los pasos para abrir una incidencia de soporte técnico para problemas relacionados con la plantilla de Azure Resource Manager (ARM):
Abra Azure Portal.
Seleccione el icono Soporte técnico y solución de problemas en la esquina superior derecha.
En Describir brevemente el problema, escriba Plantilla de ARMy, después, seleccione Ir.
En ¿Con qué servicio tiene un problema?, seleccione Portal en Supervisión y administración y, después, seleccione Siguiente.
Elija una suscripción y seleccione Siguiente.
Seleccione Problema con plantillas de ARM y después Siguiente.
Pasos siguientes
Para empezar, consulte la guía de inicio rápido.
Para obtener respuestas a preguntas comunes, consulte Preguntas frecuentes sobre Bicep.