Artikkelit

Suomi.fi-palveluväylän versio 6.17.x julkaistaan

Suomi.fi-palveluväylän kehitys-, testi- ja tuotantoympäristöt päivitetään versioon 6.17.x

Palveluväylän keskusympäristö päivitetään talven ja alkukevään aikana versiosta 6.16.0 versioon 6.17.x. Versionumeron viimeinen numero tarkentuu vielä ennen julkaisua. Keskusympäristön päivitys ei vaikuta yksittäisten liityntäpalvelinten toimintaan, mutta keskusympäristön päivityksen aikana uusien liityntäpalvelinten tai organisaatioiden lisääminen palveluväylään ei ole mahdollista. Päivityksen tarkka ajankohta ilmoitetaan ympäristökohtaisilla jakelulistoilla viikkoa ennen päivitystä.

Päivitysten suunnitellut ajankohdat ovat (muutokset mahdollisia):

  • Kehitysympäristö (FI-DEV) viikolla 9 (maanantai 26.2.2018)
  • Testiympäristö (FI-TEST) viikolla 11 (maanantai 12.3.2018)
  • Tuotantoympäristö (FI) viikolla 15 (maanantai 9.4.2018)

Ylläpito lähettää tarkemmat päivitystä koskevat ohjeet liityntäpalvelinten teknisille yhteyshenkilöille keskusympäristöjen päivityksen jälkeen. Keskusympäristön päivityksen jälkeen on suositeltavaa päivittää liityntäpalvelimet uuteen versioon neljän viikon kuluessa. Uuden version päivityksen myötä liityntäpalvelimen uudet ominaisuudet ja resurssien optimointi tuovat lisää tehokkuutta väylän toimintaan, joten versiopäivitys kannattaa tehdä ensi tilassa.

