Arrancando curso 2021-2022 con fuerza: Bicep! 💪

Raúl Piracés (Software Engineer @ Plain Concepts)

¿Qué es Azure Bicep?

Es un proyecto de Microsoft
Se trata de un DSL para desplegar recursos de Azure de forma declarativa

Su finalidad: simplificar drasticamente la creación de soluciones de IaC en Azure y proveer una abstracción transparente sobre ARM y plantillas ARM.

Principales ventajas de Bicep

  • Soporte para todos los tipos de recursos y versiones de API de manera inmediata
  • Sintaxis mucho más simple... sobre todo comparando con plantillas ARM
  • Tipado, IntelliSense y validación de sintaxis (con VS Code)
  • Modularidad
  • Integración con servicios de Azure (policies, template specs, blueprints)
  • No tenemos que manejar el estado, Azure lo hará por nosotros

Comparando Bicep y plantillas ARM

w:1900 center

Visión general

w:900 center

Azure Resource Manager (ARM)

w:900 center

¿Por qué ahora?

  • Se consideró crear Bicep como una "revisión" a el lenguaje de las plantillas ARM existentes (por su audiencia objetivo)

  • Bicep tiene como audiencia objetivo aquellos que aún no han adoptado soluciones de IaC o tienen plantillas ARM en uso

  • Cada uno que use las herramientas y lenguajes que más le gusten

¿Que pasa con otras ofertas de IaC?

Terraform, Pulumi y otras soluciones de IaC seguirán estando ahí y no hay necesidad de cambiar a Bicep.

Microsoft y la comunidad se encargarán de que funcionen sobre Azure lo mejor que puedan.

¿Que pasa ahora con las plantillas ARM?

Siguen y seguirán funcionando como siempre. No hay necesidad de hacer cambios

Se continua el soporte del lenguaje de las plantillas ARM

Al fin y al cabo, Bicep compila a estas plantillas ARM en JSON y este es enviado a Azure para su despliegue

Empezando con Bicep...

Dos escenarios:

  • Partimos desde plantillas ARM que estamos usando
  • Partimos de cero

Estoy usando plantillas ARM... ¿como paso a Bicep?

w:800 center

Estoy usando plantillas ARM... ¿como paso a Bicep?

Con AZ CLI:

az bicep decompile --file main.json

Si tenemos la CLI instalada:

bicep decompile --file main.json

Desde cero...

Bastante simple empezar con Bicep, solo necesitaremos Azure CLI y, opcionalmente, CLI de Bicep y la extensión de VS Code

Este tooling nos ayudará bastante con la creación/modificación de ficheros Bicep

Tutoriales en Microsoft Learn y "Bicep Playground" para empezar a probar sin necesidad de instalar nada

Más recursos

Para CI/CD

Otros:

Veamos un poco como funciona

¡Gracias por asistir! 😀

Recursos: bit.ly/bicep_demo

Presentación: bit.ly/ppt-bicep