Ympäristöviisas viljelijä -hankkeessa kehitetty Ympäristökioski-sovellus julkaistiin joulukuussa 2022. Käyttöönottoon sisältyivät hosting-palvelujen kartoitus ja vertailu, virtuaalipalvelimen hankinta, palvelimen käyttöönotto ja sovelluksen käyttöönotto palvelimella. Sovelluksen julkaisusta tiedotti ProAgria Oulu. Käyttöönoton jälkeen käynnistyi sovelluksen ylläpitovaihe, joka koostuu palvelimen ylläpidon lisäksi sovelluksen jatkokehitysideoiden toteuttamisesta. Hanke päättyi kesäkuussa 2023, ja sovelluksen ylläpito siirtyi ProAgria Oululle.

Ohjelmiston käyttöönotto on osa ohjelmistokehityksen elinkaareen sisältyvistä tehtävistä. Käyttöönoton keskeinen tarkoitus on tuoda ohjelmisto käyttäjien saataville. Ohjelmistokehittäjän näkökulmasta käyttöönotto voi toteutua hyvin monenlaisin tavoin riippuen ohjelmistosta. Se voi olla kertaluonteista tai jatkuvaa, ja se voi olla manuaalista tai automatisoitua. Käyttöönotossa on useita vaiheita ja erilaisia käyttöönottotapoja on runsaasti [1].

Erityyppiset ohjelmistot edellyttävät erilaisia käyttöönottotapoja

Koska ohjelmistot ovat erilaisia, myös käyttöönottotavat vaihtelevat loppukäyttäjän näkökulmasta katsottuna. Tietokoneisiin asennettavat työpöytäsovellukset ladataan tyypillisesti verkkosivuston kautta, jonka jälkeen suoritetaan asennusohjelma.

Mobiililaitteissa käytettävät sovellukset otetaan käyttöön samalla periaatteella, mutta verkkosivustolta lataamisen sijaan ne ladataan useimmiten sovelluskaupasta. Verkkoselaimen (jatkossa selain) kautta käytettävät sovellukset eivät edellytä loppukäyttäjältä asennusta, koska käyttäjä pääsee sovellukseen syöttämällä selaimeen sovelluksen verkko-osoitteen.

Tällaisia sovelluksia voidaan käyttää periaatteessa kaikilla laitteilla, joissa on selain. Käytännössä mobiililaitteet edellyttävät sitä, että sovellus on responsiivinen eli se toimii erilaisten laitteiden selaimilla skaalautuen vaihtuviin näyttökokoihin.

Ympäristöviisas viljelijä -hankkeen alussa keskusteltiin erilaisista vaihtoehdoista sovelluksen tyypiksi. Esillä olivat työpöytäsovellus, mobiilisovellus ja selaimella käytettävä verkkosovellus. Sovellus päätettiin kehittää selaimella käytettäväksi. Hankkeen aikana sovellus kehittyi responsiiviseksi siten, että sen käyttö onnistuu myös mobiililaitteen selaimella.

Ylläpito on osa ohjelmiston elinkaarta

Ohjelmiston käyttöönoton jälkeen käynnistyy ylläpitovaihe, joka on niin ikään osa ohjelmiston elinkaarta. Ylläpitovaihe jatkuu, kunnes ohjelmisto poistetaan käytöstä tai sen ohjelmistoteknologia uudistuu niin, että kyseessä ei ole enää sama ohjelmisto.

Pitkän elinkaaren omaavissa ohjelmistoissa ylläpitovaihe voi olla pitkäkestoinen prosessi. Alan kirjallisuudessa tunnistetaan usein kuviossa 1 näkyvät neljä eri ylläpidon osa-aluetta.

Kuviossa ohjelmiston ylläpidon eri osa-alueet, jotka ovat korjaava, sopeuttava, kehittävä ja huoltava.
KUVIO 1. Ohjelmiston ylläpidon eri osa-alueet [2]. Kuvio avautuu isommaksi klikkaamalla.

Ympäristöviisas viljelijä -hankkeen ylläpitovaihe käynnistyi joulukuussa 2022 sen jälkeen, kun sovellus otettiin käyttöön ja julkaistiin. Kesäkuussa 2023 hallinta ja ylläpito luovutettiin ProAgria Oululle. Ennen luovutusta ylläpitoon sisältyi kaikkia kuviossa 1 esitettyjä ylläpidon tyyppejä.

Ympäristöviisas viljelijä

Hankkeen tavoitteena oli lisätä maatilojen välistä yhteistyötä ja verkostoitumista erityisesti kestäviin tuotantotapoihin liittyen. Hankkeessa kehitettiin maatiloille ympäristöviisaita toimintatapoja hyödyntäen uusinta tutkimustietoa sekä laskenta- ja mallinnusmenetelmiä. Yksi hankkeen tehtävistä oli sellaisen sähköisen työkalun kehittäminen viljelijöille, jonka avulla voi suunnitella ja arvioida erilaisia tilan ympäristövaikutuksia pienentäviä valintoja sekä selvittää ja seurata erilaisia ympäristötunnuslukuja. [3]

