Loading...

Articles

Magento 2 tehniline võimekus ja selle tegelik kasu kaupmeestele

 

Kui Magento 2-ga esimest korda tutvust tegin, kavatsesin kirjeldada back-end funktsionaalsust ja täiustatud kasutajaliidest. Kasutajaliidest on küll päris palju uuendatud, aga M2 kasu kaupmeestele võrreldes M1-ga kirjeldab see vähe. Tegelik kasu ei peitu üldse seal.

Tõelise kasu – näiteks lühem aeg turulejõudmiseni (time to market, TTM) ja skaleeritavus – saab aga vahetult välja lugeda toote uuest struktuurist.

Soov pidevalt areneda ja leida üles täiustamist vajavad kohad tuleneb vajadusest skaleerida üles- ja väljapoole. Kiiresti liikuvas ärimaailmas tähendab paigalseis ettevõtte aeglast hävingut.

Skaleerida soovivad kaupmehed peaksid keskenduma uute funktsioonide kiiremale kasutuselevõtmisele ja turulejõudmiseni kuluva aja lühendamisele. Rohkem aega tuleks kulutada arendusele ja vähem vigade parandusele.

Ootused ja tegelikkus on muidugi kaks iseasja, aga nähtu põhjal võin öelda, et M2 lähendab neid kindlasti märgatavalt.

M2 on üles ehitatud isoleeritud üksustele ja konteineritele. Tänu sellele kaob ära innovatsioonirisk, sest vähem on üksteist tehniliselt mõjutavaid aspekte, mille tõttu tavaliselt asjad kokku kukuvad. Oleme seda näinud – tekib doominoefekt, klotsid aina kukuvad ja kukuvad... . Kogu M2 mõte ongi kasutada eraldiseisvaid üksuseid ja konteinereid. Esmapilgul võib see tunduda täieliku isolatsioonina, kuid nii see tegelikult ei ole.

Demac Media tegevjuhil ja asutajal Matt Bertullil on M2 ja M1 võrdlemiseks väga hea analoogia:

Lego klotsid versus Play-Doh.

Kujuta ette, kuidas laod klots klotsi haaval selge struktuuri, ja võrdle seda struktuuritu plönniga, mille saaksid vorpida Play-Doh’st. Kui mõelda, millist mõju see avaldab aastate jooksul projekti arendamisele, siis plönnist saab lõpuks lihtsalt suurem plönn.

M2 moto on „Move fast and break things“. See muudab lihtsamaks agiilse arendamise, mis omakorda jällegi suurendab kõiki M2 eeliseid – aeg turulejõudmiseni, riskijuhtimine, paindlikkus jne.

Jõudluse optimeerimine

Magento 2 ja jõudluse optimeerimine on põnev teema. On loogiline, et kliendid hakkavad kiiruse nimel optimeerimisele tõsisemalt mõtlema siis, kui suureneb poe liiklus ja seetõttu ka tulu. Esiteks peab selle eest maksmiseks peab olema piisavalt vahendeid ning teiseks peab lehe külastajate arv olema niivõrd suur, et isenesest on vajadus olemas.

M1-ga oli jõudluse optimeerimine üsnagi suur ülesanne – see oli aeganõudev ja mõned osad nõudsid järjepidevat tööd. Näiteks oli meil klient, kes ei soovinud nii kiiresti edasi liikuda, et võtta kasutusele Varnish, kuid tahtis järgida Google PageSpeed Insightsi soovitusi.

Valdav osa nendest oli seotud brauseriga, näiteks CSSi, HTMLi ja Javascripti pisendamine. Tähtis oli ka pilte optimeerida. Nii et keskendusime võimalikult suure andmehulga tihendamisele ja sellele, et optimeerida, mis millal laadib.

Pärast kohendusi saime tulemuseks kobeda 90%. Kui mingil põhjusel peaks aga juhtuma, et meie klient ei ole oma bännerite ja graafika optimeerimisel järjepidev, langeb osakaal jälle keskpärasele 60–70%-le. Seejuures tasuks märkida, et keskendusime ainult kliendi piltiderohkele esilehele ja paarile muule sisulehele. Lõpuks kulutasime kokku 30 tundi oma kliendi harimisele ja kiiruse optimeerimisele sellisel viisil.

M2-ga on see kõik juba kaasas ja Magento test näitab, et automaatne andmetihendus vähendab visualiseerimist kuni 50%. Kuid M1-le kulutatud 30 tundi oleks võinud pühendada hoopis uutele funktsioonidele.

