Jäta menüü vahele
Tarkvaraarenduse trendid 2018. aastal

Blogi

Tarkvaraarenduse trendid 2018. aastal

Aasta 2018 tuleb tarkavaraarenduses äärmiselt huvitav. Uued tehnoloogiad jõuavad massidesse. Kiire areng toob aga ka küsimused turvalisuse ja privaatsuse kohta. Kui kaugele oleme valmis tehnoloogiaga minema?

Rene Korss

02.02.2018

Plokiahel (blockchain) saab teenitud tähelepanu

Mis on plokiahel?

Plokiahel (inglise keeles blockchain) on lühidalt öeldes uus andmebaasitehnoloogia, mis on jaotatud ehk hajutatud kõigi osapoolte vahel. Seega on andmebaas sünkroonitud korraga mitmes kohas, mis tagab andmete korrektsuse ja säilimise.

Esimest plokiahelat tutvustati 2008. aastal isiku või grupi isikute poolt, tuntud kui Satoshi Nakamoto. Antud plokiahel on põhikomponendiks maailma esimesele krüptorahale nimega Bitcoin. Plokiahela kasutamine krüptorahas lahendas topelt kulutamise probleemi, sest pole enam tarvis keskset organisatsiooni või serverit.

Turvalisus

Plokiahela tehnoloogia peamine eelis peaks olema selle turvalisus. Kuid uusi tehnoloogiaid on enamasti raske usaldada ning see paradoks on vältimatu.

Vitalik Buterin, Ethereumi looja

Plokiahel on turvaline juba disainilt. Süsteemi hajutatud ülesehitusega on saavutatud detsentraliseeritus, mis tähendab, et funktsioonid ja võim on keskselt reguleerivalt asutuselt ära liigutatud.

Tagatud turvalisus muudab plokiahela ideaalseks andmekogu hoidmise tehnoloogiaks. Näiteks võiks seal hoida inimeste identiteedi- ja meditsiiniandmeid või ehitada üles globaalne autoregister, kuhu registreeritaks kõik maailma autod oma andmete ja ajalooga. Kuna ahel on detsentraliseeritud, ei ole võimalik andmeid muuta või üle kirjutada. Kuna iga kirje ahelas omab sama suurt kaalu kui iga teine ja esineb igas koopias, ei ole tegu vaid detsentraliseeritud süsteemiga, vaid ka täielikult jaotatud süsteemiga. Süsteemi ülesehitust kirjeldab allolev joonis.

blockchain distributed
Jaotatud (distributed), tsentraliseeritud (centralized) ja detsentraliseeritud (decentralized) süsteem.

Kasutusvõimalused

Vaid mõned näited võimalikest kasutusvõimalustest. Tegu on siiski niivõrd universaalse lahendusega, et kasutusvõimalusi on teoreetiliselt piiramatult.

Krüptoraha

Krüproraha valuuta muudab raha kontsepti otse arvutitega seotuks. Seeläbi toimib kõik läbi arvutisüsteemide ning ei vaja enam väliste institutsioonide või kolmandate osapoolte valideerimist.

Naval Ravikant, AngelList CEO

Hetkel on peamisteks plokiahela rakendusteks krüptorahad, nagu Bitcoin, Litecoin, Ethereum jpt. Ethereum-i puhul on tegu tehnoloogiaga, mis lisas plokiahelale tarkade lepingute toe.

Targad lepingud

Targad lepingud (smart contract) võimaldavad tagada osapoolte kokkuleppe täitmise ilma keskse asutuseta. Osapooled saadavad lepingu plokiahelasse, koos tingimustega. Nii kui üks osapool täidab oma osa, vallandub lepingus kokkulepitud tehing.

Näitena on võimalik plokiahelas hoida autoriõigusi, kasvõi muusikute lugusid, mida mängides saaks autor tasu koheselt. Täna on see tsentraliseeritud – autorid saavad oma tasu Eesti Autorite Ühingult, st vahendajalt, mitte otse raadiojaamalt. Tarka lepingut on äärmiselt lihtne kasutada ka uudiste, blogiartiklite, videote jm digitaalsete toodete puhul.

Asutused

Andmekogude, nagu autoregister, kinnistusregister, maaregister, äriregister, plokiahela tehnoloogiale viimine tähendaks riigile ja elanikele väga suurt kokkuhoidu ajas ja rahas. Kui hetkel peavad osapooled kinnisvaratehingu puhul minema notarisse (kolmas osapool, mille plokiahel asendab), et tehingut tõestada, siis plokiahelaga oleks võimalik samaväärne tehing teha minutite jooksul. Peale tehingut muutuvad omaniku andmed automaatselt plokiahelasse lisatud targa lepinguga, misjärel sünkroonitakse vastav info igasse koopiasse. Nii teavad kõik, kaasa arvatud riik, kes on kinnisvara omanik.