Hankkeessa kehitettiin Viljelijän Ympäristökioski. Se koostuu sovelluksesta ja sivustosta, joita on mahdollista käyttää erikseen tai yhdessä. Kehitystyö tehtiin tiiviissä yhteistyössä ProAgria Oulun asiantuntijoiden kanssa. Sovelluksessa viljelijä etenee tila- ja peltolohkokohtaisten lähtötietojen kokoamisesta ja pohdinnasta kohti niitä toimenpiteitä, joilla hän voi vähentää maatilan vesistö- ja ilmastovaikutuksia sekä parantaa luonnon monimuotoisuutta ja maankasvukuntoa. [4] Sovelluksen työnkulku on esitetty kuviossa 2.

Kuviossa on kuvattu ympäristökioski-sovelluksen työnkulku alkaen sovellukseen rekisteröitymisestä koosteeseen. Välivaiheet ovat lohkojen tuonti tai lisäys, tilatason alkukartoitus, lohkojen ominaisuuksien valinta ja toimenpiteiden valinta.
KUVIO 2. Ympäristökioski-sovelluksen työnkulku. Kuvio avautuu isommaksi klikkaamalla.

Kehitysversiot Azure-pilvipalvelussa

Hankkeen aikana Ympäristökioski-sovelluksesta julkaistiin testikäyttöön tarkoitettuja versioita Microsoftin Azure-palveluun tukeutuen. Oulun ammattikorkeakoulun (Oamk) ICT-palvelut loivat hankkeelle Azureen tilauksen (Subscription), jonka alle luotiin App Service -tyyppinen palvelu. Sovellus sai palvelun kautta verkko-osoitteen, jota pystyttiin jakamaan sovelluskehityksen työryhmän jäsenille, testaajille ja sidosryhmien edustajille.

Mahdollisuus käyttää Azurea auttoi hanketta merkittävästi, ja Oamkin ICT-palvelut antoivat tarvittaessa tukea sen käytölle. Aivan ongelmatonta käyttö ei ollut. Toisinaan sovelluksen palvelinprosessi ei käynnistynyt normaalisti, ja käynnistymistä sai yrittää useita kertoja.

Elokuussa 2022 palvelinprosessin käynnistäminen edellytti palvelutason nostoa Basic-tasolta Premium-tasolle. Tämä nosti kustannuksia, joka näkyy selvästi kuviossa 3. Palvelun käyttö lopetettiin tammikuussa 2023, koska siinä vaiheessa Ympäristökioski-sovellus oli otettu käyttöön palveluntarjoajalta ostetulla virtuaalipalvelimella.

Kuvio, josta näkyy, että kustannukset ovat nousset toukokuusta 2022, jolloin kustannukset olivat muutamia kymmeniä euroja huhtikuuhun 2023, jolloin kustannukset olivat yli 500 euroa.
KUVIO 3. App Service -palvelun kumulatiiviset kustannukset Azure-pilvipalvelussa. Kuvio avautuu isommaksi klikkaamalla.

Hosting-palvelun valinta

Selaimella käytettävien sovellusten ja sivustojen julkaisuun tarvitaan web-palvelin. Erilaisia vaihtoehtoja on runsaasti tarjolla sekä valtakunnallisesti että globaalisti. Vertailuun valittiin kaksi suomalaista palveluntarjoajaa: Zoner ja Shellit.org. Ne ovat tyypillisiä Suomessa toimivia palveluntarjoajia, joiden palveluvalikoimasta löytyy eritasoisia web-hotelleja ja virtuaalipalvelimia. Ulkomaisista palveluista vertailuun valittiin Netlify, jonka palvelukonsepti on erilainen. Netlifyn palveluun on sisäänrakennettu ohjelmiston jatkuvan käyttöönoton automatiikka, josta hankittiin kokemusta henkilökohtaisella sovelluskehitysprojektilla kesällä 2022. [5]

Palveluntarjoajaksi valittiin Zoner, jolta virtuaalipalvelin ostettiin. Valinnan perusteina olivat kotimaisuus ja se, että Zonerin kautta hanke oli ostanut aiemmin ymparistokioski.fi-domainin. Erityisesti mahdollisuus suomenkieliseen tukipalveluun nähtiin tärkeänä. Hosting-palvelun tilasi Oulun yliopiston ICT-palvelut.

Virtuaalipalvelimen käyttöönotto

