KPI-mittarien määrittely ja automatisoitu mittausprosessi OpenShift Container Platform -alustalle

Nykyajan yritykset pyrkivät jatkuvasti parantamaan suorituskykyään ja tehokkuuttaan. Yksi keskeinen tapa saavuttaa tämä on käyttämällä KPI-mittareita (Key Performance Indicator) seuratakseen ja analysoidakseen prosessien ja järjestelmien suorituskykyä. Tässä blogikirjoituksessa esitellään Jan Mäkelän toteuttamaa opinnäytetyötä, jossa käsitellään KPI-mittarien määrittelyä ja automatisoidun mittausprosessin toteutusta OpenShift Container Platform -alustalle (OCP). OCP on Red Hatin kehittämä konttialusta, joka helpottaa sovellusten hallintaa kehittämisestä tuotantoon saakka. Tämän opinnäytetyön tavoitteena oli valita sopivat KPI-mittarit, luoda automatisoitu järjestelmä mittaustulosten keräämiseksi ja visualisoimiseksi sekä varmistaa, että järjestelmä on yhteensopiva Nokian olemassa olevien järjestelmien kanssa. Lue lisää siitä, miten KPI-mittarit valittiin, mittausprosessi ohjelmointiin ja mittaustulokset visualisointiin.

TEKSTI | Jan Mäkelä ja Antti Virtanen
Artikkelin pysyvä osoite http://urn.fi/URN:NBN:fi-fe2024061452734

Opinnäytetyön aiheena oli KPI-mittarien määritteleminen ja automatisoidun mittausprosessin luominen OpenShift Container Platform -konttialustalle. KPI-mittari on käytännössä mikä tahansa numeroilla ilmaistava arvo, esimerkiksi prosessista tai järjestelmästä, jonka muutosta voidaan seurata vertaamalla nykyisiä arvoja menneisiin arvoihin. Konttialusta tarkoittaa ohjelmistoa, jonka sisällä muita ohjelmia sekä niiden vaatimia kirjastoja voidaan ajaa eristetysti eri konttien sisällä. OCP-konttialusta koostuu tyypillisesti useammasta eri laitteesta, jonka sisällä konttien suorittaminen jaetaan laitteiden kesken. Nämä laitteet voivat olla joko fyysisiä tai virtuaalisia palvelimia.

KPI-mittarien valinta ja määrittely

Ensimmäinen vaihe KPI-mittareiden määrittelyssä oli tunnistaa ne mittarit, jotka ovat keskeisiä OCP-alustan suorituskyvyn ja käytettävyyden seurannassa. Nokian vaatimusten ja OCP-alustan asiantuntijoiden suositusten perusteella valittiin kaksi keskeistä mittaria: alustan uudelleenkäynnistysaika ja asennusaika. Kolmantena mittarina oli alustan päivitysaika, mutta sen kehitysvaiheen keskeneräisyyden vuoksi se jätettiin pois tämän työn laajuudesta.

Uudelleenkäynnistysaika mittaa, kuinka kauan OCP-alusta kestää käynnistyä uudelleen esimerkiksi huoltokatkon jälkeen. Tämä mittari on tärkeä, koska lyhyempi uudelleenkäynnistysaika tarkoittaa vähemmän seisokkeja ja parempaa käytettävyyttä.

Asennusaika puolestaan mittaa, kuinka kauan alustan asentaminen kestää uudesta asennuksesta tuotantokäyttöön. Tämä mittari on kriittinen, koska se vaikuttaa alustan käyttöönoton nopeuteen ja tehokkuuteen.

Automatisoitu mittausprosessi

Kun mittarit oli valittu, seuraava vaihe oli kehittää automatisoitu järjestelmä näiden mittarien seuraamiseksi. Tämä järjestelmä rakennettiin Robot Framework -automaatiokielellä, joka oli jo käytössä Nokian sisällä. Robot Frameworkin avulla luotiin työkalu, joka kerää mittaustuloksia eri järjestelmistä, muokkaa ne sopivaan muotoon ja tallentaa ne tietokantaan.

