Blog

Infrastruktuuri koodina, osa 3 – AVM – Azure Verified Modules

Devops Automaatio

Infrastruktuuri koodina blogisarjan kolmannessa osassa aiheena on ARM Bicep ja Microsoftin tarjoamat valmiit AVM – Azure Verified Modules. AVM moduulit nopeuttavat IaC kehitystä huomattavasti, jos ne sopivat sinun projektiin.

AVM – Azure Verified Modules

Azure Verified Modules (AVM) ovat Microsoftin kehittämiä ja hyväksymiä moduuleja, jotka on suunniteltu käytettäväksi Azure Bicep – ja Terraform-infrastruktuurin koodauskielissä. Nämä moduulit tarjoavat valmiita, testattuja ja luotettavia malleja erilaisten Azure-resurssien, kuten virtuaalikoneiden, verkkopalveluiden ja tietokantojen, luomiseen ja hallintaan. Ne nopeuttavat kehitystyötä suunnattomasti, kun kehitystiimin ei tarvitse luoda ja ylläpitää omiaa Bicep moduuleja.

Hyödyntämällä Azure Verified Modules (AVM) -moduuleja Bicep- tai Terraform-koodissa käyttäjät voivat olla varmoja, että heidän infrastruktuurinsa on rakennettu parhaiden käytäntöjen mukaisesti ja tukee sujuvaa yhteentoimivuutta Azure-palveluiden kanssa. Tämä tekee pilvipalveluiden hallinnasta tehokkaampaa, turvallisempaa ja helpommin ylläpidettävää. Microsoftin virallisesti tukemat moduulit tarjoavat luotettavuuden ja turvallisuuden tason, joka on tärkeä yritysten kriittisten sovellusten ja palveluiden käyttöönotossa Azure-ympäristössä.

AVM Bicep moduulien käyttö

Mircrosoft tarjoaa julkisen Bicep moduuli repositoryn, jonka käyttö on helppoa. Voit ottaa moduulin suoraan käyttöön bicep tiedostossa viittaamalla tähän julkiseen repositoryyn. Alla esimerkki miten luoda Storage Account käyttämällä valmista AVM moduulia.

param storageAccountName string = 'uniquestorageaccountname'

module storageAccount 'br/public:avm/res/storage/storage-account:<version>' = {
  name: 'storageAccountDeployment'
  params: {
    // Required parameters
    name: storageAccountName 
    // Non-required parameters
    allowBlobPublicAccess: false
  }
}

AVM moduulit nopeuttavat IaC kehitystyötä. Niitä hyödyntämällä sinun ei tarvitse kehittää omia monikäyttöisiä Bicep tai Terraform moduuleita. Saat valmiit moduulit ja voit siirtyä nopeammin kuvaamaan pilviresursseja, joita tarvitse omassa pilviprojektissasi.

Static Web App luominen valmiin AVM modulin avulla

Alla on isompi esimerkki miten AVM moduulilla voi luoda Static Web App resurssin

param storageAccountName string = 'uniquestorageaccountname'

@description('Required. Status of Enterprise Grade CDN. Default is Disabled.')
param enterpriseGradeCdnStatus string = 'Disabled'

module staticSite 'br/public:avm/res/web/static-site:<version>' = {
  name: 'staticSiteDeployment'
  params: {

    // Required parameters
    name: storageAccountName
 
    // Non-required parameters
    allowConfigFileUpdates: true
    appSettings: {
      environment: 'development'
    }
    enterpriseGradeCdnStatus: enterpriseGradeCdnStatus 
    functionAppSettings: {
      environment: 'development'
    }
    linkedBackend: {
      resourceId: '<resourceId>'
    }
    location: '<location>'
    lock: {
      kind: 'CanNotDelete'
      name: 'myCustomLockName'
    }
    privateEndpoints: [
      {
        privateDnsZoneResourceIds: [
          '<privateDNSZoneResourceId>'
        ]
        subnetResourceId: '<subnetResourceId>'
        tags: {
          Environment: 'Non-Prod'
          'hidden-title': 'This is visible in the resource name'
          Role: 'DeploymentValidation'
        }
      }
    ]
    sku: 'Standard'
    stagingEnvironmentPolicy: 'Enabled'
    tags: {
      Environment: 'Non-Prod'
      'hidden-title': 'This is visible in the resource name'
      Role: 'DeploymentValidation'
    }
  }
}
Devops Automaatio

Lisätietoja AVM moduuleista

Azure Verified Modules [Microsoft Github]


Infrastruktuuri koodina blogisarjan osat

Azure Consulting Services

Kiinnostaako pilvi-infrastruktuurin automatisointi

Me toteutamme IaC ja Devops automaatiot

Do you need help with Infrastructure as Code development

We build IaC and Devops automation solutions