Virtuaalipalvelin (jatkossa palvelin) on ratkaisuna vaativampi kuin web-hotelli, koska palvelimen ostava asiakas ottaa siitä itselleen täydellisen vastuun. Palveluntarjoajalta saa toki tukea palvelimen käyttöönottoon, mutta viime kädessä asiakas on vastuussa palvelimesta. Tietoyhteiskunta toimii siten, että usein käyttäjät odottavat palvelun olevan saatavilla kaikkina vuorokauden aikoina vuoden jokaisena päivänä. Tämä fakta vaikuttaa myös palvelimen ylläpidosta vastaavan henkilön työhön, koska palvelinta ei voi missään vaiheessa jättää pitkiksi ajoiksi oman onnensa nojaan.

Palvelimen käyttöönottoon sisältyi useita vaiheita. Zonerin palvelussa ymparistokioski.fi-domainin määrityksiä piti muuttaa siten, että sovellus sai oman osoitteensa kyseisen domainin alta. Alitoimialueen osoitteesta käytiin keskustelua sovelluskehityksen työryhmässä. Vaihtoehtoina esillä olivat muun muassa viljelija ja sovellus, mutta lopulta nimeksi päätettiin laittaa app, joka tarkoittaa sitä, että sovellus toimii osoitteessa https://app.ymparistokioski.fi.

Palvelimen käyttöjärjestelmäksi Zoner tarjoaa useita vaihtoehtoja, joista valittiin Ubuntu Linux. Ennen palvelimen käyttööonottoa tehtiin testiasennus kannettavassa tietokoneessa olevaan Ubuntuun. Testiasennus koostui suurimmaksi niistä toimenpiteistä, jotka myöhemmin tehtiin Zonerin palvelussa luotuun palvelimeen.
Käyttöjärjestelmän valinnan ohella Zonerin palvelussa valittiin palvelimen prosessoriydinten (CPU) ja keskusmuistin (RAM) määrä sekä kiintolevyn kapasiteetti (disk size) (kuvio 4). Varsinkin prosessoriydinten ja keskusmuistin määrä vaikuttavat merkittävästi palvelimen suorituskykyyn. Toisaalta niitä nostettaessa myös palvelimen kustannukset kasvavat.

Kuvakaappaus virtuaalipalvelimen käyttöönotosta.
KUVIO 4. Virtuaalipalvelimen käyttöönotto Zonerin-palvelussa. Kuvio avautuu isommaksi klikkaamalla.

Palvelimen käyttöönoton jälkeen etäkirjautumisen (SSH, SFTP) konfiguraatiota muutettiin siten, että etäkirjautuminen perustuu salasanalla kirjautumisen sijaan avaimella kirjautumiseen. Tämä parantaa palvelimen tietoturvaa merkittävästi, koska etäkirjautumisessa avaimella kirjautuminen on mahdollista vain tietokoneelta, jossa on avainparin yksityinen avain. Toinen merkittävä tietoturvaan vaikuttava asia on palomuuri. Sen asetuksia muutettiin siten, että vain välttämätön verkkoliikenne sallitaan.

Ympäristökioski-sovelluksen julkaisu

Ennen Ympäristökioski-sovelluksen (jatkossa sovellus) julkaisua palvelimelle asennettiin sovelluksen edellyttämä ajoympäristö, johon sisältyy useita ohjelmistoja. Sovellus on kehitetty Reactilla, joka edellyttää Node.js-ajoympäristöä. Koska sovellusta käytetään selaimella, tarvitaan myös web-palvelinohjelmisto, joka konfiguroitiin palvelemaan app.ymparistokioski.fi-domainiin kohdistuvia sivupyyntöjä.

Sovellus käyttää ilmaista Let’s Encrypt -varmennetta (SSL-varmenne) turvalliseen https-liikenteeseen. Varmenne vanhenee kolmessa kuukaudessa, mutta palvelin konfiguroitiin siten, että varmenne uusiutuu automaattisesti, eikä palvelimen ylläpitäjän tarvitse huolehtia siitä erikseen.

Koska sovelluksen käyttö edellyttää rekisteröitymistä, sovellus pitää sisällään käyttäjärekisterin. Käyttäjien tiedot ovat Googlen pilvessä olevassa Firebase Realtime Database -tietokannassa. Käyttäjärekisteri puolestaan edellyttää sitä, että sovellukseen on lisätty tietosuojainfo. Tietosuojainfo luotiin Oamkin järjestelmällä ja linkki siihen löytyy sovelluksen kaikkien näkymien alalaidasta. Sovelluksen kirjautumis- tai rekisteröitymissivulla vieraileva käyttäjä voi tarkistaa tietosuojainfon ennen mahdollista rekisteröitymistään sovellukseen.

Viimeisessä vaiheessa sovelluksen lähdekoodi kopioitiin paketissa palvelimelle. Paketti purettiin palvelimella ja lähdekoodeista käännettiin web-palvelimelle ajokelpoinen versio. Lopuksi testattiin, että sovellus toimii osoitteessa https://app.ymparistokioski.fi (kuvio 5). Sovelluksen julkaisusta tiedotti ProAgria Oulu.

