Wysoka skalowalność systemu e-commerce na przykładzie magento

15
Wysoka skalowalność systemu e-commerce na przykładzie Magento

Transcript of Wysoka skalowalność systemu e-commerce na przykładzie magento

Page 1: Wysoka skalowalność systemu e-commerce na przykładzie magento

Wysoka skalowalność systemu e-commerce

na przykładzie Magento

Page 2: Wysoka skalowalność systemu e-commerce na przykładzie magento

Agenda

1. Systemy e-commerce

2. Jak obsłużyć duży ruch i dlaczego to jest problem?

3. Magento PHP OpenSource

4. Biznes a czas życia projektu

5. Skalowalność

6. Wykorzystywane technologie

7. Oprogramowanie

Page 3: Wysoka skalowalność systemu e-commerce na przykładzie magento

Systemy e-commerce

• B2B sprzedaje przez WWW

• 20 % wzrostu rynku rok do roku

• Opłacalność gotowego rozwiązania np Magento

• Hasło na dziś: Jedyne co jest wiadome to zmiany

Page 4: Wysoka skalowalność systemu e-commerce na przykładzie magento

Jak obsłużyć duży ruch ?

• Skończone zasoby sprzętowe

• Wzrost oferty produktowej i transakcji

zakupowych

• Problemy mentalne w powiększaniu

infrastruktury

• Duża ilość transakcji w określonych porach dnia

Page 5: Wysoka skalowalność systemu e-commerce na przykładzie magento

Magento

• Kompletny silnik e-commerce za darmo

• Elastyczna struktura bazy pozwala na

odzwierciedlenie różnorodnej oferty

• Modułowość systemu Magento umożliwia

bezpieczne rozwijanie

• Wysoki próg wejścia

Page 6: Wysoka skalowalność systemu e-commerce na przykładzie magento

Biznes i sprzedaż

• Cykl życia projektu

• SLA - service level agreement

• Negatwyny scenariusz czyli ciągła refaktoryzacja

• Pozytywny scenariusz kiedy sprzedaż przerasta

oczekiwania i potrzebny jest skalowalny system

Page 7: Wysoka skalowalność systemu e-commerce na przykładzie magento

Skalowalność

• pionowa

poprzez dodanie zasobów do serwera: rdzeni,

pamięci i dysków. W początkowej fazie daje

bardzo dobre rezultaty. Często tańsza niż prace

programistyczne. Niestety szybko pojawia się

sciana technologiczna.

Page 8: Wysoka skalowalność systemu e-commerce na przykładzie magento

Scalability

• pozioma

poprzez rozdzielenie zasobów na wiele

serwerów, które równorzędnie obsługują ruch.

Trudniejsza w realizacji od strony aplikacji i

administratora ale teoretycznie bez limitu.

Rówież poprzez asynchroniczne kolejki

przetwarzania.

Page 9: Wysoka skalowalność systemu e-commerce na przykładzie magento

Skalowalność aplikacji

Możliwa do realizacji dzięki loadbalncerom rozdzielającym

ruch wg dowolnego algorytmu. Rolę load balancera może

pełnić osobny serwer lub może być realizowane przy

pomocy reverse-proxy varnish. Aplikacja musi być gotowa

na wykonanie na wielu serwerach.

Page 10: Wysoka skalowalność systemu e-commerce na przykładzie magento

Skalowalna architektura aplikacji

Page 11: Wysoka skalowalność systemu e-commerce na przykładzie magento

Skalowalność bazy danych

Skalowalność bazy danych realizowana jest w oparciu o

replikację bazy. Jedna baza zapisu jest replikowana w wiele baz

odczytujących. Aplikacja musi być przygotowana na pracę z

wieloma bazami w kontekstach zapisu i odczytu.

Page 12: Wysoka skalowalność systemu e-commerce na przykładzie magento

Skalowalna architektura bazy

Page 13: Wysoka skalowalność systemu e-commerce na przykładzie magento

Technologie

OpenSource vs Microsoft

• Debian

• Varnish

• Redis

• Replikacja bazy

• Kolejki przetwarzania danych np Gearman

Page 14: Wysoka skalowalność systemu e-commerce na przykładzie magento

Oprogramowanie

• Konsolowe

htop, top, logi serwera i aplikacji

• Monitoring

Newrelic

Zabbix

Page 15: Wysoka skalowalność systemu e-commerce na przykładzie magento

Dziękuję za uwagę

Autor: Marcin Dykas

Kontakt: [email protected]