Hosting

Architectură Generală

General Architecture

Arhitectura de hosting Zento este construită pentru Cloud, cu scopul bine definit de a obține performanță, scalabilitate, stabilitate, securitate și eficiență financiară.

Hostingul tradițional rulează pe un server dedicat sau virtual: toate accesările (frontend, backend, api) și task-uri automate (update-uri de catalog) sunt procesate de același server. Acest setup are multiple probleme de scalabilitate și stabilitate, pe care le-am acoperit în secțiunea Ce este Cloud Hosting.

Toate componentele de hosting ale Zento au fost construite cu gândul la scalare și stabilitate. Arhitectura aplicației constă în următoarele componente:

  • frontent PWA

  • backend Magento 2

  • stocare, bază de date & caching

  • serviciu optimizare imagini

Zento folosește CDN-ul de ultimă generație AWS: CloudFront. În funcție de URL-ul accesat, apelul este procesat conform diagramei de mai jos:

Zento Routing Architecture
  • API GraphQL Magento 2 & panou admin Magento ⇒ Kubernetes (EKS)

  • JS, CSS și alte imagini statice ⇒ S3

  • Fișiere media inclusiv imagini de produs și din conținut ⇒ S3

  • Imagini redimensionate & optimizate ⇒ Lambda (Resizer)

  • Toate celelalte URL-uri ⇒ Lambda (SSR)

Toate accesările sunt protejate de AWS Web Application Firewall (WAF) pentru protecție împotriva vulnerabilităților posibile care pot afecta disponibilitatea, compromite securitatea sau consuma resurse excesive.

Pentru toate accesările magazinului se stochează loguri de acces detaliate, care includ timpul de răspuns, User Agent și dacă au fost servite din cache sau nu (cach hit/miss); acestea sunt salvate în S3 și pot fi analizate ulterior sau exportate.

Server Side Rendering

Când o pagină este încărcată, browserul utilizatorului încară HTML-ul paginii, fișierele JavaScript care conțin aplicația, fișierele CSS care conțin stilul paginii și, desigur, imaginile.

Deși partea JS a aplicației (care este în fapt PWA-ul) este capabilă să genereze orice pagină din magazin, este important ca HTML-ul inițial transmis ca și răspuns să conțină pagina exact cum ar fi ea generată de browser. Acest lucru permite browser-ului să afișeze pagina stilizată, fără să trebuiască să aștepte încărcarea și procesarea script-urilor JS. Această operațiune se numește Server Side Rendering, sau pe scurt SSR.

Procesarea paginilor SSR este realizată folosind AWS Lambda, implementarea de funcții Serverless oferită de AWS. Acest lucru rezultă într-o scalabilitate perfectă, cu cost per execuție.

Dacă vrei să afli detalii suplimentare despre acest sistem, poți accesa pagina PWA în Lambda

Magento 2 în Kubernetes

Datele utilizate de PWA și încărcate prin API din Magento 2, precum și accesul în panoul de administrarea Magento 2 sunt direcționate către clusterul Kubernetes care rulează în AWS EKS.

Fiecare magazin online are multiple pod-uri care rulează pe diferite node-uri și sunt utilizate pentru a servi toate accesările. Când traficul crește, pod-uri noi sunt adăugate automat în câteva secunde, iar după ce traficul scade, ele sunt oprite automat. În orice moment, un set minim de pod-uri sunt păstrate, indiferent de trafic, pentru a asigura redundanța în cazul oricăror erori hardware la node-uri. Astfel, magazinul online menține un uptime perfect.

Dacă vrei să afli detalii suplimentare despre acest sistem, poți accesa pagina M2 în Kubernetes

Imagini Dimensionate & Optimizate

Redimensionarea și optimizarea imaginilor în formate moderne rezultă într-o dimensiune redusă față de varianta lor necomprimată, ceea ce este important pentru performanță și SEO. Este critic deci ca sistemul să servească imagini la dimensiunea optimă și în formate moderne pentru browserele care le suportă.

Soluțiile tradiționale de cele mai multe ori fac redimensionarea și optimizarea imaginilor, dar se întâmplă des ca imaginile servite pe mobil să fie mai mari decât este necesar, rezultând într-o penalitate la performanță. Cele mai multe soluții nu oferă conversia imaginilor din formatele clasice (JPG sau PNG) în cele moderne (WEBP sau AVIF), iar utilizarea exclusivă a noilor formate nu este posibilă, nefiind suportate de toate browserele.

PWA-ul Zento oferă imaginile, atât în format tradițional, cât și în format modern și în toate dimensiunile necesare în funcție de dimensiunea ecranului și densitatea de pixeli; când browser-ul decide să încarce o imagine într-o anumită dimensiune și format, imaginea optimizată este automat servită utilizatorului. Redimensionarea este realizată de o funcție serverless Lambda și este stocată în S3 și în CDN-ul CloudFront.

Rezultatul este un proces simplu de management al imaginilor pentru echipa ta și o experiență optimizată pentru utilizator.

Concluzii

Prin alegerea Zento ca și soluția ta de eCommerce, obții performanță, scalabilitatea, stabilitate și securitate, astfel încât să crești conversiile și să ai un uptime perfect, chiar și în cele mai aglomerate perioade, fără compromisuri pe partea de securitate.

Vrei să afli mai multe detalii?

Contactează-ne

Acest site folosește cookie-uri

Folosim cookie-uri pentru a personaliza conținutul și publicitatea, pentru a oferi funcții de social media și să analizăm traficul. Partajăm informații despre utilizarea site-ului cu social media-ul nostru, publicitate și analitice parteneri, care se poate combina cu alte informații furnizate sau colectate folosind serviciile lor.