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