Version 6.17.x uusia ominaisuuksia ja parannuksia

  • REST Adapter Service -komponenttiin on tehty useita parannuksia. REST Adapter Service -komponentti mahdollistaa REST/JSON <-> SOAP -muunnokset Palveluväylän viesteissä.
    • Dokumentaatiota on parannettu. Katso lisää Github repositoriosta täältä.
    • Komponentti on muutettu Spring Boot -sovellukseksi. REST Adapter Servicen paketointi ei enää myöskään asenna Tomcat-palvelinta, vaan toimii itsenäisenä ajettavana Java-sovelluksena.
    • Korjattu mahdollinen tietoturvaongelma liittyen komponentissa käytettyyn viestien salaustoiminnallisuuteen. Joissain tapauksissa oli mahdollista, että muunnettu JSON-viesti säilyi salaamattomana SOAP-viestin bodyssä.
    • Luotu kontribuointiohjeet ja changelog-tiedosto REST Adapter Service -repositoriolle.
  • Parannettu X-Roadin tekemää lokitusta niin, ettei turhia virheilmoituksia tule lokitiedostoihin järjestelmäkonfiguraatioiden latauksesta. Aikaisemmin liityntäpalvelimen lokitiedostoihin saattoi tulla satunnaisesti ylimääräisiä ja turhia virhetulosteita.
  • Paikallisen X-Roadin ja kehitysympäristön pystyttämiseen tehty parannuksia:
    • Lisätty tuki CentOS 7 käyttöjärjestelmälle (LXD-konttituki). Asiaan liittyvät ohjeet on päivitetty:
    • Liityntäpalvelimille asennettavan maakohtaisen variantin (ee, fi, vanilla) voi valita Ansible skriptissä (kts. ohjeet yläpuolen linkistä). Oletusarvona asennuksessa on vanilla, joka tarkoittaa niin sanottua perusasennusta ilman maakohtaisia asetuksia.
  • Liityntäpalvelimen ympäristön monitorointirajapintaa on parannettu ja tehty uusia ominaisuuksia:
    • Monitoroinnin toteutusta on parannettu kestämään mahdolliset komponentin uudelleen käynnistykset.
    • Liityntäpalvelimen ylläpitäjällä on mahdollisuus rajoittaa liityntäpalvelinympäristön monitorointirajapinnan palauttamaa datan määrää env-monitor parameterin avulla. Jos datan palautus on rajoitettu kyseisellä parametrilla, niin tällöin vain liityntäpalvelimen ohjelmiston versionumero ja varmenteiden tiedot (mm. voimassaoloajat) välitetään kyselyn vastauksena. Jos rajoitusta ei ole käytetty niin palautetaan kaikki rajapinnan tarjoamat datat.
      • Lue lisää ympäristön monitorointidatasta täältä ja rajoitusparametrista täältä.
    • Ympäristön monitorointidatan keskitetty keräys FI-TEST -ympäristön liityntäpalvelimilta on otettu käyttöön version 6.16.0 myötä. Version 6.17.x myötä monitorointidatan keskitetty keräys otetaan käyttöön FI-ympäristössä myöhemmin.
  • Parannettu liityntäpalvelimen viestinvälityksen suorituskykyä aikaleimauksen aikana.
  • Palveluväylän koulutusmateriaalit on päivitetty ajantasalle ja julkaistu avoimena lähdekoodina: https://vrk-kpa.github.io/xroad-training/
  • Dokumentoitu yhtenäinen ja suositeltu tapa, jolla eri tyyppisiä autentikaation tunnisteita (security token) voi välittää SOAP-pyynnön otsikkotiedoissa Palveluväylän yli. Katso lisätietoja täältä.
  • Maakohtaisille (EE, FI) X-Road-arvoille on lisätty omat sarakkeet System parameters -dokumenttiin.
  • Optimoitu liityntäpalvelimen Messagelog tietokannan yhteyspoolien asetuksia, jotta ylimääräisiä resursseja ei turhaan kulutettaisi.
  • Korjattu ympäristön monitorointirajapinnan SystemCpuLoad-arvon laskenta.
  • Korjattu rikkoutuneet liityntäpalvelimen pääsylokit.
  • Liityntäpalvelimen signer.log antaa yksityiskohtaisempaa tietoa mahdollisista OCSP-virheistä.
  • Jatkossa suositeltavin tapa kutsua liityntäpalvelimen getWsdl metapalvelua on käyttää HTTP POST-metodia. Lue lisää getWsdl -palvelusta täältä.
    • getWsdl metapalvelun HTTP GET-metodin tietoturvaa on parannettu ja lisätty parametri, jolla HTTP GET-metodin voi kytkeä kokonaan pois päältä. HTTP GET-metodissa kutsut tehdään liityntäpalvelimen omistajan nimissä ja allekirjoituksella, joka ei ole hyvän tietoturvan mukaista – siksi HTTP GET-metodin käytön voi estää parametrilla.
    • Liityntäpalvelimen ohjelmiston päivitysasennuksessa getWsdl (HTTP GET) toimii kuten ennenkin. Uusissa (puhtaalle palvelimelle tehtävissä) asennuksissa getWsdl (HTTP GET) on kytketty oletuksena parametrilla pois päältä ja vain HTTP POST-metodi on käytössä. Lue lisää parametrista täältä.
    • Sekä getWsdl HTTP GET ja POST-metodit tukevat nyt myös member-tason HTTPS- ja HTTPS NO AUTH- asetuksia.
  • Toteutettu Palveluväylän yli tapahtuviin tiedoston siirtoihin helppokäyttöinen ja vapaasti kaikkien käytettävissä oleva palvelu xroad-fileservice. Palvelu löytyy täältä.
  • Korjattu paikallisen X-Roadin asennuksen ongelma, joka aiheutti asennuksen keskeytymisen tilanteessa jossa maakohtaista määrittelyä ei oltu tehty.
  • Liityntäpalvelimen metapalveluiden dokumentaatiota on parannettu ja tarkennettu.
  • Liityntäpalvelimen sisäiseen kuormantasaukseen (ns. ”fastest wins” -periaate) on tehty parannuksia, jotta mm. yhteyskatkoista toivuttaisiin nopeammin.
  • Jatkossa Palveluväylän liityntäpalvelimien julkaisupakettien asennus ja päivitys vaatii kaikilta asennettavilta X-Road-paketeilta samoja versionumeroita. Tämä parantaa epäyhteensopivuusongelmia kun pakettien versionumerot tarkistetaan jo asennusvaiheessa. Aikaisemmin pakettien oli oltava versioltaan samoja tai uudempia, jatkossa versionumeroiden on oltava samat.
  • Päivitetty X-Roadin pakettiriippuvuuksia, jotta mahdolliset vanhentuneista komponenttien versioista johtuvat haavoittuvuudet on estetty.
  • Korjattu liityntäpalvelimen käyttöliittymän Internal TLS -varmenteen vaihtamiseen liittyvä ongelma. Edellisessä versiossa ei pystynyt vaihtamaan liityntäpalvelimen käyttämää sisäistä varmennetta käyttöliittymän kautta.

 