Võrdluseks võib tuua digiallkirjastamise, mis on võrdsustatud tavalise allkirjaga. Sama hästi võiks olla plokiahelas osapoolte poolt digiallkirjastatud leping võrdne notari juures allkirjastatuga.

Potentsiaalsed riskid

Sisendi viga

Kuna plokiahel on muutumatu andmebaas, peab sisseminev info olema kvaliteetne. Kehtib garbage in, garbage out printsiip. Kui sisestatakse ebakvaliteetne info, tuleb ka välja ebakvaliteetne info.

Vältimatu turvaauk

Plokiahela puhul on teadlikult olemas turvaauk, mille ärakasutamine muudaks andmekogu väärtusetuks, kuna seda on võimalik manipuleerida. Turvarisk on tuntud kui 51% rünnak (51% attack, majority attack). See tähendab olukorda, kus üle poole võrgus olevatest osapooltest lepivad kokku, et saadavad süsteemi valeinfot. Kui 51% ütleb, et info on õige, saabki valest õige ja selle sünkroonivad nüüd ka kõik teised enda süsteemi. Antud probleemi tõstis esile ka Satoshi Nakamoto, kui avalikustas Bitcoini.

Sellest tulenevalt jälgib avalikkus pidevalt, et keegi ei saavutaks võrgus sellist ülekaalu. Bitcoini kaevandamise ajaloos on olnud hetk, kus üks kogukond oli lähedal võrgu enamuse omamisele, mispeale nad ise vabatahtlikult vähendasid oma osakaalu. Kõik selleks, et ahel oleks turvaline ja aus.

Tehisintellekt

ai

Tehisintellekt (artificial intelligence) on arvutiteaduse haru, mis jäljendab senini vaid inimesele omaseks peetud tegevusi, nagu mõtlemine ja õppimine. Internetis arutletakse pidevalt selle üle, kas ja kuna tehisintellekt inimese töökeskkondades välja vahetab. Arutletakse ka eetilisuse, privaatsuse ja turvalisuse üle. Ilmselt tehisintellekt siiski tööturgu nii suurel määral ei mõjuta, kui kardetakse ja kindlasti ei tee seda sel aastal.

Virtuaalsed assistendid

Üks valdkond, kus tehisintellekt kindlasti suurt rolli mängib, on virtuaalsed assistendid, nagu Siri, Google Assistant ja Cortana. Need assistendid suudavad tulevikus, kasutades tehisintellekti kiirelt arenevaid võimeid, abistada inimest senisest veel rohkem ja paremini.

Virtuaalsed assistendid õpivad ära inimese tavad, rutiini, meeldivused jms. Lähtuvalt eelnevast infost suudavad nad pakkuda sobivat infot. Ja ise käitumismustrite põhjal uusi seoseid luues ka sellist infot, millest võiks arvata, et assistent pole võimeline.

Analüüsides internetist tehtud oste ja hetke ilma, võiks assistent kasutajale pakkuda välja, mida selga panna. Või teades toidupoest ostetud toodete andmeid (mis on juba võimalik), välja pakkuda erinevaid retsepte, mida kodus järgi proovida. Selle aasta märksõna tehisintellekti maailmas on selle arengu kiirenemine, kuna analüüsivõimet arendatakse edasi meeletul kiirusel. Tehisintellektid suudavad teha otsuseid loogilisuse, mustrite õppimise, järeldamise, kogemuse põhjal ja sisendiks kasutada nägemist ja kõnet. Tehisintellekt leiab üha rohkem kasutust ka inimeste igapäevatoimetustes, mitte ainult tööstustes.

Asjade internet

iot
Concept of smart home and control device. Technology device, system mobile automation, monitoring energy power, electricity efficiency, equipment temperature, remote thermostat illustration

Asjade internet (internet of things) on interneti kaudu seotud asjade võrk, mis kasutaja ja üksteisega infot vahetavad. Inimeste kodudes on sellised seadmed juba aastaid, näiteks nutitelefonid, külmkapid, pesumasinad, autod, aktiivsusmonitorid jne. Targa kodu võimalused ja integreerimine laieneb, kuna antud seadmed on arenenud väga kiirelt ja pakuvad suurepäraseid praktilisi võimalusi.

Näiteks võiks küttesüsteem olla ühenduses termostaadiga ja koduste kaamerate või valvesüsteemiga. On teada, kas keegi on kodus, mis on hetke temperatuur väljas ja sees. Nii saab süsteem teha otsuse temperatuuri vähendamiseks, kui kedagi kodus ei ole. Tuvastades, et keegi kodustest on koju saabumas (läbi auto, nutitelefoni või nutikella) on aeg tõsta temperatuur tavaliseks. Nii säästetakse raha ja energiat.

Asjade internetti ei võeta enam kui lihtsalt kogumit mõnest andurist. See ühendatakse nüüd tehisintellektiga, mis suudab andmeid töödeldes teha järeldusi ja vastavalt sellele juhtida asjade võrku.

