Azure IaC seuraavalle tasolle: Azure Verified Modules
Infrastructure-as-Code (IaC), erityisesti Terraformilla, on olennainen osa Azure Foundationiamme ja jokaisen pilvitransformaation perusrakennuspalikka. IaC:n järjestelmällinen käyttö nopeuttaa pilvipalvelujen käyttöönottoa sekä uusien tuotteiden kehittämistä. Tästä herää kysymys: mistä kannattaa aloittaa?

Azure Verified Module - IaC Microsoftin parhaiden käytäntöjen mukaan
Microsoft tarttui aiheeseen ja loi Azure Verified Modules (AVM) -kehyksen resurssien järjestelmälliseen käyttöönottoon Azuressa parhaiden käytäntöjen mukaisesti.
AVM:iä on kolmea eri tyyppiä:
- Resource Modules - määritellyn pilviresurssin käyttöönotto
- Pattern Modules - määritellyn Cloud Workloadin käyttöönotto
- Utility Modules - apumoduulit, joita Resource- tai Pattern-moduulit käyttävät
Yhtenäisen standardin varmistamiseksi Microsoft on määritellyt joukon vaatimuksia, joita jokaisen uuden AVM-resurssin on noudatettava. Tämä koskee sekä Terraformia että Microsoft Azuren omaa IaC-kieltä Bicepiä.
Jokaiselle AVM:lle on nimetty tietty Microsoftin työntekijä, joka vastaa sen luomisesta, kehittämisestä ja ongelmien käsittelystä.
Kaikki saatavilla olevat moduulit ovat avointa lähdekoodia (MIT-lisenssi) ja saatavilla yleisen Azure GitHub -organisaation julkisissa GitHub-repositorioissa. Jos moduuli tuottaa ongelmia tai jokin uusi parametri puuttuu, kuka tahansa voi ilmoittaa ongelmasta tai osallistua aktiivisesti kehitykseen.
Miten AVM:n kanssa pääsee alkuun?
AVM:t toimivat kuten kaikki muutkin Terraformin tai Bicepin moduulit; niitä kutsutaan itsenäisesti ja niille annetaan kaikki tarvittavat parametrit. AVM:ien luomista koskevat vaatimukset johtavat siihen, että tarvittavat parametrit on karsittu minimiin, jotta käyttöönotto olisi mutkatonta.
Esimerkki Terraform: virtuaalikoneen ja lisätietolevyn (Data Disk) käyttöönottoon tarvitaan Azuressa vähintään seuraavat resurssit:
- azurerm_windows_virtual_machine tai azurerm_linux_virtual_machine
- azurerm_network_interface
- azurerm_managed_disk
- azurerm_virtual_machine_data_disk_attachment<
Jokaisella näistä resursseista on tiettyjä pakollisia parametreja, jotka toistuvat usein, kuten resurssiryhmän nimi, kohdealue tai itse resurssin nimi.
AVM:n avulla kutsu omassa koodissa yksinkertaistuu yhdeksi resurssiksi, jolle annetaan tarvittavat parametrit ja jonka moduuli sitten käsittelee edelleen. Koska AVM sisältää jo yleisimmät Microsoftin parhaat käytännöt, useille parametreille on annettu oletusarvot, jolloin erillinen konfigurointi jää pois. Esimerkkinä tästä on monissa moduuleissa TLS 1.2:n asettaminen oletusarvoksi tai julkisen pääsyn estäminen.
Mitä teen, jos resurssilleni ei vielä ole AVM:ää?
AVM:n avoimen lähdekoodin lisenssi mahdollistaa kehityksen aloittamisen omatoimisesti kehyksen pohjalta. Jos Microsoftin työntekijä tarttuu myöhemmin virallisen AVM-resurssin luomiseen, voit avoimen lähdekoodin hengessä tukea työtä jo tehdyllä pohjatyöllä.
GKVM - glueckkanja ❤️ Open Source
Me glueckkanjalla noudatamme juuri tätä lähestymistapaa ja tuemme asiakkaitamme myös sellaisten moduulien kehittämisessä, jotka perustuvat AVM-kehykseen ja jotka sen jälkeen julkaistaan yleisesti saataville.
Kutsumme näitä moduuleja nimellä GKVM (GlueckKanja Verified Modules), koska ne eivät ota huomioon pelkästään AVM:n vaatimuksia, vaan niihin virtaavat myös omat, lukuisista projekteista kertyneet oppimme.
GKVM Resource Modules:
GKVM Pattern Modules:
Otamme mielellämme vastaan jokaisen issuen, joka auttaa laajentamaan moduulien toiminnallisuutta.