Asennukseen ja päivitykseen liittyvää ohjeistusta

Uusi liityntäpalvelimen ohjelmistoversio eri palveluväylän ympäristöihin (FI-DEV, FI-TEST ja FI) tulee saataville myöhemmin ilmoitettavasta latauslinkistä kun palveluväylän ylläpito päivittää kyseisen ympäristön keskuspalvelimen. Ylläpito lähettää tarkemmat päivitystä koskevat ohjeet liityntäpalvelinten teknisille yhteyshenkilöille keskusympäristöjen päivityksen jälkeen.

Uusi liityntäpalvelimen ohjelmisto voidaan päivittää toimivan v.6.9.3 tai v.6.16.0 asennuksen päälle. Päivityksiä muiden versioiden päälle ei ole testattu.

Asennus- ja päivitysohjeet:

Ubuntu 14.04 LTS

Red Hat Enterprise Linux 7

Youtubesta löytyy myös havainnolliset videot liityntäpalvelimen käyttöönottoon liittyen:

Ennen päivitysasennusta tai päivitysasennuksen yhteydessä tarkista seuraavat asiat:

  • Ubuntu-palvelimilla version 6.17.x päivitysasennus tulee asentaa komennolla ”apt-get upgrade –with-new-pkgs”, jotta uudet riippuvuudet tulevat asennetuksi. Vaihtoehtoisesti voi käyttää apt-get:in sijasta apt:ia (”apt upgrade”), joka tekee oletuksena päivityksen oikein.
  • Liityntäpalvelimen Member-tasolle ei saa jatkossa olla liitettynä palveluita
    • Versiosta v.6.9.3 lähtien liityntäpalvelimen kautta väylään tarjottavien palveluiden liittäminen suoraan Member-tasolle ei ole sallittua tai edes mahdollista, vaan palvelut on kytkettävä ainoastaan Alijärjestelmän tasolle.
    • Palvelut on kytkettävä ainoastaan Alijärjestelmän tasolle, palveluiden kytkemistä Member-tasolle ei enää tueta. Palvelut on siirrettävä käsin Member-tasolta Alijärjestelmän tasolle ennen päivitysasennuksen aloittamista. Jos palveluita ei siirretä manuaalisesti pois, kaikki Member-tasolta löytyvät palvelut poistetaan automaattisesti. Huom! Asennusohjelma ei pysäytä asennusta tai anna automaattista virheilmoitusta tästä tilanteesta.
    • Ohjeet palvelujen lisäämisestä/siirtämisestä Alijärjestelmän-tasolle löytyvät täältä.
  • Versiosta v.6.16.0 lähtien liitettävien palveluiden käyttämät WSDL-tiedostot validoidaan liityntäpalvelimen ohjelmiston toimesta. Validointi tapahtuu silloin kun a) joko kokonaan uuden palvelun WSDL-tiedosto lisätään (importataan) tai b) kun vanhan (jo olemassa olevan) palvelun WSDL-tiedosto päivitetään (refresh toiminnallisuus). Validoinnin epäonnistuessa WSDL-tiedoston lisääminen (importointi) tai päivittäminen (refresh) ei onnistu. WSDL-tiedosto on muokattava oikean syntaksin mukaiseksi, jotta sen validointi onnistuu. Lisäohjeita WSDL-tiedoston syntaksiin löytyy täältä.
    • WSDL-tiedoston voi validoida etukäteen esimerkiksi erillisellä tietokoneella käyttäen command line -työkalua, joka on saatavilla osoitteesta: http://x-road.ee/valid/ Samasta verkko-osoitteesta löytyvät ohjeet työkalun käyttöön.

Mitoita liityntäpalvelin ja säädä muistiasetukset kohdalleen

