Eden izmed glavnih ciljev je bil zagotoviti visoko dostopnost aplikacije Blockade Labs z instancami EC2 v oblaku Amazon Web Services (AWS). Ključni projektni nalogi sta bili prehod na novo tehnologijo ter postavitev novega staging in production setupa z osredotočenostjo na izboljšanje arhitekture oblaka in konfiguracije PHP ter optimizacijo stroškov na AWS.
Rezultati
Izboljšana dostopnost aplikacije je bila bistvenega pomena za poslovanje podjetja Blockade Labs, ki svojim uporabnikom zagotavlja generiranje virtualnih prikazov v zgolj nekaj sekundah. Optimalna konfiguracija PHP je omogočila ravnovesje med porabo pomnilnika in procesorja, kar je odpravilo težave z zrušitvijo strežnika .
Ustrezna optimizacija infrastrukture je omogočila tudi finančno prednost: prihranek celo 30 % pri celotni konzumaciji AWS.
Visoka dostopnost v središču
ZNaraščajoče število uporabnikov in zahtev po visoki dostopnosti aplikacij, ki temeljijo na tehnologiji AI in gostujejo na infrastrukturi AWS, je pred podjetje Blockade Labs postavilo nove naloge: rešitev infrastrukturnih težav (s prehodom na nove tehnologije), izboljšanje konfiguracije znotraj instanc EC2 in zagotavljanje optimalnega delovanja aplikacije tudi v primerih preobremenjenosti strežnika.
Čeprav so težave v začetku skušali rešiti sami, so se raje, predvsem zaradi zahtevnosti tehnoloških izzivov, odločili poiskati zunanjega partnerja. Ekipa Mainstream, ki se ponaša z bogatimi izkušnjami pri zagotavljanju ustrezno oblikovanih (well arhitected) infrastrukturnih rešitev in strokovnim znanjem pri vzpostavljanju visoke dostopnosti v okolju AWS, je podjetju Blockade Labs ponudila rešitev za prehod iz trenutnega v želeno stanje infrastrukture.
Trenutno stanje
V času, ko je podjetje angažiralo ekipo Mainstream, je stranka uporabljala spletni strežnik apache, ki pa ni mogel obravnavati velikega števila odjemalskih zahtev. Uporabljali so tudi zastarelo različico PHP (8.0), ki jo je bilo treba posodobiti.
Eden izmed ključnih ciljev projekta je bil omogočiti skaliranje oziroma povečanje in zniževanje števila instanc, da bi lahko aplikacija delovala optimalno v vsakem trenutku.
Naša rešitev
Prvi korak je bil prehod s stare na novo tehnologijo. Ekipa Mainstream je optimizirala konfiguracijo PHP 8.2, konfiguracijo Apache pa smo premaknili v konfiguracijske datoteke ngineX, kar je ustrezalo večjemu številu povezav, ki jih ima odjemalec pri uporabi aplikacije.
V drugi fazi smo na AWS implementirali storitev Auto Scaling group z izravnalnikom obremenitve (load balancer). Ta storitev je omogočila dinamično skaliranje sistema na podlagi razširitve ali zmanjšanje števila EC2 instanc. Po nastavitvi in preverjanju staging setupa smo izvedli prehod na produkcijski set-up s storitvijo AutoScaling Group in izravnalnikom obremenitve, kjer smo kot največjo zmogljivost nastavili 5 instanc.
Ugotovili smo, da je zrušitev strežnika povzročila neustrezna konfiguracija PHP. Bucket S3 je bil prepoln s slikami, ki so jih generirali uporabniki, predpomnilnik (cash) pa ni bil izbrisan, kar je obremenjevalo število niti PHP (thread-ova), ki so bile opredeljene v PHP poolu na strežnikih. Implementirali smo ustrezno konfiguracijo ter zagotovili ravnovesje med pomnilnikom in procesorjem, ki jih uporablja strežnik.
Poleg zgoraj omenjenih prednosti, kot je visoka dostopnost aplikacij, smo dosegli tudi prihranek pri celotni utilizaciji AWS za celo 30 %, in sicer na podlagi podatkov, tako da smo optimizirali dostop do objektov S3 s cloudfront distribucijo in optimizacijo redis.
Sodelovali smo z Mainstreamovo ekipo za javni oblak pri modernizaciji in optimizaciji naše AWS infrastrukture za boljšo razpoložljivost in stroškovno učinkovitost okolja. Ekipa je pokazala strokovnost in proaktivnost, zato smo zelo zadovoljni z rezultati, ki vključujejo tudi 30% prihranek pri mesečni porabi za AWS.
Miloš Gačanović
CTO @ BLOCKADE LABS
Odkrijte, kako lahko Mainstream izboljša vaše poslovanje.
Kontaktirajte nas na business.si@mainstream.eu ali izpolnite naš kontaktni obrazec.
Po selitvi virov z obstoječe arhivske kopije Azure na novo so strokovnjaki za Mainstream oblak pomagali OTA Sync-u za izvedbo prehoda na novo platformo v oblaku, Google Cloud.
Dosedanje izkušnje s sodelovanjem s Presto so prinesle hiter dogovor in usklajeno komunikacijo med našimi ekipami ter s tem hitro realizacijo projekta.
Jedan od ciljeva projekta bio je da se klijentima Sava Osiguranja obezbedi vrhunsko online iskustvo uz 24/7 dostupnost sajta i optimalne performanse veb prodavnice.