Oto jak to robimy dla sklepu internetowego Angrybirds:
Angielska prezentacja na Magento Imagine 2012.
Niemiecka prezentacja na Meet Magento # 6.12
Obecny niemiecki „PHP Magazin” ma także 6-stronicowy artykuł (w języku niemieckim) z pewnymi szczegółami
Po przeczytaniu wszystkich prezentacji Fabrizio połączonych wielokrotnie powyżej, myślę, że ta odpowiedź jest naprawdę najlepsza, choć zgadzam się, że mogłaby użyć więcej wyjaśnień i wyciągnąć kluczowe pomysły z prezentacji (zwłaszcza, że pierwszy link już miał do czasu opublikowania tej aktualizacji było 404).
Jedyne, co chciałbym dodać do kluczowych pojęć w prezentacjach, to to, że nowoczesne postępy w technologiach AWS / konkurenta sugerują pewne poprawki ... jak na przykład fakt, że Cloudfront obsługuje teraz gzip dla poprawy wydajności CDN, chociaż nie jest tak szybki jak i daje to bezpłatne zakończenie SSL, takie jak oferty CloudFlare . Ich DNS trasy 53 nie jest tak szybki ani bogaty w funkcje jak CloudFlares, a AWS nie ma porównywalnej zapory sieciowej ani ochrony DDOS, z których wszystkie są zawarte w ofercie CloudFlare ...
Istnieje kilka innych możliwych sposobów ulepszenia oryginalnej prezentacji Fabrizio, ale nie byłbym dobrym konsultantem, gdybym rozdawał WSZYSTKO, co znałem na każdym stanowisku StackExchange, na które odpowiadałem, prawda? Ponadto niektóre z najnowszych ofert znacznie zmieniłyby sugestie w oryginalnych prezentacjach, z których wszystkie STILL oferują świetną wydajność, nawet jeśli można by wycisnąć więcej z AWS przy użyciu różnych opcji.
Podsumowanie kluczowych pojęć :
Poznaj swoje wąskie gardła : i odpowiednio zoptymalizuj. Każda warstwa stosu ma określone wąskie gardła (przepustowość, procesor, baza danych), a rozwiązanie wąskich gardeł na każdej warstwie wymaga innego rozwiązania zoptymalizowanego dla każdego konkretnego wyzwania, chociaż tak naprawdę buforowanie jest wspólnym elementem na każdym poziomie, co prowadzi do ...
Cache All The Things : Wykorzystaj systemy AWS tam, gdzie to możliwe (Elasticache do buforowania danych typu Redis / Memcache, Cloudfront for Caching obraz, zasoby js i css najbliższe użytkownikom końcowym za pośrednictwem CDN) i Varnish do przyspieszenia odpowiedzi instancji serwera na początkowy poziom zasobów żądania buforowania z CDN. Pamiętaj też, aby skompresować i zminimalizować w swoich systemach wdrażania PRZED wdrożeniem w sieciach CDN
Automatyczne skalowanie jest niezbędne : Zapotrzebowanie zmienia się często i szybciej niż można monitorować i reagować ręcznie. Dostosowanie się do tych zmian w czasie rzeczywistym wymaga użycia narzędzi automatyzacji dostępnych w AWS, takich jak Grupy skalowania automatycznego, aby rozdzielić elementy systemu, które najlepiej nadają się do tego zadania. AWS obsługuje to w sposób transparentny dla CloudFront CDN, Route 53 DNS, Elastic Load Balancers i S3 Buckets, musisz sobie z tym poradzić, dostosowując rozmiar i automatyczne skalowanie dla instancji EC2, a po prostu dostosowując rozmiar / strojenie dla poziomów RDS i elasticache
Automatyzacja jest jedynym sposobem skutecznego powiązania tego wszystkiego : przy tak wielu powiązanych ze sobą komponentów, z których niektóre muszą zostać zainicjowane w czasie wdrażania, niektóre bezpośrednio po wdrożeniu, zarządzanie systemem dostrojonym pod kątem optymalnej wydajności wymaga automatyzacji. Wykorzystanie wdrożenia i automatyzacji systemów w celu czyszczenia pamięci podręcznej, ocieplania pamięci podręcznej, przetwarzania obrazu itp. To jedyny rozsądny sposób zarządzania wieloma różnymi podsystemami i utrzymywania ich naoliwionej i wolnej od problemów.
Ale tak naprawdę nawet to nie jest możliwe bez automatyzacji testów : przy tak wielu ruchomych częściach coś pęknie przy prawie każdej zmianie. Będziesz musiał się zmienić, aby nadążać za rozwojem Magento i AWS. I tak się stanie CZĘSTO . Aby zminimalizować koszty zmian, wszystkie formy testowania muszą być zarówno wdrożone, jak i zautomatyzowane w pełni - od testów jednostkowych przez testy integracyjne po oparte na Selenium testy funkcjonalne rzeczywistej lokalizacji uruchomione w rzeczywistych konfiguracjach testowych, które naśladują środowisko produkcyjne. Teraz NAPRAWDĘ cieszysz się, że zautomatyzowałeś wszystkie procesy wdrażania, prawda?