Kokkuvõttes töötavad kõik võrgus olevad seadmed ühiselt, tehes otsuseid erineva info ja mustrite põhjal. 2018 saab olema aasta, kus üha enam inimesi avastavad selle võlu.

Suurepärane näide asjade interneti kasutusest on Eliko Kalaranna SmartStreet lahendus, millega saab reaalajas keskkonna infot uurida ja mis optimeerib energiakasutust. Süsteem teeb andurite abil järeldusi liiklusest ja ummikutest, musta jää ohust ja sellest, kas tänava müratase on ohutu. Vastavalt inimeste ja autode arvule reguleeritakse valgustatuse taset, mis aitab kokku hoida energiat. Samuti on näha aastane sääst eurodes, mis näitab hetkel lausa 5121 eurot säästu valgustuse pealt.

PHP 7 ja Laravel 5

laravel

PHP on jätkuvalt populaarne serveripoolne programmeerimiskeel. Suuresti aitab sellele kaasa ka PHP 7.x versioonide arendamine, mis on teinud PHP varasemast tunduvalt kiiremaks ja funktsionaalsemaks. Lisatud on mitmeid suurepäraseid võimalusi, nagu null liitumise operaator (null coalesce operator), grupeeritud use deklaratsioonid (group use declarations), anonüümsed klassid (anonymous classes) jne.

PHP-maailmas on ülipopulaarseks saanud Laravel raamistik, mis on Github-i andmetel kõige populaarsem PHP raamistik, jätkates oma võidukäiku. Laravel on arendaja väga hea sõber, sest pakub lihtsaid lahendusi keerulistele probleemidele, omab suurt kogukonda ja palju valmislahendusi, mida oma projektides kasutada. Dokumentatsioon on eeskujulik ja hästi loetav.

Raamistik kasutab levinud MVC struktuuri, mis on enamikule arendajatest koheselt arusaadav. Samuti on koodibaas kommenteeritud, puhas ja hästi struktureeritud. Laraveli paindlikkus ja võimalused on teinud sellest enamuse number üks valiku ükskõik kui suurte projektide puhul.

Lavareliga ei ole minu töö tehtud enne, kui isegi selle pahupool on puhas. Ja see on nauditav.

Taylor Otwell, Laraveli looja

Laravel saab uuendusi vähemalt mõne kuu tagant, mis tagab raamistiku ajakohasuse. Raamistiku looja Taylor Otwell on kogukonnas aktiivne ja kuulab kogukonna arvamust, mis on kindlasti kaasa aidanud raamistiku populaarsusele.

BaaS

BaaS ehk backend as a service on mudel, kus erinevad rakendused (veebi, mobiili jne) ühendatakse ühtselt serveripoolsesse andmevaramusse. Põhiliselt on serveriga suhtlemisel kasutusel SDK-d ja API-d, mis võimaldavad igal rakendusel ühtselt suhelda andmebaasiga ja teenustega, mis on rakenduste tööks vajalikud.

BaaS on kasvatanud oma populaarsust just seepärast, et tänapäeval nõuavad enamik rakendusi väga sarnaseid ressursse, näiteks ühendused sotsiaalvõrkudega, pilvemajutusega, teavitustega jne.

Lahendust kasutades ei pea arendajad taustaprogramme igale rakendusele uuesti arendama, seega hoitakse kokku raha ja aega. Näiteks faili üleslaadimise taustaprogrammi tegemine eraldi veebi- ja mobiilirakendusele ei ole mõistlik. BaaS’i kohaselt tehakse mõlemast rakendusest päring API-le, mis laeb faili õigesse kohta ja vastab selle tulemusest. Rakendused jätkavad tööd vastavalt API vastusele. Üleslaadimise loogika on seega kirjutatud vaid ühe korra. See tähendab vähem ajakulu ka siis, kui üleslaadimise loogika mingit moodi muutuma peaks: kasvõi faili suuruse piirang vms.

Kokkuvõte

Plokiahel on kindlasti see aasta peamine teema, mis jõuab suurde pilti läbi tehnoloogiaportaalide, uudiste ja inimeste enda. Viiakse end rohkem plokiahelaga kurssi ja tööstuharud mõistavad, kui suurepärane võimalus on tänu sellele saavutada eelis konkurentide ees. Mitmed nö suured tegijad jäävad tahaplaanile ja kaotavad turul osakaalu, kuna ei suuda uusi arendusi piisavalt kiirelt implementeerida, kuigi ressursid selleks on olemas.

Veebitarkvara arenduses saavutatakse üha paremaid tulemusi kiiruse ja efektiivsuse osas – töötava teenuse loomine on lihtsam kui kunagi varem. Vabavaraline tarkvara kasvatab populaarsust. Arendajad soovivad üha rohkem kuuluda kogukondadesse, mis neile meeldivad. Ühiselt saavutatakse suuri tulemusi.

Teemad: