Yes We Can – Etuovi.com

Tätä kirjoittaessa 31.5.2014 on saavutettu merkittävä piste suomalaisten verkkopalvelujen historiassa. Yksi Suomen web-historian tunnetuimmista palveluista, asunnonvälityksen markkinajohtaja Etuovi.com, on uudistettu kokonaan. Palvelun historia alkaa jo vuodesta 1996 nimellä dime.net ja seuraava uudistus sekä nimen muutos Etuovi.comiksi tehtiin vuonna 2001. Vanha järjestelmä on edelleen pitänyt pintansa kilpailussa, mutta nyt kolmetoista vuotta myöhemmin järjestelmä on ymmärrettävästi teknisesti vanhentunut. Alma Media tiedosti haasteet ajoissa ja alkoi suunnitella uutta järjestelmää huolella.

Olen itse saanut olla viime kuukaudet mukana Alma Mediapartnersin kehittäjätiimissä Etuovi.com -projektin loppusuoralla. Kevään teemana on ollut ”Yes We Can” ja se on näkynyt mm. toimiston seinällä olevan oheisen julisteen muodossa sekä asiantuntevan tiimin esimerkillisenä sitoutumisena yhteiseen tekemiseen. Erityisesti tämä on näkynyt viimepäivien työpanoksessa; hommia on painettu arkipyhät ja viikonloput.

obama

Alma Media on tarjonnut hyvät puitteet tekemiselle ja myös tällainen ulkopuolinen konsultti on tuntenut olonsa mukavaksi. Tiimiä on hemmoteltu omalla kahvilla, virvokkeilla, hedelmillä, pähkinöillä ja lisäkannustusta on tuonut käytävällä kaikkien nähtävillä oleva laskuri. Kuva on otettu reilut neljä päivää ennen h-hetkeä. Armottomasta laskurista huolimatta kaikki saatiin valmiiksi julkaisua varten ja uusi Etuovi julkaistiin täsmälleen aikataulun mukaisesti.

samikallio

Älä luota Open Sourceen

Uuden Etuoven perusta rakennettiin jo vuonna 2012, jolloin Alma Mediapartnersin ja Goforen yhteinen tiimi ryhtyi suunnittelemaan Alman tulevien online-palvelujen arkkitehtuuria ja toteutti sovellusrunkoa palveluille. Tähän työhön perustuvat Alma Mediapartnersin uudet verkkopalvelut, Etuovi.comin asuntoportaalin lisäksi mm. sisustus.etuovi.com. Kuten useimmat verkkopalvelut nykyään, myös Etuovi.com hyödyntää vahvasti Open Source -teknologiaa.

Tältä ajalta on peräisin myös viimeisen viikon pahin blokkeri. Huomattiin, että kovan kuormituksen alla tietyt toiminnot käyttöliittymästä hajoavat täysin. Kuulin ongelmasta ensimmäisen kerran keskiviikkoiltana ja käytin sen tutkimiseen jonkin verran aikaa. Syy jäi kuitenkin vielä keskiviikkona kaikille mysteeriksi. Alma Mediapartnersin kehittäjät työskentelivät koko helatorstain ja syy blokkeriin selvisi. Perjantaiaamuna korjaus oli valmis ja minulle jäi tehtäväksi korjauksen katselmointi. Syynä oli kaksi vuotta sitten tekemäni CDN-koodi, jossa oli rinnakkaisuuteen liittyvä virhe. Kovan kuorman alla potentiaalinen race condition realisoituu ja tässä tapauksessa se ilmeni niin, että samoja resursseja mm. JavaScript-tiedostoja ladattiin monta kertaa. Tämä taas hajotti käyttöliittymän JavaScriptit kokonaan ja siten koko käyttöliittymän.

Käytetty CDN-koodi oli osa Apache-lisensoitua komponenttia ja kävin tietysti tarkistamassa komponentin nykyisen tilan; sama virhe oli edelleen siellä. Voiko tästä oppia jotain? Ainakin sen, että avoimen koodin kirjastoista voi löytyä vakaviakin virheitä. Toisaalta vastaavia on löytynyt myös kaupallisista kirjastoista, joten tämän perusteella ei voi kategorisesti tehdä eroa avoimen ja kaupallisen koodin välillä. Kaksi asiaa tästä ainakin kannattaa ottaa opiksi: käytettävien kehysten, kirjastojen ja komponenttien valinta vaatii huolellisuutta, asiantuntemusta ja usein järjestelmällistä tarkastelua ja vertailua. Tämän lisäksi on tärkeää tehdä kunnolliset testit ja erityisesti suorituskykytestit yhdistettynä toiminnalliseen testaukseen, kuten Etuovi-projektissa tehtiin.

Propsit Mediapartnesin kavereille virheen löytämisestä ja korjaamisesta!