Suosittelemme huomioimaan sivuillamme julkistetun ohjeistuksen siitä, miten muistiasetuksia kannattaa säätää omalla palvelinalustalla. Ohjeistus auttaa jokaista palveluväylään liittynyttä organisaatiota parantamaan oman liityntäpalvelimensa suorituskykyä, koska liityntäpalvelimen asennuspaketissa asetettavat vakioasetukset eivät useinkaan sovellu suoraan käyttöön, ainakaan optimaalisella tasolla. Lisää muistiasetuksien optimoinnista täältä. Ohjeiden lukeminen ja käyttöönotto todellakin kannattaa, koska se auttaa parantamaan liityntäpalvelimen suorituskykyä merkittävästi.

Muistathan myös tarkistaa, että oma liityntäpalvelimesi on mitoitettu kapasiteetiltaan ja suorituskyvyltään oikein väylän käyttöä varten. Ohjeistusta löydät täältä.

Ulkoisen kuormantasaajan käyttö mahdollista

Ulkoisen kuormantasaajan käyttö on ollut mahdollista palveluväylän versiosta 6.16.0 lähtien.

  • Lue lisää ulkoisen kuormantasaajan käytöstä palveluväylässä täältä.

Uuden version asennukseen ja päivitykseen liittyviä kysymyksiä voit lähettää osoitteeseen palveluvayla(at)palveluvayla.fi.

Palveluväylään lisää tehoa – kuormantasaajan käyttö mahdolliseksi

Suorituskykyä ja toimintavarmuutta lisää

Suomi.fi-palveluväylään liitettävien palveluiden suorituskykyä ja toimintavarmuutta voidaan jatkossa merkittävästi parantaa, kun seuraava palveluväylän versio (versio 6.16.x) julkaistaan syksyllä. Uudessa versiossa on mahdollista käyttää ulkoista kuormantasaajaa tasaamaan liityntäpalvelinten kuormitusta. Tämä tarkoittaa sitä, että liityntäpalvelimia voi olla useita. Tällöin ne kaikki tarjoavat saman palvelun palveluväylään mutta väylän suuntaan ne näkyvät kuitenkin vain yhtenä rajapintana. Ulkoinen kuormantasaaja huolehtii rajapinnassa siitä, että viestiliikenteen kuormitus jaetaan tasaisesti klusterissa olevien eri liityntäpalvelinten kesken. Tällöin palvelukutsuja voidaan käsitellä yhtäaikaisesti huomattavan paljon enemmän verrattuna yhteen palvelukutsuja käsittelevään liityntäpalvelimeen.

Palveluväylän sisäinen kuormantasaus

Aikaisemmin palveluväylässä on jo ollut mahdollista käyttää X-Roadin sisäistä ns. High Availability-toiminnallisuutta (HA), jolloin väylän sanomia välittävät liityntäpalvelimet ovat voineet olla kahdennettuja tai jopa monennettuja. Tällöin yhden liityntäpalvelimen vikaantuessa on ”vara-liityntäpalvelin” otettu käyttöön ja palvelun toiminta on jatkunut lähes keskeytyksettä. HA-toiminnallisuus ei ole kuitenkaan osannut jakaa kuormaa eri liityntäpalvelimien kesken, vaan käytännössä se on vain ohjannut kuorman jollekin liityntäpalvelimelle.

 

Kuva 1. Sisäisen kuormantasauksen periaate. Kuvassa käytetyt lyhenteet: IS = information system (tietojärjestelmä, sovellus), SS = Security Server (liityntäpalvelin).

 

Palveluväylän ulkoinen kuormantasaus

Kuormantasaus tarkoittaa sitä, että käsiteltävä kuorma jaetaan käytössä olevien liityntäpalvelimien kesken, jolloin yksittäinen palvelin ei ylikuormitu. Jos yksittäinen palvelin vikaantuu eikä sitä voida enää käyttää, osaa kuormantasaaja tällöin reitittää liikenteen uudelleen niin, ettei vikaantunutta palvelinta turhaan yritetä käyttää. Näin liikenne ohjautuu muille, toimiville palvelimille.

Kuva 2. Ulkoisen kuormantasauksen periaate.

