Tervetuloa Planeetta Internetin blogiin!

5 asiaa, jotka unohtuvat websovelluksen ylläpidossa

Kirjoittaja Lupu Pitkänen 10.8.2016 8:23

websovelluksen_yllapito-735199-edited.jpg

Websovellus on otettu tuotantokäyttöön. Kaikki toimii – kaikki hyvin. Vai unohtuiko sittenkin jotain?

Suunnittelemattomat käyttökatkot, tietomurrot, datan menetys ja vaivihkaa ilmenevät ongelmat toiminnallisuudessa uhkaavat websovelluksen käytettävyyttä. Huomioimalla websovelluksen ylläpitoon liittyvät asiat varmistutaan, että sovellus toimii koko sen elinkaaren ajan.

1. Tietoturvapäivitykset

Sovellusalustan sekä palvelimen käyttöjärjestelmän ja varusohjelmistojen tietoturvapäivitykset tulisi tehdä säännöllisesti. Parhaimmillaan nämä testataan ensin staging-ympäristössä. Päivitykset kannattaa automatisoida. Yksinkertaisimmillaan tämän voi toteuttaa konfiguraatioautomaation kuten Ansiblen avulla.

2. Lokit

Sovelluksen, sovellusalustan ja palvelinohjelmistojen keräämä lokitieto on äärimmäisen arvokasta ongelmien ennakoinnissa, havainnoinnissa ja korjaamisessa. Parhaassa tapauksessa lokit kerätään ulkoiselle syslog-palvelimelle tai pilvipalveluun, kuten Papertrailiin, mutta vähintään tulisi tiedostaa, mitä lokia kerätään ja mihin.

3. Valvonta

Websovelluksen ja koko sen vaatiman palvelinympäristön toimivuutta tulisi seurata jatkuvasti automaattisen valvontajärjestelmän avulla. Tässä työkaluina voivat olla ulkopuoliset pilvipalvelut tai omalle palvelimelle asennettu avoimen lähdekoodin Zabbix-sovellus. Valvonta tuottaa hälytyksiä, mikäli asetetut raja-arvot ylittyvät tai ongelmatilanne havaitaan, sekä historiatietoa ja graafeja kerätystä tiedosta.

Valvoa voidaan itse websovelluksen palauttamaa statustietoa esimerkiksi HTTP:llä tietystä URL-osoitteesta, sovellusalustan komponenttien, kuten web- tai tietokantapalvelin päälläoloa, ja vastaamista sekä palvelinpuolen perusasioita, kuten levytilan ja muistin riittävyyttä. Parhaimmillaan valvontasäännöt ovat ennakoivia ja varoittavat jo etukäteen mahdollisesti syntymässä olevista ongelmista. Valvonta voi myös korjata rajoitetusti havaitsemiaan ongelmia automaattisesti ja raportoida tästä ylläpitäjälle.

Sovelluksen suorituskykyä ja pullonkauloja kannattaa myös seurata palveluilla, kuten New Relicilla.

4. Varmuuskopiot

Toivottavasti sovelluskoodi ja palvelinten konfiguraatio ovat jo tallessa versionhallinnassa niin, että ne voidaan ottaa tarvittaessa nopeasti käyttöön uudelle palvelimelle.

Sovellusten palvelimille keräämä data (kuvat, tietokantatietueet) ovat kuitenkin kallisarvoista tietoa, jotka eivät saa kadota. Nämä tulisi varmuuskopioida ajastettuna automatisoidusti erilliseen järjestelmään. Myös tätä prosessia tulisi valvoa ja palautuksia testata testiympäristöön.

Tietokantojen varmistuksissa ei usemmiten riitä tietokannan tiedostojen kopiointi vaan erilliset varmistukset, esimerkkeinä MySQL-puolella mysqldump ja Percona XtraBackup. Kriittisissä järjestelmissä klusteroitu, usean palvelimen tietokanta tai replikointi on suositeltavaa.

5. Muutostenhallinta

Muutoksista tulisi aina pitää kirjaa, jotta voidaan varmistua mahdollisten ongelmien aiheuttajista ja tarvittaessa palata taaksepäin toimivaan versioon.

Palvelimen konfiguraation osalta konfiguraatioautomaation käyttö ja konfiguraation ylläpito versionhallinnassa ratkaisevat tämän hyvin pitkälti. Lisäksi jokaisesta projektista olisi tärkeää pitää erillistä muutoslokia (changelog), johon muutokset kirjataan tekijän toimesta sanallisesti.

Lue myös blogini asioista, jotka kannattaa muistaa websovelluksen käyttöönotossa.

Webhostingin evoluutio - katso webinaaritallenne

 

lupu-170px.jpg

Kirjoittaja Lupu Pitkänen

Lupu toimii Planeetan järjestelmäasiantuntijana.

 

Aihe: webhosting

Planeetta somessa:

Tilaa kirjoitukset sähköpostiisi

Uusimmat kirjoitukset