Infrastructure as Code teolliseen automaatioympäristöön
Software Defined Automation (SDA) tuo markkinoille Terraform-providerin, jonka avulla asiakkaat voivat määritellä, ottaa käyttöön ja hallita SDA-alustan resursseja Infrastructure as Code (IaC) -periaatteella. Toiminto on tällä hetkellä saatavilla private preview -vaiheessa. Jos organisaationne on kiinnostunut osallistumaan, ottakaa yhteyttä SDA:han.
Miksi rakensimme sen
Kun SDA:han luodaan uusi tenant, asiakkaiden on tyypillisesti konfiguroitava laaja joukko resursseja – projekteja, laitteita, gatewaytä, vaulteja, dokumentteja, resurssiryhmiä ja muuta. Tällä hetkellä tämä on mahdollista vain kahdella tavalla:
1. Manuaalinen määritys web-konsolissa
- Aikaa vievää ja toistuvaa
- Altista konfigurointivirheille
- Ei helposti toistettavissa tai auditoitavissa
- Ei versionhallintaa eikä muutoshistoriaa
2. Räätälöity automaatio SDA:n API-rajapintojen avulla
REST- tai GraphQL-API:en käyttö skaalautuu paremmin kuin manuaalinen konfigurointi, mutta siihen liittyy omat haasteensa:
- Vaatii merkittävää kehitystyötä ja API-rajapintojemme tuntemusta
- Skripteihin kertyy helposti boilerplate-koodia
- Asiakkaiden on huolehdittava idempotenssista, uudelleenyrityksistä ja osittaisten virheiden toipumisesta
- Vaatii oman tilanhallinnan
- Vaikeampi standardoida eri toimipaikkojen, tiimien ja toimittajien välillä
Yhdessä nämä haasteet hidastavat uusien toimipaikkojen ja tenanttien käyttöönottoa tarpeettomasti ja tuovat mukanaan turhaa operatiivista riskiä.
Mitä olemme rakentamassa
Näiden ongelmien ratkaisemiseksi SDA kehittää omaa Terraform-provideria, joka hyödyntää HashiCorpin alan standardiksi muodostunutta IaC-kehystä. Terraformilla käyttäjät voivat määritellä järjestelmän halutun tilan yksinkertaisella deklaratiivisella kielellä (HCL), ja Terraform hoitaa:
- Käyttöönoton
- Päivitykset
- Palautukset (rollback)
- Poikkeamien havaitsemisen (drift detection)
- Poistot
- Tilanhallinnan
Tämä on sama teknologia, jota SDA käyttää sisäisesti oman AWS-pilvi-infrastruktuurinsa hallintaan.
Mitä Terraform-provider mahdollistaa
Kun toteutus on valmis, asiakkaat voivat provisioida ja hallita kaikkia SDA-resursseja Terraformin kautta, mukaan lukien:
- Resurssiryhmät (myös sisäkkäiset ryhmät)
- Projektit
- Laitteet
- Gatewayt
- Dokumentit
- Vaultit ja salaisuudet
- Tulevat SDA-objektit
Terraform-konfiguraatiot voidaan tallentaa Gitiin kuten mikä tahansa muu koodi, mikä mahdollistaa:
- Muutosten seurannan
- Vertaisarvioinnin
- Toistettavat käyttöönotot
- Automatisoidut CI/CD-työnkulut
Miten se toimii
Terraform kommunikoi SDA:n kanssa räätälöidyn providerin kautta, joka toimii siltana Terraformin deklaratiivisten konfiguraatiotiedostojen ja SDA:n API-rajapintojen (REST ja GraphQL) välillä.
-
Käyttäjät määrittelevät resurssit HCL-kielellä:
resource "sda_resource_group" "example" {name = "Production"parent_id = "root"} -
Terraform muuntaa tämän API-kutsuiksi SDA:han
-
SDA luo, päivittää tai poistaa resurssit vastaavasti
-
Terraform ylläpitää tilaa ja varmistaa, että järjestelmän todellinen tila vastaa haluttua konfiguraatiota
Nykyinen saatavuus
Nykyinen Terraform-provider tarjoaa seuraavat toiminnot:
- Resurssiryhmien lukeminen
- Resurssiryhmien luonti
- Resurssiryhmien päivittäminen
- Resurssiryhmien poistaminen
(mukaan lukien sisäkkäiset hierarkiat)
Merkittävät osat providerin arkkitehtuurista, API-abstraktioista ja malleista on jo määritelty, ja ne dokumentoidaan tänne tuotteen kehittyessä.
Teknologiahuomioita
Projekti rakennettiin SDA:n GraphQL- ja REST-API-rajapintojen avulla:
- GraphQL on erittäin tehokas SDA:n sisäisessä front end ↔ back end -viestinnässä, mutta monimutkaisempi toteuttaa Terraform-providerissa.
- REST on edelleen alan standardi ulkoisille automaatiotyökaluille, ja jatkamme REST-päätepisteiden tukemista ja kehittämistä asiakkaillemme.
Kiinnostaako Terraform-providerin käyttö?
SDA:n Terraform-provider on tällä hetkellä private preview -vaiheessa.
Toivotamme tervetulleiksi varhaiset käyttöönottajat, jotka haluavat tutustua Infrastructure as Code -toimintatapaan SDA-ympäristöissä.
Jos olette kiinnostuneita osallistumaan, ottakaa yhteyttä SDA:han.
Työskentelemme kanssanne suoraan, jotta voimme:
- Arvioida käyttötapauksianne
- Avata pääsyn private preview -versioon
- Tarjota tukea käyttöönotossa
- Kerätä palautetta lopullisen julkaisun muotoilemiseksi