Palveluväylän tapauksessa merkittävä asia on myös se, että vaikka klusterissa olisi useampia liityntäpalvelimia, tarvitaan palveluväylän varmenteita (autentikointi- ja allekirjoitusvarmenne) vain yhtä liityntäpalvelinta varten. Väylässä on siis virallisesti yksi liityntäpalvelin (master), joka klusterin muut liityntäpalvelimet (noodit, slavet) teeskentelevät olevansa. Klusterissa olevat liityntäpalvelimet käyttävät kaikki samoja varmenteita eikä jokainen liityntäpalvelin tarvitse omia varmenteita, mikä on merkittävä parannus varmenteiden käsittelyssä. Palveluväylän liityntäpalvelin-ohjelmisto osaa replikoida varmenteet ja käyttää niitä klusterissa olevien palvelinten kanssa oikein.

Kuormantasaajan suorituskykymittaukset

Ulkoisen kuormantasaajan käyttämistä palveluväylän tarpeisiin on testattu kevään ja kesän aikana kehitystiimin omissa suorituskyky- ja regressiotesteissä. Lisäksi ulkoinen toimittaja on tehnyt erillisen suorituskykytestauksen omassa palveluväylä-ympäristössään käyttäen omaa ulkoista kuormantasaaja.

Suorituskykytestejä varten FI-TEST -palveluväylä-ympäristöön luotiin alla oleva kuvan mukainen testauskonfiguraatio. Kuormantasausta käytettiin sekä palvelupyyntöjen lähettäjän että palveluntarjoajan päässä palveluväylän ja liityntäpalvelinten välissä. Lisäksi sekä asiakasjärjestelmän että palveluntarjoajan järjestelmien ja liityntäpalvelinten välissä käytettiin ulkoisia kuormantasaajia. Kuormaa pyrittiin tasaamaan mahdollisimman paljon.

Kuva 3. Ulkoisen kuormantasauksen testauskonfiguraatio.

 

Yksittäinen viesti kulkee järjestelmässä niin, että asiakasjärjestelmän sovellus generoi palvelukutsujen SOAP-sanomia kuormantasaajan #1 läpi asiakaspään liityntäpalvelimille (liityntäpalvelimet #1 ja #3), jotka pyytävät sanomiin vastausta palveluntarjoajan liityntäpalvelimelta (liityntäpalvelimet #2 ja #4). Kuormantasaaja #3 jakaa palvelukutsut palveluntarjoajan liityntäpalvelinten #2 ja #4 kesken. Nämä liityntäpalvelimet saavat vastaukset palvelukutsuihin palveluntarjoajan sovellukselta. Tämä sovellus tuottaa vakiovastauksen ja vastaussanomat voidaan määritellä testin konfiguroinnilla. Vastaussanoma kulkee samaa reittiä takaisinpäin, jolloin kuormantasaajat #4 ja #2 jakavat matkan varrella kuormaa.

Testissä mitattiin kuinka kauan koko viestiketjun (palvelukutsu–vastaus) suorittamiseen kuluu aikaa ja montako viestiä järjestelmän läpi kulkee. Lisäksi mitattiin sekä liityntäpalvelimien että asiakasjärjestelmän ja palveluntarjoajan sovelluksen palvelimien CPU-kuormitusta. Näin pystyttiin päättelemään mikä osa järjestelmästä mahdollisesti hidasti eniten viestin välitystä. Testin aikana palvelukutsujen määrää lisättiin niin, että testin aluksi yhtäaikaisia palvelukutsuja oli vain yksi kappale, mutta testin lopussa yhtäaikaisia kutsuja oli 250.

Testin aikana kaikissa liityntäpalvelimissa oli samanlainen alustakokoonpano, joka on käytännössä sama kuin suositeltava minimikokoonpano liityntäpalvelimelle:

  • OS: Red Hat 7
  • Keskusmuisti: 4 Gb
  • 2 CPUs
  • Levytila: 70 Gt

Seuraavissa kuvissa on esitetty sanomien läpimenomäärät ja keskimääräiset vasteajat testeissä käytetyille palvelukutsuille kullakin sanomakoolla. Kuvassa 4 näkyy kuinka monta sanomapakettia on siirretty kullakin sanomakoolla yksittäisen testin aikana. Testin suoritusaika on vakio ja viestejä lähetetään väylän siirrettäväksi niin nopeasti kuin mahdollista.