Natukene asjade tehnilisest poolest...

M2 tarkvara on ümber projekteeritud, see on nüüd stabiilsem ja lollikindlam. Et eri aspektid üksteist ei mõjutaks, kasutab M2 uusimaid tarkvara projekteerimismustreid ja nagu eespool mainitud, on tulemuseks modulaarsem ja stabiilsem süsteem.

Esiteks kaasneb tootega FPC ja Varnishi vahemälu toetus ning serverit ei ole vaja eraldi seadistada. M1-s oli alati suur töö Varnishi eriatribuutide ja värvivalikute seadistamine nii, et need töötaksid navigatsioonifiltrite tarvis endiselt üle AJAXi päringute. Sellele järgnes alati mitmeid ühilduvusparandusi.

Tootega kaasneva failisüsteemi vahemälu saab asendada Redis vahemäluga, mis suurendab kiirust märgatavalt. Veebipoe kiirust ja jõudlust suurendab ka M2 toetatav PHP 7, mis on 50% kiirem kui PHP5.

Sellele lisandub veel single-tenant kompilaator, mis valmistab M2 poe ette koheseks kasutamiseks. Kompilaator tihendab kataloogi ja teemapilte, genereerib automaatselt laaditavad klassid, „soojendab üles“ vahemälud jne. Varem tuli seda teha eraldi, aga M2-ga ei ole see vajalik ja ajasääst on tohutu.

M2-s on ostukorvi hinnareeglite funktsioon ümber kirjutatud nii, et piiranguid enam ei ole. See tähendab, et ostukorvi hinnareegleid võib olla piiramatu arv, kuid see ei aeglusta ostukorvi toimimist. M1-ga oli see probleemiks.

M2-s on ka otsingutulemused juba alguses väga täpsed, vastused leitakse palju kiiremini ja kiirus ei sõltu enam otsingutulemuste hulgast nagu varem. See aga tähendab, et kolmandate osapoolte laiendusi ei ole enam väiksemate nõudmistega klientide puhul kohe algselt vaja kasutada.

Front-end

M2 puhul on front-end rohkem nagu ühe leheküljega rakendus (single-page application). Toodete lisamisel ostukorvi ei laadita enam lehekülge uuesti ja kuvatakse kliendi isiklik info. Et kõik visualiseeritakse brauseris, väheneb back-end’i koormus ning veebisait muutub kiiremaks ja responsiivsemaks.

Nii saab klient pärast toote lisamist ostukorvi šoppamist jätkata – enam ei pea ootama lehekülje uuestilaadimist. Ostu vormistamine käib samamoodi: lehekülge ei laadita uuesti, mõned lehekülje osad lihtsalt visualiseeritakse uuesti siis, kui klient on täitnud tellimuse ankeedi.

M2 arendajad on integreerinud tootesse uusi tehnoloogiad, mis muudavad front-end’i stabiilsemaks. Üks selline on RequireJS, mis võimaldab JSi asünkroonset laadimist. See tähendab, et fail laaditakse ainult siis, kui seda on vaja. Järelikult väheneb veebiserveri koormus ja lehekülje laadimise aeg.

Ühine töö ja vaev

Magento tuli esmakordselt turule 31. märtsil 2008. Koos e-kaubanduse arenemisega on ka see aastate jooksul märkimisväärselt arenenud ja muutunud. Mis eristab suurepärast toodet teistest? Toote uute versioonide eesmärgid on määratletud selgete vajaduste ja kitsaskohtade põhjal, mis omakorda on aastate jooksul selgelt määratletud.

M2 on kättesaadav GitHubis, arenduse kulg on olnud täiesti läbipaistev. Arendajatel on end lihtne kursis hoida muutuste ja uute funktsioonidega. Selle taga on tõeliselt hea kaasava koostöö vaim. Väga hinnatakse ka läbipaistvust, mis arendamist kiirendab.

Kui M2 veel ametlikult väljas polnud, siis ka meie tiimi kaks liiget avastasid testimise käigus vigu ja tutvusid põhjalikult Magento koostöötingimustega, et parandused GitHub'i lisada.

On raske end tehnoloogiamuudatustega pidevalt kursis hoida. Iga päev mingi pisiasi lisandub, muutub või aegub. Sama lugu on M2-ga, kuid et arendus on läbipaistev, on see kõik lihtsam. Õpitakse töö käigus ja kõik alustavad samast punktist.

Moodulite kvaliteet

