Siirry pääsisältöön

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