Tämä artikkeli herättää mielenkiintoisia ajatuksia. Amazonin AWS-pilvialusta tosiaan on monimutkainen. Olen kokenut sen käytännössä kehittäessäni työkseni erilaisia pilvisovelluksia yli viiden vuoden ajan. Tämä ei ole mitenkään huono asia. Se vain tarkoittaa, että AWS sopii alustaksi hyvin moneen eri tarkoitukseen.
AWS on monimutkainen samalla tavalla kuin Linux, macOS ja Windows ovat monimutkaisia. On vaikea opetella kokonainen käyttöjärjestelmä läpikotaisin, viimeistä API-rajapintaa myöten. Useimmat meistä keskittyvät johonkin tiettyyn sovellusalueeseen ja opettelevat vain siihen liittyvät toiminnot.
Kun tekee päätöksen esimerkiksi AWS:n, Azuren tai Bluemixin opiskelusta, se on vähän kuin valitsisi tietokoneeseensa käyttöjärjestelmän. Sovelluksia ei enää kehitetä käyttöjärjestelmien vaan pilvialustojen päälle. "The cloud is the new OS".
Olen artikkelin johtopäätöksistä eri mieltä. Ei käyttöjärjestelmää valita sillä perusteella, pystyykö aloitteleva ohjelmoija ymmärtämään sen kaikki toiminnot täydellisesti. Ongelma on brändäämisessä ja tuotteistamisessa. Pilvialustat vaikuttavat monimutkaisilta, koska ne työntävät kehittäjien silmille niin paljon toimintoja ja valintoja. On vaikea muodostaa selkeää mielikuvaa kokonaisuudesta.
Esimerkiksi AWS:n päävalikosta löytyy korkean tason Mobile Hub -palvelu ja matalan tason VPC-verkonhallinta. Toisella luodaan kliksuttelemalla kännykkäsovelluksia ja toisella taas hallitaan monimutkaisia IP-verkkoinfrastruktuureja. Molemmat ovat yksi pieni osa AWS:ää ja ihmiset hahmottavat AWS-brändin kokonaisuutena. Siksi nämä hyvin erilaiset ja eri tasoiset toiminnot saavat kokonaisuuden vaikuttamaan monimutkaiselta.
Juuri nyt eletään aikaa, jolloin "raakojen" pilvialustojen päälle on alkanut muodostua helpommin ymmärrettäviä sovellusalustoja. Esimerkiksi Serverless-alustasta on tullut suosittu tapa kehittää moderneja web-sovelluksia. Kun kehittää Serverless-sovelluksen, tarvitsee tuntea vain pieni osa AWS:n toiminnallisuudesta. Tämä on tervetullut abstraktio. On huomattavasti helpompaa hahmottaa mikä on Serverless-sovellus kuin mikä on AWS-sovellus.
Jatkossa onkin paljon merkityksellisempää vertailla Serverlessin kaltaisia sovellusalustoja kuin raakoja pilvialustoja keskenään. Kustakin pilvialustasta löytyy omat differoivat ominaisuutensa, mutta sovellusalusta ratkaisee miten arkinen peruskehitys toimii.