Skip to content

BastienCode/Bicep-Hackaton

Repository files navigation

Welcome to Bicep

BicepLogo DevOps

Au menu:

  • C'est quoi Bicep ?
  • Les basiques du langage
  • Conversion ARM vers Bicep
  • Deploiement d'une petite plateforme

TLDR : Bicep in Nutshell (Or with one picture)

Survival guide

  1. Prerequis & installation
  • Souscription Azure
  • VS Code avec son extension Bicep
  • Azure CLI
  • Bicep

Verification:

az bicep version >> Bicep CLI version 0.4.63

Pour les retardataires:

choco install bicep
choco install azure-cli
choco install vscode
  1. Les liens

Hackaton Bicep

NOTE Sources dans le dépot

1. Basique Bicep

Goals

  • Déclarer un RG + une resource Azure
  • Variables et paramètres
  • Rapide comparaison avec Terraform
  • Deployer son premier template

Tips

Structure d'une resouce

resource myResouceName 'Microsoft.Resources/<type>@<api>' = {
  name: <name>
}
resource rg 'Microsoft.Resources/resourceGroups@2021-04-01' = {
  name: rgName
  location: location
}

Variable et param

param myParam type  = 'xxx'
var myVariable = '${var1}-string'

Todo

  • Créez un fichier rg.bicep
  • Creer un resouce group "Prod-labBicep01-rg"
  • Créez un fichier storage.bicep
  • Creer un storage account
    • Activez cette option pour la config réseau:

StorageConfig

  • Déployez le resouceGroup
  • Déployez le Storage Account

Help

2. Plateforme basique

Goals

  • Organisation en module
  • Dépendances, gestion des outputs les boucles

VisioArcho

A créer

  • Un resource group labBicep02
  • Un Virtual Network (simple)
  • Une VM VM1 indépendante
  • Deux VM VM2 VM3 déployées via une boucle

Todo

  • Créez un fichier main.bicep
    • Déployer un resouce group labBicep02
  • Créer plusieurs fichiers Bicep pour chaque type de resource
    • Network, VM
    • Appellez vos resources depuis le main.bicep via des modules
  • Pour le réseau, simplifiez: Un seul address space , un seul subnet (création en boucle dans le module 4)
  • Pour les VM
    • Credential hardcodé
    • Créez une première VM unitairement
    • Créez ensuite deux VM en utilisant une boucle sur le module VM

Deployez entre chaque étape. Ne pas hésitez à supprimer le RG/change son nom

Help

Proprietés pour VM

offer publisher sku vmSize
WindowsServer MicrosoftWindowsServer 2019-Datacenter Standard_D2s_v3

Tips VM : Il faut une network interface avant de créer la VM

3. Conversion ARM / Bicep

Bicep is ARM

Convertisez un de vos précédents fichiers Bicep en ARM et observez le template ARM

bicep build main.bicep

Convertir un template ARM en fichier Bicep

bicep decompile templateARM.json

Convertir un template réel ARM exporté du portail en Bicep

bicep decompile container.json

Help

4. Infra IaaS 2-tiers

Reprennez le module 2 pour réaliser les évolutions suivantes: (ordre libre, les changements sont indépendant)

Network

  • Modularisez entièrement la partie network
  • Gérer les subjets crées avec un tableau
  • Variabilisez la partie choix du subnet dans les VM

VM

  • Récupérez le password dans un key vault existant
  • Déployez au moins 2 VM dans chaque subnet. Utilisez une boucle basée sur un index
  • Ajoutez un load balancer sur l'un des bloc de VM

Azure DevOps

  • Deployer votre infra Bicep dans un pipeline
  • Option 1 - Directement depuis un .bicep
  • Option 2 - En convertisant le .bicep en json ARM

VisioArcho

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published