Kuva 4. Viestien läpimenomäärät kuormantasauksella ja ilman kullakin sanomakoolla mitattuna.

Kuvassa 5 näkyy palvelukutsujen keskimääräiset vasteajat kullakin sanomakoolla testien aikana.

Kuva 5. Keskimääräiset palvelukutsujen vasteajat kullakin sanomakoolla.

 

Tulokset näyttävät, että osassa testejä suorituskyky tuplaantui tai kasvoi jopa tätäkin enemmän. Toisaalta testauksen aikana huomattiin, että testauksessa palveluntarjoajan päässä käytetty vastaanottava sovellus muodostui pullonkaulaksi silloin kun käytettiin isompia sanomakokoja. Vastaanottava sovellus ei pystynyt käsittelemään saapuneita palvelukutsujen sanomia tarpeeksi nopeasti, vaan kutsut jonoutuivat ja niiden käsittely hidastui. Tästä syystä testitulokset ovat näissä testitapauksissa huonompia kuin jos vastaanottava sovellus olisi pystynyt käsittelemään palvelukutsuja yhtä nopeasti kuin liityntäpalvelimet niitä välittivät. Tämä näkyy siinä, että 100K:n kokoisissa ja sitä isommissa sanomissa kuormantasauksen vaikutus suorituskykyyn putoaa ja tasoittuu suurin piirtein samaan lukemaan kuin ilman kuormantasausta. Jälkikäteen arvioiden myös palveluntarjoajan sovellus olisi pitänyt olla kahdennettu (kaksi sovellusta olisi vastannut palvelukutsuihin), jotta palveluväylän siirtokykyä olisi saatu paremmin mitattua. Joka tapauksessa tällä testillä pystyttiin osoittamaan, että palveluväylässä pullonkaulaa sanomien välityksessä ei muodostunut. Jos pullonkaula muodostui, olivat syyt jossain muualla järjestelmässä, esimerkiksi verkkoyhteyksissä tai palvelupuolen sovelluksessa – kuten tässä tapauksessa todettiin.

Yhteenvetona voi sanoa, että palveluväylän suorituskyky osoittautui merkittävästi paremmaksi ulkoista kuormantasaajaa käytettäessä.

Ulkoisen kuormantasaajan kolme tärkeää hyötyä

Kolme suurinta kuormantasaajan tuomaa etua ovat skaalautuvuus, korkea saatavuus ja hallittavuus. Jos esimerkiksi liityntäpalvelimen toimintaan tarvitaan lisää suorituskykyä vaikkapa lisääntyneen käytön takia (palvelukutsuja tulee jatkossa yhä enemmän), voidaan nykyinen liityntäpalvelin kloonata toiseksi tai useammaksi liityntäpalvelimeksi. Kuorma jakaantuu tällöin kahdelle tai useammalle liityntäpalvelimelle. Näin yhtäaikaisten käyttäjien määrää voidaan kasvattaa ja vasteajat pienevät.

Kuormantasaajan avulla järjestelmä toimii aikaisempaa paremmin myös mahdollisissa vikatilanteissa. Kuormantasaaja poistaa vikaantuneen liityntäpalvelimen käytöstä (liikennettä ei enää ohjata sille) ja liikenne ohjautuu muille, toiminnassa oleville liityntäpalvelimille. Järjestelmän toimintavarmuutta voidaan parantaa vielä lisää kahdentamalla (HA toiminnallisuus) myös itse kuormantasaaja niin, että niitä on kaksi kappaletta toimintakunnossa. Tällöin yhden kuormantasaajan vikaantuminen ei lamauta järjestelmän toimintaa.

Hallittavuudella tarkoitetaan sitä, että liityntäpalvelinklusterin toimintaa voidaan hallita kuormantasaajan avulla. Esimerkiksi liityntäpalvelimia huollettaessa tai päivitettäessä voidaan kuormantasaajalle kertoa, että kyseinen liityntäpalvelin ei ole toimintakunnossa, eikä sille saa ohjata toistaiseksi liikennettä. Tällainen tilanne voi tulla vastaan vaikkapa päivitettäessä liityntäpalvelimen ohjelmistoa uuteen versioon, jolloin päivityksen ajaksi kyseinen palvelin otetaan pois klusterista. Palvelin palautetaan kun ohjelmisto on päivitetty.

