Kansallinen palveluväylä tulee loppuvuodesta. Jos organisaatiosi haluaa liittyä siihen, voit jo nyt testata sitä julkisen kehitysympäristön kanssa.
Liittyminen on periaatteessa hyvin helppoa ja nopeaa. Tarvitset vain liityntäpalvelimen, jota varten suositellaan dedikoitua (virtuaali)palvelinta. Palvelimen asennus onnistuu pienen konfiguraation jälkeen yhdellä komennolla palveluväylän Ubuntu-repoista ja myöhemmin myös RPM-repoista. Tämän lisäksi tarvitaan varmenteet ja tarvittavien portien avaukset palveluväylän ylläpidolta sekä tietysti ajatus siitä, mitä palveluväylään liitettyä palvelua halutaan käyttää tai mitä palvelua halutaan tarjota.
Mikäli toimittajasi mukaan palveluväylään liittymiseen menisi päiviä, kannattaa kysyä tarjous myös Goforelta. Pystytimme koko palveluväylään liittyvän infrastruktuurin tyhjästä sisältäen palvelinten hankinnan alle parissa päivässä. Palveluväylään liittyminen on tästä vain osajoukko.
Gofore on vahvasti mukana Kansallisen palveluarkkitehtuurin kehittämisessä. Palvelunäkymien, tunnistuksen, roolien ja valtuutusten hallinnan lisäksi Gofore on myös toimittajana Kansallisen palveluväylän jatkokehitys- ja ylläpitoprojektissa, jonka ensimmäisiin kokemuksiin tämä blogi perustuu. Kansallinen palveluväylä pohjautuu Virossa kehitettyyn X-Road -teknologiaan, joka on ollut siellä käytössä jo vuosituhannen alusta saakka. Projektimme pohja on X-Road versio 6, joka kokonaan uudelleen kirjoitettu versio aiemmasta X-Roadista. Versio 6 ei ole vielä Virossa käytössä; se pyritään ottamaan käyttöön loppuvuonna 2015.
Oman projektimme aikataulun mukaan valmista pitäisi olla marraskuussa ja uusi palveluväylä silloin tuotantokäytössä, joten on mahdollista, että Suomessa otetaan X-Road 6 -pohjainen palveluväylä käyttöön ennen Viroa. Projektimme tarkoituksena on jatkokehittää palveluväylää Suomen vaatimuksia vastaaviksi. Toteutamme mm. lainsäädännön vaatimat muutokset lokitukseen, salausasetuksien muutoksia, monitorointiominaisuuksia sekä helpotamme palvelunväylän käyttöönottoa monille organisaatioille toteuttamalla liityntäpalvelimelle RedHat-tuen ja RPM-paketoinnin. Tällä hetkellä X-Road on asennettavissa Ubuntu-palvelimelle apt-getilla X-Roadin repoista. Suomessa tämän lisäksi tulee mahdolliseksi asennus RPM-repoista.
Töiden varsinainen käyntiin polkaisu tapahtui kaksipäiväisessä workshopissa, jossa mukana oli allekirjoittaneen lisäksi Jansu ja Ilkka Goforesta, Petteri VRK:lta sekä virolaisen Cybernetican X-Roadin kehittämisestä vastaava arkkitehti Margus. Ensimmäinen aamupäivä käytettiin teknologiaan ja arkkitehtuuriin tutustumiseen Marguksen esittelemänä. Kun esittelykalvot iltapäivällä loppuivat, kysyimme, olisiko mahdollista pystyttää oma täydellinen palveluväyläympäristö käännetyistä lähdekoodeista. Tähän tarvittaisiin neljä palvelinta ja Magus ehdotti, että loppupäivän aikana yrittäisimme pyytää tarvittavat palvelimet, jotta pääsisimme jatkamaan seuraavana päivänä. Itse kuitenkin olimme sitä mieltä, että yritetään edetä vielä vähän nopeammin.
Perustimme Amazonin AWS:ään tilin ja käynnistimme sieltä neljä EC2-instanssia palveluväylän infrastruktuuria varten. Päätimme, että emme tässä vaiheessa pystytä omia varmenne- ja aikaleimapalveluja (OCSP ja TSA), vaan käytämme näitä CSC:n tarjoamasta julkisesta kehitysympäristöstä, joten otimme yhteyttä CSC:hen ja pyysimme tarvittavat palomuurit auki. Tämän jälkeen voimmekin aloittaa palvelujen pystyttämisen. Aloitimme keskuspalvelimesta (Central Server), jonka asennus sisälsi periaatteessa käyttäjän luonnin ja muutaman konfiguraation lisäksi .deb-pakettien asennuksen. Pakettien asennuksen yhteydessä tehtiin tarvittava konfiguraatio ensin paketinhallinnan konfiguraation kautta ja lopuksi keskuspalvelimen käyttöliittymästä. Palvelun testaamiseksi asensimme kaksi liityntäpalvelinta (Security Server), joiden roolina on simuloida kahden eri organisaation liittymistä palveluväylällä. Liityntäpalvelinten asennus meni vastaavasti kuin keskuspalvelimella. Näiden kolmen palvelimen lisäksi neljäs palvelin on varattu tietopalvelulle, jota käytetään palveluväylän infrastruktuurin ja viestien välityksen testaamiseen. Käytön helpottamiseksi pystytimme nimipalvelun (AWS Route 53) ja otimme käyttöön pysyvät IP-osoitteet (AWS Elastic IPs). Liityntäpalvelinten pystytyksen jälkeen teimme käyttöliittymän kautta sertifikaattipyynnöt ja lähetimme CSC:lle varmepalveluun liittymistä varten. Tässä vaiheessa lopetimme workshopin ensimmäisen päivän osalta ja jäimme odottamaan sertifikaatteja.
Seuraavana aamuna mukaan tuli CSC:n Pekka, joka antoi sertifikaatit liityntäpalvelimillemme ja pääsimme testaamaan järjestelmää. Pystytimme esimerkkipalvelun, jonka liitimme toiseen liityntäpalvelimeen. Tämän jälkeen törmäsimme ongelmaan; palvelu toimi suoraan kutsuttuna, mutta ei palveluväylän kautta. Syyksi osoittautui vanhan X-Road -version mukainen schema, jonka päivittämällä saimme saimme viestit kulkemaan ja palvelun toimimaan palveluväylän kautta. Aikaa jäi hyvin muille asioille ja pääsimme lopettamaan workshopin hyvissä ajoin.
Workshopin jälkeen työ ympäristön parissa jatkui mm. dokumentoinnilla, testipalvelun säätämisellä, kehitysympäristön tietoturvan varmistamisella ja asennuksen automatisoinnilla Ansiblen avulla ja teimmepä vielä scriptin, joka kustannusten säästämiseksi sammuttaa EC2-instanssit yön ajaksi.
Tässä vaiheessa näyttää siltä, että projektimme suurimmat haasteet eivät tule olemaan teknisiä, vaikka toki teknisiäkin haasteita riittää, ja osa työlistalla olevista asioista on sellaisia, joiden vaatimasta työstä ei ole vielä käsitystä. Suurimmat haasteet ovat todennäköisesti kuitenkin organisatoorisia. Kehitys tapahtuu yhteistyössä Suomen ja Viron viranomaisten kanssa ja osa ominaisuuksista tehdään yhdessä Virolaisen toimittajan kanssa. Ajatuksena on myös, että toteutamme muutoksemme Virolaisten kanssa yhteiseen koodipohjaan. Esimerkiksi juuri yhteisen versionhallintarepon käyttöönotto ei näytä onnistuvan sormia napsauttamalla, vaikka me ja kaikki tapaamamme osapuolet: Suomen viranomaiset ja virolainen toimittaja ovat sitä mieltä, että se tarvitaan.
Jäämme odottamaan valtiotason sopimuksia.