Jedan od ključnih trendova sa kojima se srećemo je ekspanzija online kupovine, koju je dodatno ubrzala kovid pandemija – u svetu, ali i u Srbiji. Zato se nismo iznenadali kada nam se obratio vlasnik jedne online prodavnice namenjene američkom i kanadskom tržištu. Kako bi ispratila nagli rast i odgovorila na izazove nove dinamike poslovanja, kompanija je odlučila da migrira svoj e-commerce biznis sa hibridne na cloud infrastrukturu. U nastavku pročitajte šta je prethodilo ovom procesu, kako je izgledao i koje su glavne prednosti cloud migracije.
Ekspanzija vežbanja kod kuće i rastući zahtevi web shopa
Webshop klijent je godinama poslovao stabilno, uglavnom beležeći rast porudžbina tokom proleća i ranog leta, u skladu sa sezonalnošću tipičnom za primarnu delatnost. Kao online prodavnica opreme i odeće za fitnes, web shop je imao najviše poseta i najveći promet u periodu od februara do avgusta. Dolaskom kovid pandemije ovaj trend se izmenio. Nakon očekivanog mirnog perioda, klijentov web shop od sredine maja 2020. je počeo da beleži rast porudžbina i do preko 200% u odnosu na 2019. Usled ovakvog rasta pokazalo se da jedan aktivni server na shared hostingu nije dugoročno dobro rešenje za online prodavnicu u ekspanziji.
Osigurajte pravo hosting rešenje za vaš e-commerce i obezbedite stabilan rast. Zakažite besplatnu konsultaciju sa našim stručnim timom
Ciljevi: brzo, isplativo i fleksibilno cloud rešenje
Temeljna analiza prethodi svakoj migraciji na cloud, a u ovom projektu bilo je važno i da se izbegnu greške karakteristične za e-commerce industriju. Krenuli smo od analize dnevnih, nedeljnih i mesečnih zahteva na klijentovoj prodavnici, odnosno od workload analize. Poseban fokus je bio na alatima, aplikacijama i servisima koji imaju uticaj na serverski protok podataka, od e-commerca do platformi za online plaćanja.
Analiza je pokazala da postoji nekoliko dnevnih “pikova” online prodavnice, koji u proseku traju oko 6 sati. Posledično, klijent je u proseku 18 sati dnevno plaćao za korišćenje veće (samim tim i skuplje) instance nego što je potrebno.
Imajući u vidu prirodu biznisa i opterećenost sajta, implementiran je na Azure App Service sa Azure Database-om za MySQL. Ova PaaS rešenja su visoko dostupna i skalabilna, što ih čini idealnim rešenjem za male e-commerce biznise koji su iskusili iznenadan rast.
Aplikacija i baza podataka klijenta na istom serveru morali su biti podeljeni u dvoslojnu arhitekturu. Na ovaj način, infrastruktura će se lakše prilagođavati daljem rastu zahteva implementacijom horizontalnog skaliranja. Sa druge strane, klijentova aplikacija rađena u PHP frameworku je bila idealan kandidat za Azure App Service, PaaS servis u Azuru koji omogućava hosting infrastrukture za različite tipove softverskih rešenja. Azure App Service pojednostavljuje primenu koda, kao i testiranje novih verzija aplikacije. Ovaj servis uključuje brojna sigurnosna rešenja i funkcionalnosti kojima upravlja Microsoft, a koji su ključni za bezbedni protok informacija na online platformi kao što je web prodavnica.
Obzirom da je svaka poseta prodavnici potencijalna kupovina, opredelili smo se da uključimo i Azure Cache for Redis, fully managed servis koji omogućava „hendlovanje“ miliona jedinstvenih zahteva po sekundi sa potencijalnom latencijom ispod mili-sekunde.
Optimizacija i priprema za dalji razvoj
Nagli rast poseta i transakcija klijenta je mesečno koštao 250 dolara. Pri tome kompanija nije bila u mogućnosti da obezbedi adekvatne odgovore na „pikove“ u potražnji, dok su u periodima manje potražnje serverski kapaciteti u velikoj meri ostajali neiskorišćeni. Migracijom na cloud troškovi su se neznatno uvećali, ali je aplikativni sloj dobio automatsku skalabilnost i mogućnost da isprati više istovremenih sesija. Azure Database for MySQL je visoko dostupan servis koji je omogućio robusniji sloj baze podataka, dok zahvaljujući load balancing rešenju dodavanje novih aplikacija ne utiče na produkcioni sistem.
Dodatna prednosti nove cloud infrastrukture za klijenta ogleda se u staging i development okruženju za testiranje novih funkcionalnosti i verzija aplikacije. App Service automatski i bez naknade nudi dodatne slotove za App Service plan. Drugim rečima, za klijenta nema dodatnih troškova development okruženja, a development infrastruktura je ista kao produkciona, čime se smanjuje mogućnost za potencijalne greške u konfiguraciji i probleme između okruženja.
Prelaskom na cloud, ovaj e-commerce obezbedio je i dobru osnovu za dalji razvoj svoje aplikacije i implementirao je DevOps procese koji će ubrzati buduću ekspanziju online biznisa.