Milloin kuormantasausta kannattaa käyttää?

Ulkoisen kuormantasaajan käyttöä kannattaa harkita ainakin siitä tapauksessa, jos yhtäaikaisia palvelukutsuja tulee (tai voi tulla) niin paljon, ettei yhden liityntäpalvelimen kapasiteetti riitä palvelemaan kaikkia palvelukutsuja riittävän nopealla vasteajalla. Lisäksi, jos äkillisiä kuormituspiikkejä on odotettavissa, voidaan palvelun toimivuus varmistaa näiden ruuhkahetkien ajalle kuormatasauksella ja lisäämällä liityntäpalvelimia klusteriin. Tarkkoja palvelukutsujen määriä, jolloin kuormantasaajan käyttö on suositeltavaa on hankalaa sanoa. Muuttuvia tekijöitä tässä yhtälössä ovat esimerkiksi palveluntarjoajan liityntäpalvelimen kapasiteetti ja suorituskyky (mm. muisti ja suoritin), sekä palveluväylään tarjottavalle palvelulle ominainen käytös, esimerkiksi miten suuria sanomia sen pitää käsitellään ja miten usein. Ohjeistusta yksittäisen liityntäpalvelimen mitoitukseen löytyy täältä: Liityntäpalvelimen tekniset vaatimukset. Arviona voisi sanoa, että silloin kun yhtäaikaisten käyttäjien määrä nousee useisiin kymmeniin tai satoihin (tai jopa tuhansiin) ja palvelun on pystyttävä käsittelemään satoja tai tuhansia sanomia lyhyessä ajassa, on kuormantasaajan käyttö suositeltavaa.

Mikäli palvelun saatavuus on ehdottaman tärkeää on kuormantasaajan käyttö tällöin perusteltua. Jos esimerkiksi ohjelmistopäivitykset on pystyttävä tekemään ilman katkosta, on kuormantasaaja ehdoton valinta, koska yksittäinen liityntäpalvelin voidaan irrottaa huoltotoimenpiteitä varten klusterista. Muut klusterin liityntäpalvelimet mahdollistavat palvelun toiminnan tällä välin.

Ulkoisen kuormantasaajan käyttämisestä palveluväylässä julkaistaan asennus- ja konfigurointiohjeet. Kannattaa huomioida, että palveluväylä mahdollistaa ulkoisen kuormantasaajan käytön, mutta kuormantasaajan hankinta, konfigurointi ja ylläpito oman palvelun käyttöön on kunkin organisaation vastuulla. Teknisenä yksityiskohtana mainittakoon, että käytettävän kuormantasaajan pitää tukea HTTP-pohjaista statustilan tarkistusta (ns. health check toiminnallisuus klusterin noodeille) sekä TCP-tason kuormantasausta. Ehdottomasti suositellaan myös, että kuormantasaajan toiminta on varmennettu HA toiminnallisuudella, jolloin yksittäisen kuormantasaajan vikaantuminen ei lamauta koko järjestelmän toimintaa.

Yhteenveto

Palveluväylä on suorituskykyinen tapa siirtää tietoa. Jatkossa sinne liitettyjen palveluiden suorituskykyä voidaan skaalata ylöspäin melkeinpä miten paljon vain. Tämä tehdään kuormantasauksen avulla liittämällä klusteriin lisää liityntäpalvelimia. Palveluväylä tuo tiedonsiirtoon tietoturvaa, aikaleimausta, varmenteita ja vakioituja ratkaisuja palveluiden liittämiseksi ja käyttämiseksi väylässä. Palveluväylä tarjoaa siis tietoturvalla varustettua siirtokyvykkyyttä. Ostoskanavan sanoin, ei siinä vielä kaikki: tämä kaikki on saatavilla valmiina paketoituna kokonaisuutena, jossa on mukana monipuoliset ohjeistukset. Ja se on vieläpä käytettävissä ilmaiseksi! Liity mukaan Palveluväylään

Hannu Hakala