Magento eesmärk on tagada kvaliteet heakskiidetud laienduste hoolika kontrollimise kaudu. Kõik me teame mitut Magento Connectis kättesaadavat M1 laiendust, mis pehmelt öeldes „päris“ hästi ei toimi. M2 turule aga ei pääse miski, mis ei läbi Magento kvaliteedikontrolli.

Et piisavalt aega kulutatakse kõigi moodulite analüüsimisele, mõeldakse ka sellele, et ei lisanduks ühtki funktsioone dubleerivat moodulit.

Näiteks kui me M2-ga alles tutvusime, tegime Eugenile ülesandeks ehitada õppimise käigus üks moodul. Eugen ehitas mooduli, millega saab ostu vormistamisel valida tarnekuupäeva.

PS. Selle kohta saad lugeda Eugeni postitust siin: Magento2 Delivery Date Module - Creation from Scratch.

Tegime kontrolli läbi ja saime vastuseks, et see funktsioon on juba olemas ja duplikaate vastu ei võeta. Tahtsime selle lisada tasuta moodulina, nii et asi võis osaliselt ka selles olla, aga jällegi on see tegelikult hea märk.

Magento sõnum on väga selge: turul ei mingit jama ega ebavajalikku müra. See tähendab, et ei ole mõtet ehitada mooduleid lihtsalt selleks, et neid oleks palju, nagu on aastate jooksul saanud tavapäraseks M1 puhul. Arendajad ehitavad kvaliteedi nimel – vähem jama kõigile.

Tulles tagasi Lego klotside ja Play-Doh’ juurde, on tänu Magento uuele arhitektuurile palju tõenäolisem, et moodulid toimivad koos ega lähe katki üksteist tehniliselt mõjutavate aspektide tõttu.

Kui peaks tekkima suuri probleeme, leitakse need kontrolli käigus üles ja kahtlased moodulid ei näe õnneks kunagi päevavalgust. Lisaks kontrollitakse, et turul ei oleks plagiaate, ja moodulite paigaldamisel või uuendamisel saab jälgida oma poe stabiilsust.

See on hea uudis ka igale alles alustavale poeomanikule. Neil on võimalus teha rohkem ilma arendaja abita ja väheneb kolmandatele isikutele saadetavate pikkade klienditoe e-kirjade arv.

Admin UI ja UX-i kasu

Kasutajaliidese disain on muudetud mobiilikeskseks. Üsna tööstusliku väljanägemisega M1-l see puudus. Kui aastaid tagasi hakkasin Magento administraatoriks õppima, tundus see üle jõu käiv ja disain ei teinud asja just paremaks. Praegu alustavad kaupmehed hindavad kindlasti uut korralikku kasutajaliidest ja kasutajakogemust.

Võtan järgnevalt kiiresti kokku, milliseid aspekte on täiustatud. Näiteks on mõnes kategoorias asju ümber paigutatud, et neid oleks lihtsam leida. Lisaks saab nüüd seadistada tellimus- ja tootetabelite kõiki lahtreid, mis ei olnud enne võimalik.

Kui nüüd oleks soov leida kõik kindla makseviisiga ja veel mingite tingimustega tellimused, on see juba toote kasutuselevõtmisel võimalik. Samuti on võimalik salvestada konkreetsed segmendid või vaated üldtabelite jaoks.

Muudatused ostu vormistamises

Konto loomine hirmutab ära paljud kliendid. Nimelt näitab statistika, et 23% klientidest jätab ostukorvi sinnapaika, kui ei saa jätkata ilma konto loomiseta. M2-s on see protsess tehtud palju lihtsamaks. Kui klient sisestab süsteemis juba olemasoleva e-posti aadressi, kuvatakse parooli sisestamise võimalused. Peale selle käib tarnetasu arvutamine nüüd kiiremini.

Kokkuvõte

Vähestel kaupmeestel õnnestub rajada edukas e-kaubandusettevõte ilma büroode või arendajate tehnilise abita. See käputäis, kes on nõus väljuma oma mugavustsoonist ja viima end kurssi tehnilise loogika alustega, mõistab tõenäoliselt palju kiiremini, milles seisneb Magento 2 kasu. Inimesed, kel on vähe või ei ole üldse tehnilisi teadmisi, vajavad aga üsna palju abi tehnilise võimekuse muutmisel tegelikuks kasuks.

EAS

Quickmage is a high availability and decentralized hybrid cloud management platform based on sophisticated proprietary machine learning algorithms that makes application production much more coherent, synoptic, efficient and affordable. Quickmage platform is supported by European Regional Development Fund in the sum of 301 500 EUR (07.08.2017 - 10.07.2018).