Kuvakaappaus Ympäristökioski-sovelluksen kirjautumissivusta.
KUVIO 5. Ympäristökioski-sovelluksen aloitussivu. Kuvio avautuu isommaksi klikkaamalla.

Ylläpitovaihe ennen luovutusta

Joulukuussa 2022 tehdyn käyttöönoton jälkeen alkoi ylläpitovaihe. Ylläpitovaihe ennen luovutusta ProAgria Oululle koostui kaikista kuviossa 1 esiintyvistä ylläpidon osa-alueista sekä käyttäjämäärän seuraamisesta, joka on tasaisesti kasvanut ylläpitovaiheen aikana.

Palvelimen ylläpidon tärkein tehtävä on huolehtia siitä, että sovellus toimii palvelimen osalta moitteettomasti. Palvelimen ohjelmistot pitää myös päivittää. Päivityksille ei suunniteltu mitään tiettyä aikataulua mutta ne ajettiin vähintään kaksi kertaa kuukaudessa. Muutaman kerran palvelin käynnistettiin uudelleen. Yleensä uudelleenkäynnistys tehtiin päivitysten jälkeen, koska päivityksestä huolehtinut ohjelmisto suositteli sitä.

Hallinnan ja ylläpidon luovutus

Koska Ympäristöviisas viljelijä -hanke päättyi, sovelluksen hallinta ja ylläpito luovutettiin Oamkilta ProAgria Oululle. Luovutettaviin asioihin sisältyi ymparistokioski.fi-domain, Zonerilta ostettu palvelin, GitHub-palvelussa olevat sovelluksen lähdekoodit sekä Google Firebase Realtime Database -tietokanta käyttäjätietoineen.

Ennen ylläpidon luovutusta sovelluksen tietosuojainfo vaihdettiin ProAgria Oulun tietosuojainfoon. ProAgria Oululle toimitettiin kehittämisehdotukset sisältävä dokumentaatio, joka kattaa kaikki kuviossa 1 esitetyt ylläpidon osa-alueet.

Ohjelmiston elinkaaren pituuteen voi vaikuttaa

Ohjelmiston käyttöönotto on useita tehtäviä sisältävä vaihe ohjelmiston elinkaaressa. Selaimella käytettävän verkkosovelluksen tapauksessa käyttöönoton huolellinen suunnittelu on tärkeää, koska käyttöönottoon sisältyy sovelluksen käyttöönoton ohella myös palvelimen käyttöönotto. Ylläpitovastuu ei siten rajoitu pelkkään sovellukseen vaan myös palvelimeen ja Ympäristökioski-sovelluksen tapauksessa lisäksi Googlen pilvessä olevaan tietokantaan käyttäjätietoineen.

Käyttöönoton jälkeen alkoi ylläpitovaihe, joka päättyy sovelluksen käytöstä poistamiseen tai sovelluksen ohjelmistoteknologiseen uudistamiseen sillä seurauksella, että enää ei voida puhua samasta sovelluksesta. Kun ylläpidon eri osa-alueet on huomioitu ajoissa, ohjelmiston elinkaaren piteneminen on todennäköisempää.



Pekka Ojala
lehtori
ICT ja liiketoiminta
Oulun ammattikorkeakoulu

Muut hankkeen julkaisut Oamk Journalissa

Lähteet

[1] Codefresh. Software Deployment in 2023: Checklist, Strategies & Tips. Hakupäivä 19.5.2023. https://codefresh.io/learn/software-deployment/

[2] HackerNoon. Software Maintenance Types: Corrective, Adaptive, Perfective, and Preventive. Hakupäivä 19.5.2023. https://hackernoon.com/what-do-you-need-to-know-about-software-maintenance-types-as-an-engineer-421335fl

[3] ProAgria Oulu. Maa- ja kotitalousnaiset Oulu. 2022. Ympäristöviisas viljelijä -hankkeen verkkosivut. Hakupäivä 19.5.2023. https://www.proagriaoulu.fi/fi/ymparistoviisas-viljelija/

[4] Alatalo, A., Käyhkö, V. & Ojala, P. 2022. Ympäristökioski-sovellus kutsuu viljelijää suunnittelemaan ympäristövastuullisia toimenpiteitä. Oamk Journal 130/2022. Hakupäivä 19.5.2023. http://urn.fi/urn:nbn:fi-fe2022082956610

[5] Ojala, P. 2022. Ohjelmiston jatkuvaa käyttöönottoa pilotoitiin veikkauskisasovelluksella. Oamk Journal 159/2022. Hakupäivä 19.5.2023. http://urn.fi/urn:nbn:fi-fe2022091959511