Siirry pääsisältöön

Infrastructure as Code teollisuusautomaatioympäristöille

SEW-EURODRIVE tuo markkinoille Terraform-palveluntarjoajan, jonka avulla asiakkaat voivat määrittää, ottaa käyttöön ja hallita SEW-alustan resursseja Infrastructure as Code (IaC) -periaatteella. Ominaisuus on tällä hetkellä saatavilla private preview -vaiheessa. Jos organisaationne on kiinnostunut osallistumaan, ottakaa yhteyttä SEW:hen.


Miksi rakensimme sen​

Kun SEW:hen luodaan uusi tenant, asiakkaiden on tyypillisesti määritettävä laaja joukko resursseja – projekteja, laitteita, yhdyskäytäviä, holveja, dokumentteja, resurssiryhmiä ja muita. Tällä hetkellä tämä on mahdollista vain kahdella tavalla:

1. Manuaalinen määritys verkkokonsolissa​

  • Aikaa vievää ja toistuvaa
  • Altista määritysvirheille
  • Ei helposti toistettavaa tai auditoitavaa
  • Ei versionhallintaa eikä muutoshistoriaa

2. Räätälöity automaatio SEW:n API-rajapinnoilla​

REST- tai GraphQL-API-rajapintojen käyttö on skaalautuvampaa kuin manuaalinen määritys, mutta siihen liittyy omat haasteensa:

  • Vaatii merkittävää kehitystyötä ja perehtyneisyyttä API-rajapintoihimme
  • Skripteihin kertyy helposti toistuvaa boilerplate-koodia
  • Asiakkaiden on huolehdittava idempotenssista, uudelleenyrityksistä ja osittaisten virheiden palautuksesta
  • Vaatii mukautettua tilanhallintaa
  • Vaikeampi standardoida eri toimipaikkojen, tiimien ja toimittajien kesken

Yhdessä nämä haasteet hidastavat uusien toimipaikkojen ja tenanttien käyttöönottoa tarpeettomasti ja tuovat mukanaan turhia operatiivisia riskejä.


Mitä olemme rakentamassa​

Näiden ongelmien ratkaisemiseksi SEW kehittää omaa Terraform-palveluntarjoajaa, joka hyödyntää HashiCorpin alan standardiksi noussutta IaC-kehystä. Terraformilla käyttäjät voivat määrittää järjestelmän halutun tilan yksinkertaisella deklaratiivisella kielellä (HCL), ja Terraform huolehtii seuraavista:

  • Käyttöönotto
  • Päivitykset
  • Palautukset (rollback)
  • Poikkeamien havaitseminen (drift detection)
  • Poistaminen
  • Tilanhallinta

Tämä on sama teknologia, jota SEW käyttää sisäisesti oman AWS-pilvi-infrastruktuurinsa hallintaan.

Mitä Terraform-palveluntarjoaja mahdollistaa​

Kun toteutus on valmis, asiakkaat voivat provisioida ja hallita kaikkia SEW-resursseja Terraformin kautta, mukaan lukien:

  • Resurssiryhmät (myös sisäkkäiset ryhmät)
  • Projektit
  • Laitteet
  • Yhdyskäytävät
  • Dokumentit
  • Holvit ja salaisuudet
  • Tulevat SEW-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 SEW:n kanssa mukautetun palveluntarjoajan kautta, joka toimii siltana Terraformin deklaratiivisten konfiguraatiotiedostojen ja SEW:n API-rajapintojen (REST ja GraphQL) välillä.

  • Käyttäjät määrittävät resurssit HCL-kielellä:

    resource "sda_resource_group" "example" \{
    name = "Production"
    parent_id = "root"
    \}
  • Terraform muuntaa tämän API-kutsuiksi SEW:hen

  • SEW 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-palveluntarjoaja tarjoaa seuraavat toiminnot:

  • Resurssiryhmien lukeminen
  • Resurssiryhmien luominen
  • Resurssiryhmien päivittäminen
  • Resurssiryhmien poistaminen
    (mukaan lukien sisäkkäiset hierarkiat)

Merkittävät osat palveluntarjoajan arkkitehtuurista, API-abstraktioista ja toimintamalleista on jo vakiinnutettu, ja ne dokumentoidaan tähän tuotteen kehittyessä.

Teknologiahuomioita​

Projekti rakennettiin SEW:n GraphQL- ja REST-API-rajapintojen avulla:

  • GraphQL on erittäin tehokas SEW:n sisäisessä front-end ↔ back-end -viestinnässä, mutta monimutkaisempi toteuttaa Terraform-palveluntarjoajassa.
  • REST on edelleen alan standardi ulkoisille automaatiotyökaluille, ja jatkamme REST-päätepisteiden tukemista ja kehittämistä asiakkaillemme.

Kiinnostaako Terraform-palveluntarjoajan käyttö?​

SEW:n Terraform-palveluntarjoaja on tällä hetkellä private preview -vaiheessa.
Toivotamme tervetulleiksi varhaiset käyttäjät, jotka haluavat tutustua Infrastructure as Code -toimintatapaan SEW-ympäristöissä.

Jos olette kiinnostuneita osallistumaan, ottakaa yhteyttä SEW:hen.

Työskentelemme kanssanne suoraan seuraavissa asioissa:

  • Käyttötapaustenne arviointi
  • Private preview -käyttöoikeuden avaaminen
  • Käyttöönoton tuki
  • Palautteen kerääminen lopullisen julkaisun muotoilemiseksi