Tekniset ratkaisut

Mittausjärjestelmän tekninen toteutus sisälsi useita vaiheita. Ensiksi asennettiin ja konfiguroitiin InfluxDB-tietokanta ja Grafana-visualisointialusta. InfluxDB toimii tietokantana, johon mittaustulokset tallennetaan, ja Grafana puolestaan visualisoi nämä tulokset käyttäjäystävällisessä muodossa.

Robot Framework -työkalu hyödyntää useita rajapintoja, kuten Jenkins, Redfish ja OpenShift mittaustulosten keräämiseen. Kuvassa 1 on esitetty käyttäjän ja eri järjestelmien välistä suhdetta. Työkalu hakee ja luo mittausdataa näiden rajapintojen kautta, tallentaa tiedot InfluxDB-tietokantaan, ja Grafana-alusta automaattisesti noutaa, muokkaa ja visualisoi datan halutussa muodossa. Tämä mahdollistaa reaaliaikaisen seurannan ja analysoinnin, mikä auttaa havaitsemaan ja ennakoimaan mahdolliset suorituskyky- ja käytettävyysongelmat.

UML-kaavio, joka kuvaa suunniteltujen järjestelmien välisiä suhteita. Kuvassa esitetään myös eri käyttäjäroolit ja niiden vuorovaikutus asiaankuuluvien järjestelmien kanssa.
Kuva 1. Yksinkertaistettu UML-kaavio, joka kuvaa käyttäjän ja eri järjestelmien välistä suhdetta.

Tulokset ja johtopäätökset

Lopputuloksena kehitetty työkalu osoittautui toimivaksi ja yhteensopivaksi Nokian olemassa olevien järjestelmien kanssa. Työkalu pystyi tuottamaan halutut mittaustulokset ja oli helposti laajennettavissa uusien mittareiden lisäämistä varten. Grafana-alustalla visualisoidut mittaustulokset olivat selkeitä ja helposti tulkittavissa, mikä mahdollisti tehokkaan seurannan ja analyysin. Kuvasta 2 nähdään, että mittaustulokset ovat eroteltavissa ja verrattavissa eri laitteistojen kesken, mikä oli tärkeä tavoite työn tulosten kannalta.

Kuva 2. Aikasarjakaavio OpenShift-alustan asennusajoista lajiteltuna laitteiston mukaan.

Mittausjärjestelmän avulla voidaan tulevaisuudessa ennaltaehkäistä mahdollisia OCP-alustan suorituskyky- ja käytettävyysongelmia vertaamalla mittaustulosten muutoksia. Tämä parantaa alustan luotettavuutta ja käytettävyyttä, mikä on kriittistä tuotantoympäristöissä. Tutkimuksen pohjalta suositellaan laajentamaan mittausprosessia myös alustan päivitysaikoihin, kun päivitysprosessi on kehittyneempi.

Yhteenveto

Tässä opinnäytetyössä toteutettiin onnistuneesti KPI-mittarien määrittely ja automatisoidun mittausprosessin luonti OpenShift Container Platform -alustalle. Projekti toteutettiin yhteistyössä Nokian kanssa, ja sen tuloksena syntynyt mittausjärjestelmä on toimiva, laajennettavissa ja yhteensopiva Nokian järjestelmien kanssa. Tämä työ tarjoaa hyvän pohjan tulevaisuuden kehitykselle ja mahdollistaa OCP-alustan suorituskyvyn ja käytettävyyden tehokkaan seurannan.

Tämä artikkeli pohjautuu opinnäytetyöhön, jonka toteutti Jan Mäkelä ja ohjasi Antti Virtanen. Opinnäytetyö löytyy osoitteesta: https://urn.fi/URN:NBN:fi:amk-2024052917401

Aiheeseen liittyvää