Olen ollut jo pitkään samaa mieltä tämän artikkelin kirjoittajan kanssa. Hän ei saa kovin paljon ymmärrystä kehittäjäyhteisöiltä. Muiden kehittäjien mielestä kirjoittaja on kokematon, eikä vielä ymmärrä softakehityksen väistämätöntä monimutkaisuutta.

Minusta taas kirjoittaja katsoo pidemmälle. Maailma on edennyt sellaiseen vaiheeseen, jossa isoja palasia web-sovelluksista saa hankittua valmiina pilvipalveluina. Esimerkiksi käyttäjien rekisteröitymistä ja sisäänkirjautumista ei ole enää pitkään aikaan kannattanut koodata itse. Nyt sama ilmiö laajenee muillekin alueille.

Artikkeli ennustaa GraphQL:stä isoa murrosta. Kun jokin ongelma ratkaistaan kertaalleen, ratkaisun eteen pultataan GraphQL-rajapinta. Sen jälkeen käytetään vastedes tätä valmista ratkaisua. Ei enää keksitä pyörää yhä uudelleen ja uudelleen.

Minusta GraphQL ei ole tässä yhteydessä välttämätön teknologia. Se voi kyllä tehdä komponenttien paketoimisesta käytännöllisempää.

Serverless-paradigman yleistyminen on sen sijaan aivan ratkaisevaa. Sen ansiosta pilvisovelluksilla on vihdoin yhteinen natiivialusta. Alusta toimii juuri oikealla tasolla, jotta sovellukset skaalautuvat käyttäjämäärien kasvaessa ja pysyvät pystyssä automaattisesti. Aiemmat Ruby on Railsin kaltaiset alustat ovat olleet väärällä tasolla. Niitä on täytynyt ylläpitää ja päivittää käsin. Sama, kertaalleen kehitetty ratkaisu ei ole sopinut kaikille.

Käyttäjäkirjautumisen lisäksi alkaa pian löytyä kasvava kirjo erilaisia valmiita pilvikomponentteja, jotka ratkaisevat yleisimmät ongelmat. Ne pohjaavat ennen kaikkea Serverless-teknologiaan. Näitä komponentteja voi yhdistellä osaksi omia sovelluksia REST-, GraphQL-, OAuth2- ja JWT-rajapinnoilla. On hyvin mahdollista, että esimerkiksi Amazonin DynamoDB-tietokannan ja muidenkin pilvipalveluiden eteen alkaa muodostua vakioituja GraphQL-kyselyrajapintoja. Tällöin GraphQL:stä saattaisi vihdoin syntyä se kilpailevatkin pilvialustat yhdistävä linkki.

Totean vielä lopuksi, että itse uskoin pitkään Dockerin ja konttiteknologian olevan oikea taso pilvikomponenttien kehittämiseen. Aikani konttien parissa puuhailtuani tulin kuitenkin siihen tulokseen, että niiden taso oli edelleen liian matala. Konteissa oli liikaa ylläpitämistä ja päivittämistä. Liian moni asia saattoi mennä pieleen, ja konttien pyörittäminen jatkuvalla "tyhjäkäynnillä" söi turhaan resursseja. Serverless taas näyttää ratkaisevan nämä ongelmat juuri oikealla tavalla.

Totean vielä senkin, että tällaisissa murroksissa ei ole koskaan kysymys sataprosenttisesta muutoksesta. Uusi paradigma muuttaa maailmasta 80%, 90% tai 99%, ja senkin vähän kerrassaan. Jäljelle jää aina myös pieni osa vanhaa maailmaa. On toinen kysymys, kannattaako siihen kuitenkaan takertua.

https://medium.com/@loorinm/coding-is-over-6d653abe8da8#.9hvlaj3bn

Published 27.6.2016