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 IaC seuraavalle tasolle: Azure Verified Modules

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.

Lisäresurssit

Ota yhteyttä

Haluatko oppia lisää Infrastructure as Codesta Azuressa? Näytämme mielellämme, miten Azure Verified Modules -moduulien avulla työskentelet pilvessä nopeammin, standardoidummin ja kestävämmin. Olipa kyse ensimmäisistä askelista tai skaalautuvasta toteutuksesta, tuemme sinua kokemuksella ja parhailla käytännöillä. Otathan yhteyttä.

Samankaltaiset artikkelit