Asiakastieto kertoi tänään, että se rakensi uuden tilitietopalvelunsa avoimilla ohjelmistoilla yhdessä Red Hatin kanssa. Projekti kuvaa hyvin vanhojen järjestelmien tuomia haasteita. Red Hatin pilviratkaisuja myyvän Matti Niemisen mukaan avoimet ohjelmistot osoittivat tässäkin projektissa vahvuutensa.
- Avoimien ohjelmistojen yksi eduista on se, että ne seuraavat innovaatioita nopeasti tai jopa luovat niitä. Tästä yhtenä esimerkkinä muutosdatan kerääminen järjestelmistä (Change data capture), joka mahdollistaa legacy-järjestelmän tietojen levittämisen tapahtumapohjaisesti muihin järjestelmiin käyttäen viestiväylänä vaikkapa Kafkaa.
Karkeasti ilmaisten vanhoissa järjestelmissä – kuten pankkien asiakastietokannoissa – on se haaste, että ne pitäisi saada hallintaan ja keskustelemaan uusien frontend-ratkaisujen kanssa. – Yksi tapa saada ne hallintaan on eristää legacy-järjestelmä muista standardoitujen rajapintojen, kuten vaikkapa REST-rajapintojen taakse tai siirtymällä tapahtumapohjaiseen arkkitehtuuriin, Nieminen sanoo.
Kontitetut mikropalvelut ovat korkean saatavuuden skaalautuva ja helppo tapa luoda REST-rajapintoja. – Näin datan käsittely saadaan irti vanhasta järjestelmästä, ja tehtyä modernein keinoin avoimilla standardeilla skaalautuvasti ja siirrettävästi. Päästään irti “mustan boxin” lukosta, jota voidaan jopa pienentää järjestelmien kehittyessä.
Legacy-järjestelmien haaste riittää myös koodarien puutteeseen. Näitä Niemisen kuvaamia ”mustan laatikon osaajia” on yhä vähemmän, kun taas modernille puolelle tekniikan ja standardien avoimuuden kautta on helpompi löytää osaajia. Tämän takia pankit, vakuutusyhtiöt ja vastaavat palkkaavat nyt kaikki koodarit, joihin pääsevät käsiksi. Red Hatilla tämä näkyy myös rekrytointeina esimerkiksi automaation, hybridipilvi-infran sekä pilvinatiivin kehityksen alueella.
Asiakastieto kertoi uuden tilitietopalvelunsa myötä siirtyneensä sovelluskehityksessä Quarkuksen käyttäjäksi. Java-pohjaisella alustalla haettiin ennen kaikkea tehokkuutta. Niemisen mukaan Quarkus on nopea sekä kehitystyössä että ajonaikaisesti.
- Ajonaikainen nopeutus perustuu siihen, että käynnistyminen on saatu Java-pohjaiselle sovellukselle erittäin nopeaksi tekemällä paljon ajonaikaisia optimointeja jo käännösaikana. Tässä auttaa myös ladattavien resurssien analysointia käännöksen aikana. Sovelluksesta saadaan karsittua ne resurssit, joita ei ajonaikaisesti tulla tarvitsemaan.
LIsää tehokkuutta tulee myös kehitykseen. Quarkuksessa sovellus lataa itsensä uudelleen, kun riippuvuuksia tai sovelluskoodia muokataan. - Kehittäjä näkee siis välittömästi muokkauksensa tulokset, joten keskittyminen pysyy hyvin muokkauksissa. Lisäksi yleisenä nopeutuksena toimii toki se, että käytetyt kirjastot ja paradigmat ovat useimmille Java-kehittäjille jo tuttuja ja turvallisia, Nieminen sanoo.
Konttiteknologia on muuttanut sovelluskehitystä siten, että optimoinnit voidaan tehdä käännöksen aikana. Konttiaikana palveluiden uudelleen kääntäminen ja jakelu on automatisoitu, joten dynaamisuutta ajonaikana ei tarvita, Nieminen selventää.