Kirjoittaja työskentelee IT-alan palveluyritys Cybercomin palveluksessa ja on Suomi.fi-palveluväylän tuoteomistaja. Hän on innokas digitalisoitumisen puolestapuhuja: ”Mikä onkaan hienompaa, kuin tehdä digitalisaatiota kotimaan hyväksi”.

Palveluväylän uusi tuotantoversio tulossa – muutoksia liittyneille organisaatioille

Palveluväylän seuraava tuotantoversio (versionumero 6.9.x) julkaistaan alkuvuoden aikana. Uusi versio sisältää muutamia uudistuksia ja muutoksia toiminnallisuudessa, jotka vaativat mahdollisesti toimenpiteitä palveluväylään jo liittyneiltä organisaatioilta.

Jotta asiakkaiden palveluiden käyttöön ei tule katkoksia uuden version asennuksen myötä ja siirtyminen uuteen versioon on mahdollisimman ongelmatonta, organisaation on hyvä tarkistaa alla mainitut asiat oman liityntäpalvelimensa ja palveluväylään tarjottavien palveluiden osalta. Muutoksiin ei ole tarvetta, jos oman liityntäpalvelimen ja palveluiden asetukset sekä toiminnallisuudet on alun perinkin tehty suositusten ja X-Road-rajapintakuvausten mukaisesti.

  1. Liityntäpalvelimen Member-tasolle ei saa jatkossa olla liitettynä palveluita
    • Jatkossa liityntäpalvelimen kautta väylään tarjottavien palveluiden liittäminen suoraan Member-tasolle ei ole sallittua tai edes mahdollista, vaan palvelut on kytkettävä vain ja ainoastaan Alijärjestelmä-tasolle.
    • Palvelut on kytkettävä vain ja ainoastaan Alijärjestelmä-tasolle, palveluiden kytkeminen Member-tasolle ei ole enää tuettuna. Palvelut on siirrettävä manuaalisesti käsin Member-tasolta Alijärjestelmä-tasolle ennen päivitysasennuksen aloittamista. Jos palveluita ei siirrä manuaalisesti pois, kaikki Member-tasolta löytyvät palvelut poistetaan automaattisesti. Huom! Asennusohjelma ei pysäytä asennusta tai anna automaattista virheilmoitusta tästä tilanteesta.
    • Ohjeet palvelujen lisäämisestä/siirtämisestä Alijärjestelmän-tasolle löytvät täältä: https://esuomi.fi/palveluntarjoajille/palveluvayla/tekninen-aineisto/konfigurointiohjeita/uuden-palvelun-lisaaminen-liityntapalvelimelle/
  1. Palvelun lähettämä Content-Type HTTP-otsikkotieto lähetetään jatkossa sellaisenaan vastaanottajalle
    • Asiakkaan palveluväylään liittämän palvelun väylään lähettämän SOAP-sanoman Content-Type-otsikko lähetetään jatkossa version 6.9.x myötä sellaisenaan vastaanottajalle. Aikaisemmin väylän ohjelmisto on pyrkinyt päättelemään Content-Type-otsikkoa oikeaksi:
      • Aikaisemmissa palveluväylän versioissa Content-Type-otsikko asetettiin joko 1) multipart/related, jos SOAP-sanomassa oli mukana liitetiedosto tai 2) text/xml, jos sanoma oli normaali SOAP-sanoma ilman liitetiedostoja. Palveluväylän ohjelmisto siis muunsi asiakkaan palvelun asettaman, mahdollisesti jonkun muun Content-Type-otsikkotiedon joko 1) tai 2) -tyyppiseksi.
    • Palveluiden ja tietojärjestelmien toiminta saattaa muuttua version 6.9.x myötä, jos sanoman Content-Type-otsikko onkin jatkossa erilainen kuin aikaisemmin. Automaattista muunnosta ei tehdä enää yllä olevan mukaisesti, vaan Content-Type-otsikko menee läpi sellaisenaan kuin se on alun perin palvelun myötä asetettu. Tästä syystä on tarkistettava, miten omat palvelukutsut ja niihin saadut vastaukset on toteutettu:

Palveluväylän ylläpito auttaa tarvittaessa: palveluvayla@palveluvayla.fi