Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016Lukasz Wilczak
W powszechnej opinii WordPress nie jest używany do tworzenia serwisów o dużym natężeniu ruchu. Jednak przy odpowiednim zapleczu i konfiguracji możemy korzystać z jego możliwości i nie martwić się o wydajność. Z prezentacji dowiesz się, jak w Grand Parade tworzymy serwisy i przygotowujemy pod nie infrastrukturę dla blogów o dużym natężeniu ruchu i tematyce bettingowej takich jak: news.bwin.com, articles.matchbook.com, news.ladbrokes.com czy sunbets.cu.uk.
Omówimy mechanizmy cache-ujące takie jak Varnish, Redis, infrastrukturę CloudFront i S3 Amazona, sposoby skalowania środowisk z użyciem Load Balancera.
Este documento habla sobre el aprendizaje autónomo. Define el aprendizaje autónomo como la capacidad de aprender por uno mismo. Enumera algunas herramientas para aprender de forma autónoma como tener un propósito personal, aprovechar situaciones específicas, aprender haciendo y la interacción social. Algunas características del aprendizaje autónomo son la autocorrección, la reflexión crítica y la responsabilidad personal.
This document discusses the benefits of Level 3's on-net customer network. It notes that Level 3 has a large global fiber network spanning over 200,000 miles and connecting six continents. The network reaches over 51,000 miles within the US alone across 119 markets. Customers located within Level 3's on-net buildings benefit from faster services that scale easily, new service introductions, more secure and reliable traffic that stays on-net, and advantageous pricing.
Michigan Tech's Auris CubeSat aims to map the antenna beam pattern of a geostationary communications satellite to determine its location. It faces thermal management challenges due to its high-inclination polar orbit exposing it to extreme hot and cold cases. Initial thermal modeling was done with a single-node MATLAB model, but more detailed models are needed incorporating radiation view factors between thousands of nodes. Experimental validation of the models will help develop an active thermal management system to control temperatures using heaters and sun-pointing maneuvers.
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016Lukasz Wilczak
W powszechnej opinii WordPress nie jest używany do tworzenia serwisów o dużym natężeniu ruchu. Jednak przy odpowiednim zapleczu i konfiguracji możemy korzystać z jego możliwości i nie martwić się o wydajność. Z prezentacji dowiesz się, jak w Grand Parade tworzymy serwisy i przygotowujemy pod nie infrastrukturę dla blogów o dużym natężeniu ruchu i tematyce bettingowej takich jak: news.bwin.com, articles.matchbook.com, news.ladbrokes.com czy sunbets.cu.uk.
Omówimy mechanizmy cache-ujące takie jak Varnish, Redis, infrastrukturę CloudFront i S3 Amazona, sposoby skalowania środowisk z użyciem Load Balancera.
Este documento habla sobre el aprendizaje autónomo. Define el aprendizaje autónomo como la capacidad de aprender por uno mismo. Enumera algunas herramientas para aprender de forma autónoma como tener un propósito personal, aprovechar situaciones específicas, aprender haciendo y la interacción social. Algunas características del aprendizaje autónomo son la autocorrección, la reflexión crítica y la responsabilidad personal.
This document discusses the benefits of Level 3's on-net customer network. It notes that Level 3 has a large global fiber network spanning over 200,000 miles and connecting six continents. The network reaches over 51,000 miles within the US alone across 119 markets. Customers located within Level 3's on-net buildings benefit from faster services that scale easily, new service introductions, more secure and reliable traffic that stays on-net, and advantageous pricing.
Michigan Tech's Auris CubeSat aims to map the antenna beam pattern of a geostationary communications satellite to determine its location. It faces thermal management challenges due to its high-inclination polar orbit exposing it to extreme hot and cold cases. Initial thermal modeling was done with a single-node MATLAB model, but more detailed models are needed incorporating radiation view factors between thousands of nodes. Experimental validation of the models will help develop an active thermal management system to control temperatures using heaters and sun-pointing maneuvers.
La Unión Europea ha acordado un paquete de sanciones contra Rusia por su invasión de Ucrania. Las sanciones incluyen restricciones a las transacciones con bancos rusos clave y la prohibición de la venta de aviones y equipos a Rusia. Los líderes de la UE esperan que las sanciones aumenten la presión económica sobre Rusia y la disuadan de continuar su agresión contra Ucrania.
Константин Пацера, директор Analytical Boutique, открывает Круглый Стол ВАКЦ на тему "Big Data" 7 сентября 2016 года. Зачем контактнтым центрам работать с Большими Данными, и какие возможности для бизнеса октрывает data science?
Penelitian ini bersifat deskriptif analitik dengan metode cross sectional untuk mengetahui tingkat pengetahuan dan keterampilan perawat ruang ICU dalam melaksanakan prosedur isap lendir di RSI Faisal Makassar. Populasi penelitian adalah 227 perawat ruang ICU dengan sampel sebanyak 22 perawat. Instrumen penelitian berupa kuesioner yang diedarkan kepada responden untuk mengumpulkan data primer dan sekunder. Data dianalisis secara
El documento describe las características del aprendizaje autónomo. Explica que el aprendizaje autónomo permite a cada persona aprender y desarrollarse a su propio ritmo mediante la investigación, el uso de las TIC y la relación de problemas con la realidad. También destaca la importancia de establecer objetivos, adquirir conocimientos de forma independiente y aportar experiencias propias.
Tinjauan pustaka ini membahas tentang hisap lendir, ventilator, dan faktor yang mempengaruhi ketrampilan perawat dalam 3 topik utama. Topik pertama adalah tentang hisap lendir yang merupakan tindakan untuk membersihkan saluran napas dengan mengeluarkan lendir. Topik kedua membahas tentang ventilator sebagai alat bantu pernapasan. Topik ketiga membahas faktor pengetahuan, pengalaman, dan lingkungan yang mempengaruhi perilaku
This document provides a summary of Joanne Exley's work experience and qualifications. She has over 20 years of experience in administrative and customer service roles, including currently working as a Complaints Handler at Xerox. Prior roles include Senior Administrator at Land Of Leather, Receptionist at Business Link Wessex, Clerk Typist at FW Eaton, and Post Office Manager. She has a range of qualifications including GCSEs, RSA Business Administration Diploma NVQ Level III, and Estate Agency Legislation pass. Her interests include performing cabaret, fundraising for charity, and involvement in her local community center.
1. Dokumen ini membahas tentang hubungan antara tingkat pengetahuan perawat dengan keterampilan melakukan hisap lendir pada pasien di ruang ICU rumah sakit.
2. Beberapa penelitian sebelumnya menemukan hubungan antara pengetahuan dan keterampilan perawat dalam melakukan hisap lendir, namun peneliti ingin mengetahui faktor lain yang mempengaruhi keterampilan tersebut.
3. Penelitian ini bertuju
Презентация Виталия Никитина о возомжностях платформы HPE Idol для работы с BigData в современном кол-центре. Аналитика аудио и текстовой информации на базе платформы HPE IDOL
Rafał Machnik - CQRS as a performance and security booster (Quality Questions...Grand Parade Poland
CQRS is an architecture pattern that separates read and write operations into different models. It can improve performance and security by allowing optimized read and write models. CQRS is suitable for collaborative domains with parallel operations, complex models, or scenarios requiring separate read/write scaling. It works by separating reading operations from writing operations and allowing different models for each. Related concepts include event sourcing, eventual consistency, and reactive applications.
Na Contributor Day przed WordCampem w Gdyni przeprowadziłem review motywu na żywo dla uczestników, którzy również przeglądali motywy. Zauważyłem, że dla wszystkich było to interesujące doświadczenie i pokazywało wiele kwestii, które normalnie się pomija mówiąc jak przeglądać motywy.
Dlatego przejrzałem kod kilkudziesięciu motywów (nie mylić z pełnym review) z kilkuset czekających w kolejce do przejrzenia i wybrałem najciekawsze błędy developerów motywów, aby je omówić i zaproponować lepsze rozwiązania.
Dlaczego? Bo jedną z idei oprogramowania Open Source jest wspólna nauka (także ta na cudzych błędach).
La Unión Europea ha acordado un paquete de sanciones contra Rusia por su invasión de Ucrania. Las sanciones incluyen restricciones a las transacciones con bancos rusos clave y la prohibición de la venta de aviones y equipos a Rusia. Los líderes de la UE esperan que las sanciones aumenten la presión económica sobre Rusia y la disuadan de continuar su agresión contra Ucrania.
Константин Пацера, директор Analytical Boutique, открывает Круглый Стол ВАКЦ на тему "Big Data" 7 сентября 2016 года. Зачем контактнтым центрам работать с Большими Данными, и какие возможности для бизнеса октрывает data science?
Penelitian ini bersifat deskriptif analitik dengan metode cross sectional untuk mengetahui tingkat pengetahuan dan keterampilan perawat ruang ICU dalam melaksanakan prosedur isap lendir di RSI Faisal Makassar. Populasi penelitian adalah 227 perawat ruang ICU dengan sampel sebanyak 22 perawat. Instrumen penelitian berupa kuesioner yang diedarkan kepada responden untuk mengumpulkan data primer dan sekunder. Data dianalisis secara
El documento describe las características del aprendizaje autónomo. Explica que el aprendizaje autónomo permite a cada persona aprender y desarrollarse a su propio ritmo mediante la investigación, el uso de las TIC y la relación de problemas con la realidad. También destaca la importancia de establecer objetivos, adquirir conocimientos de forma independiente y aportar experiencias propias.
Tinjauan pustaka ini membahas tentang hisap lendir, ventilator, dan faktor yang mempengaruhi ketrampilan perawat dalam 3 topik utama. Topik pertama adalah tentang hisap lendir yang merupakan tindakan untuk membersihkan saluran napas dengan mengeluarkan lendir. Topik kedua membahas tentang ventilator sebagai alat bantu pernapasan. Topik ketiga membahas faktor pengetahuan, pengalaman, dan lingkungan yang mempengaruhi perilaku
This document provides a summary of Joanne Exley's work experience and qualifications. She has over 20 years of experience in administrative and customer service roles, including currently working as a Complaints Handler at Xerox. Prior roles include Senior Administrator at Land Of Leather, Receptionist at Business Link Wessex, Clerk Typist at FW Eaton, and Post Office Manager. She has a range of qualifications including GCSEs, RSA Business Administration Diploma NVQ Level III, and Estate Agency Legislation pass. Her interests include performing cabaret, fundraising for charity, and involvement in her local community center.
1. Dokumen ini membahas tentang hubungan antara tingkat pengetahuan perawat dengan keterampilan melakukan hisap lendir pada pasien di ruang ICU rumah sakit.
2. Beberapa penelitian sebelumnya menemukan hubungan antara pengetahuan dan keterampilan perawat dalam melakukan hisap lendir, namun peneliti ingin mengetahui faktor lain yang mempengaruhi keterampilan tersebut.
3. Penelitian ini bertuju
Презентация Виталия Никитина о возомжностях платформы HPE Idol для работы с BigData в современном кол-центре. Аналитика аудио и текстовой информации на базе платформы HPE IDOL
Rafał Machnik - CQRS as a performance and security booster (Quality Questions...Grand Parade Poland
CQRS is an architecture pattern that separates read and write operations into different models. It can improve performance and security by allowing optimized read and write models. CQRS is suitable for collaborative domains with parallel operations, complex models, or scenarios requiring separate read/write scaling. It works by separating reading operations from writing operations and allowing different models for each. Related concepts include event sourcing, eventual consistency, and reactive applications.
Na Contributor Day przed WordCampem w Gdyni przeprowadziłem review motywu na żywo dla uczestników, którzy również przeglądali motywy. Zauważyłem, że dla wszystkich było to interesujące doświadczenie i pokazywało wiele kwestii, które normalnie się pomija mówiąc jak przeglądać motywy.
Dlatego przejrzałem kod kilkudziesięciu motywów (nie mylić z pełnym review) z kilkuset czekających w kolejce do przejrzenia i wybrałem najciekawsze błędy developerów motywów, aby je omówić i zaproponować lepsze rozwiązania.
Dlaczego? Bo jedną z idei oprogramowania Open Source jest wspólna nauka (także ta na cudzych błędach).
Making Games in WebGL - Aro Wierzbowski & Tomasz SzepczyńskiGrand Parade Poland
Have you ever dreamed about playing your beloved video games anywhere you want? Without the need to install anything? Just opening your web browser and jumping right into the action? With WebGL now your dreams can become reality! During the presentation we will talk about basics of WebGL and game development allowing you to start exploring and experimenting with this technology by yourself!
Presentation from Lunch&Learn prepared by Aro Wierzbowski & Tomasz Szepczyński (Grand Parade).
Mobile Team on Daily basis - Kamil Burczyk & Michał Ćwikliński (Mobiconf2017)Grand Parade Poland
This document describes the mobile team at Grand Parade. It notes that the team has 23 developers working with iOS and Android, over 640 years of combined experience, and produces over 77,000 lines of Swift code and 44,000 lines of Kotlin code. The team follows agile practices like 2-week sprints and daily standups. They work on 25 mobile applications and share common architecture around logging and state management. The team emphasizes pair programming, learning across platforms, and knowledge sharing.
When creating reusable components, widgets or mini-applications that can be placed on various websites, one of the biggest challenges is to make sure that the host application styles won't affect ours. Shadow DOM was designed to address that problem, but still most of the browsers haven't implemented it. In the presentation I'll show what alternatives do we have today and what solution Site Base will offer.
Presentation made by Marcin Mazurek on Lunch & Learn meeting in Grand Parade.
Reason - introduction to language and its ecosystem | Łukasz StrączyńskiGrand Parade Poland
A moderately deep look at new language with OCaml roots. Is there a reason to be hyped about it? Is it mature enough to be considered production ready?
What does it offer over JS, Flow or other compiled to JS languages?
Thinking in Graphs - GraphQL problems and more - Maciej Rybaniec (23.06.2017)Grand Parade Poland
The GraphQL specification is intentionally silent on a handful of important issues facing APIs such as dealing with the network, authorization, errors and other things. During my presentation I want to describe each of these problems and present sample solutions for them.
Presentation from Lunch&Learn prepared by Maciej Rybaniec, Senior Frontend Developer at Grand Parade.
Introduction to React Native - Marcin Mazurek (09.06.2017)Grand Parade Poland
Can you use your front-end development skill set to create native mobile apps for iOS and Android? Can you write one app, run it on the two platforms, and still achieve platform-specific look and feel? Can you speed up your development process by removing compilation step and using hot reloading instead? The answer is yes - use React Native.
Presentation from Lunch&Learn prepared by Marcin Mazurek, Frontend Developer at Grand Parade.
Reactive programming with RxJava allows for asynchronous and event-based programming by using Observables that push data via onNext(), onError(), and onComplete() calls, where Observables can be either "cold" and lazily produce values only after subscription or "hot" and produce values independently of subscriptions; key concepts include asynchronous data streams, the Observable interface and contract, and differences between RxJava 1 and 2 such as handling of null values and new types like Maybe and Processors.
Paweł Cygal, a senior system administrator at Grand Parade, gives a presentation covering SQL injection and cross-site scripting (XSS) basics with examples using the Damn Vulnerable Web Application. The presentation defines SQL injection as a code injection technique used to attack data-driven applications by inserting malicious SQL statements. XSS enables attackers to inject client-side scripts by exploiting vulnerabilities in how a web application processes user input. Examples are provided of SQL injection and XSS vulnerabilities, along with solutions like prepared statements, input validation, and output encoding.
Performance tests in Gatling outlines how to use the Gatling load testing tool to test the performance of web applications. Gatling allows writing simulations in Scala to generate load and analyze results. It uses an asynchronous actor model and handles a high number of concurrent users without blocking. The document discusses setting goals for performance tests, using Gatling's GUI to record and replay tests, analyzing results like response times and errors, and validating responses with assertions in the Scala simulations. Code examples demonstrate configuring requests, storing data in sessions, handling responses, and using loops and conditions to model different user behaviors in tests.
4. 1. Statystyki serwisów
w Grand Parade
https://sports.bwin.com/en/news/
- 3 mln użytkowników miesięcznie
- 3 mln - pik jednodniowy
- 20 mln odsłon miesięcznie
http://news.coral.co.uk/
- 650 tys. użytkowników miesięcznie
- 1,3 mln odsłon miesięcznie
http://news.ladbrokes.com/
- 2,2 mln użytkowników miesięcznie
- 4,2 mln odsłon miesięcznie
- 1,5 mln odsłon - pik jednodniowy
/GrandParadePoland
www.grandparade.co.uk
5. 2.1 W czym problem? Wydajność WordPressa
/GrandParadePoland
www.grandparade.co.uk
- Kod WP nie jest optymalny, nie był zaprojektowany do obsługiwania dużego ruchu. Jest idealny do
pisania blogów.
- Ograniczenia języka PHP - język interpretowany, za każdym requestem “pożera” zasoby CPU i
RAM.
- Elastyczność i rozszerzalność WordPressa daje o sobie znać - instalacja wtyczek od różnych
autorów, z różną jakością kodu obciąża WordPressa. Wtyczki, filtry, hooki, są jedynie dodatkową
warstwą, która obciąża skrypt.
- Struktura plików - do wygenerowania strony głównej na dopiero zainstalowanym WordPressie serwer
musi zinterpretować ok. 140 plików PHP.
- Pojawiają się wywołania tego samego kodu oraz wykonywanie identycznych zapytań dla jednego
requestu.
7. 2.2 Baza danych i zapytania
/GrandParadePoland
www.grandparade.co.uk
- WP świeżo po instalacji na stronie startowej wykonuje ok. 30 zapytań do bazy
danych i wyciąga ok. 130 rekordów (defaultowe zapytania).
- Tworząc własny szablon, używając custom taxonomies, custom fields i filtrując
po nich można szybko dojść do kilkuset zapytań dla jednej odsłony.
- Duża ilość postów, kategorii i tagów powoduje spadek wydajności.
- Pełne dane o taxonomiach trzymane są aż w 4-ech tabelach.
Zapytanie wyciągające wszystkie posty z ich taxonomiami:
SELECT wt.name, p.post_title, p.post_date
FROM wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id
INNER JOIN wp_term_relationships wtr ON wtt.term_taxonomy_id =
wtr.term_taxonomy_id
INNER JOIN wp_posts p ON wtr.object_id = p.ID
WHERE p.post_type = 'post'
8. 2.3 Baza danych - liczby na przykładzie
/GrandParadePoland
www.grandparade.co.uk
http://news.ladbrokes.com/
- 31 tys. artykułów (w wielu wersjach), 200 kategorii, 8,5 tys. tagów
Powyższe generuje:
- wp_posts: 175 tys. rekordów,
- wp_term_relationships: 240 tys. rekordów,
- 70 zapytań do bazy dla każdej strony,
W szczytowych momentach dla tego serwisu jest 1 mln odsłon dziennie.
70 zapytań x (1 mln odsłon na dobę / 3600 minut) daje około 20 tys. zapytań do bazy na minutę
9. 2.3 Wydajność WordPressa - podsumowanie
/GrandParadePoland
www.grandparade.co.uk
Sama ilość zapytań do bazy nie jest najważniejszym czynnikiem, skalowanie bazy nie przyśpieszy znacząco
WordPressa. Cała jego konstrukcja powoduje, że load rośnie. Wpływ na to mają operacje I/O (np. odczyt tych
140+ plików), duplikowanie kodu, wielokrotne nawiązywanie połączeń do bazy.
Dlaczego zatem nie rezygnujemy z WordPressa?
- uzyskujemy potężne narzędzie do budowania stron (dzięki pluginom i możliwościom budowy
dedykowanych szablonów)
- w prosty i szybki sposób budujemy dedykowane panele administracyjne dla edytorów (ACF itp.)
- WordPress jest powszechnie znany i łatwy w obsłudze - klienci chętnie z niego korzystają
Dlaczego nie przebudujemy core Wordpressa?
- utracimy możliwość update’u oraz kompatybilność z pluginami
- budowanie własnego rozwiązania jest czasochłonne i kosztowne
Alternatywa? Jesteśmy w trakcie badania REST API Wordpressowego + React
10. Grand Parade WP Hosting
/GrandParadePoland
www.grandparade.co.uk
11. 3.1 Środowiska WordPress - Amazon EC2
/GrandParadePoland
www.grandparade.co.uk
- Wszystkie środowiska bazują na usługach Amazona EC2
- Są to maszyny od T2.small do C4.4xlarge
- Serwery oparte :
- Ubuntu 14.04 LTS i planowana migracja na Ubuntu 16.04 LTS, nowe na 16.04 LTS
- Nginx
- PHP 5.5 lub 7
- MYSQL >= 5.5
T2.small (1 vCPU, 2 GB RAM)
C4.xlarge (16 vCPU, 32 GB RAM)
13. 4.1 Środowiska WordPress - Loadbalancer
Równoważenie obciążenia (ang. load balancing) – technika rozpraszania obciążenia pomiędzy wiele
procesorów, komputerów, dysków, połączeń sieciowych lub innych zasobów.
Przykładowy system load balancing mógłby zapewniać bezawaryjną i optymalną pracę na N-aplikacjach
znajdujących się na bliźniaczych M-serwerach (zawierających równoważne aplikacje). Podczas gdy wielu
użytkowników wysyła wiele żądań, trafiają one najpierw do SLB, który analizuje obciążenie na poszczególnych
M-serwerach. Następnie dokonuje optymalnego wyboru – odsyłając użytkownika do jednego z serwerów do
konkretnej aplikacji – według żądania.
Optymalny wybór zazwyczaj ma prowadzić do równomiernego obciążenia wszystkich bliźniaczych serwerów.
SLB zapewnia że awaria jednego z serwerów nie jest odczuwalna przez użytkowników aplikacji.
Źródło: wikipedia - https://pl.wikipedia.org/wiki/R%C3%B3wnowa%C5%BCenie_obci%C4%85%C5%BCenia
/GrandParadePoland
www.grandparade.co.uk
15. 4.3 Środowiska WordPress
- Loadbalancer skalowalność
Loadbalancer umożliwia:
Skalowalność pionową / wertykalną (vertical scaling) - w ramach pojedynczego noda zwiększamy jego
zasoby (RAM, ilość procesorów, szybkość procesorów). Odbywa się to bez wyłączania nodów.
Odpinamy po kolei każdy z nich z loadbalancera, zwiększamy zasoby i podpinamy z powrotem.
Skalowalność poziomą / horyzontalną (horizontal scaling) - zwiększamy ilość nodów. Dzięki temu
loadbalancer rozkłada ruch na większą ich ilość.
Minimalną konfiguracją jest Loadbalancer ze skonfigurowanymi 2-oma nodami.
/GrandParadePoland
www.grandparade.co.uk
16. 4.4 Środowiska WordPress - Loadbalancer a WP
- Współdzielenie baz danych - RDS
- Współdzielenie mediów- S3
/GrandParadePoland
www.grandparade.co.uk
17. 4.5 Środowiska WordPress - Loadbalancer a WP
- baza danych
● Bazy danych - MYSQL.
● Rozwiązanie, gdzie na każdym nodzie uruchomiona jest baza danych posiada wiele wad,
m. in.:
- konieczna jest uciążliwa replikacja baz pomiędzy nodami,
- w razie awarii node zwraca błędy,
- bardzo trudne skalowanie.
● Wykorzystanie Amazon RDS:
- wspólna baza dla wszystkich nodów,
- Amazon zapewnia dostępność dzięki umieszczeniu bazy w chmurze,
- znika problem z replikacji danych.
/GrandParadePoland
www.grandparade.co.uk
20. 5.1 Środowiska WordPress - S3 media
● Wykorzystanie Amazon S3 pozwala na:
- Ograniczenie przestrzeni dyskowej na nodach,
- Zmniejszenie ilości requestów do nodów, a co za tym idzie możliwość zmniejszenia ich parametrów,
- Zmniejszenie kosztów.
● Konfiguracja Amazon S3:
- Utworzenie bucketu na S3,
- Zdefiniowanie AWS_ACCESS_KEY_ID i AWS_ACCESS_KEY_ID w wp-config.php,
- Instalacja wtyczki Amazon Web Services,
- Instalacja i konfiguracja wtyczki WP Offload S3.
/GrandParadePoland
www.grandparade.co.uk
21. 5.2 Środowiska WordPress - S3 media
- konfiguracja WP Offload S3
Instalacja i konfiguracja wtyczki WP Offload S3:
- Dodanie prawidłowego bucketa,
- Uruchomienie opcji kopiowania plików na S3 oraz nadpisywania adresów w WP,
- Zdefiniowanie (jeżeli potrzeba) odpowiedniej ścieżki do plików na S3,
- Włącznie organizacji plików w katalogach rok/miesiąc,
- Uruchomienie ssl jeżeli potrzeba (zalecane),
- Włączenie opcji usuwania mediów z noda,
- Ewentualne włączenie wersjonowania plików.
/GrandParadePoland
www.grandparade.co.uk
22. 5.3 Środowiska WordPress
- S3 assets WP Offload S3
Minusy WP Offload S3 w wersji lite:
- Nieobsłużone kopiowanie plików przy korzystaniu
z ACF wraz z Image crop add-on,
- Nie przenosi assetsów,
- Problemy z WooCommerce, WPML i inne.
/GrandParadePoland
www.grandparade.co.uk
23. 5.4 Środowiska WordPress - S3
- konfiguracja WP Offload S3 PRO
WP Offload S3 PRO pozwala na:
- Kopiowanie plików przy korzystaniu z ACF wraz z Image crop add-on,
- Przenoszenie assetsów,
- Wsparcie dla WooCommerce, WPML i inne,
- Kilka planów taryfowych,
- Możliwość podpięcia wielu serwisów.
/GrandParadePoland
www.grandparade.co.uk
27. 6. Środowiska WordPress
- deployment plików za pomocą Ansible
AUTOMATYKA DLA KAŻDEGO
Wdrażanie aplikacji. Zarządzanie systemami. Crush złożoności.
Ansible pomaga zbudować silną podstawę dla DevOps.
Żródło : https://www.ansible.com/
● Możliwość ustawienia konfiguracji pod środowiska dev, stg, prod
● Identyczna konfiguracja środowisk eliminuje problemy, gdy coś działa na stage, a nie działa na produkcji
● Budowa playbooków umożliwiających:
- skonfigurowanie identycznych nodów (instalacja wszystkich narzędzi i bibliotek w tych samych
wersjach), dzięki czemu łatwo dostawić kolejny
- deploy na wiele zdefiniowanych nodów, zamiast ręcznego deploy’a na poszczególne nody
/GrandParadePoland
www.grandparade.co.uk
29. 7.1 CloudFront
Amazon CloudFront is a global content delivery network (CDN) service
that accelerates delivery of your websites, APIs, video content or other web assets.
It integrates with other Amazon Web Services products to give developers and businesses
an easy way to accelerate content to end users with no minimum usage commitments
Źródło: https://aws.amazon.com/cloudfront/
/GrandParadePoland
www.grandparade.co.uk
30. 7.1 CloudFront - integracja z WordPress
- idealne rozwiązanie w określonych warunkach
/GrandParadePoland
www.grandparade.co.uk
Warunki:
- małą ilość updatów (np. jeden artykuł na tydzień) lub mało treści (landing page, strona
wizytówkowa),
- nie wymagane funkcjonalności server-side, takie jak logowanie, wyszukiwarka.
Budowa i działanie:
- WordPress na małym serwerze, służy tylko do generowania HTML- i, umieszczony
za firewallem lub w sieci wewnętrznej,
- Edytorzy wprowadzają artykuły, mają podgląd na nową wersję strony. Po zakończeniu
pracy nad artykułem - publikują go,
- Wtedy statyczne HTML wysyłamy na Amazon S3,
- Assetsy i media również wysyłamy na Amazon S3 (WP Offload S3) ,
- Dzięki powyższym krokom otrzymujemy obraz całej strony na S3,
- Konfigurujemy Cloud Front aby wskazywał na naszą S3, oraz ustawiamy odpowiedni czas
czyszczenia cache.
31. 7.1 CloudFront - integracja z WordPress
- idealne rozwiązanie w określonych warunkach
/GrandParadePoland
www.grandparade.co.uk
Zalety:
- szybkość serwowania strony,
- bezpieczeństwo - brak dostępu do serwera WP z zewnątrz,
- niskie koszty utrzymania strony.
Wady:
- brak funkcjonalności server-side,
- przy dużej ilości kontentu generowanie może trwać kilka godzin.
32. 7.2 CloudFront - integracja z WordPress
- metoda pośrednia
Warunki:
- jeżeli mamy już kilka nowych artykułów dziennie
potrzebne są funkcjonalności server-side.
Budowa i działanie:
- assetsy i media wysyłamy na Amazon S3
(WP Offload S3),
- konfigurujemy CloudFront, aby wskazywał na
Wordpressa,
- ustawiamy odpowiedni czas czyszczenia cache,
- media i assetsy w wordpresie podawane są z S3.
/GrandParadePoland
www.grandparade.co.uk
(LB)
33. 7.2 CloudFront - integracja z WordPress
- metoda pośrednia
Zalety:
- w tej metodzie przechowujemy assetsy i media na S3, dzięki czemu komunikacja z CF jest bardzo
szybka,
- zmniejszone obciążenie nodów
- znaczny wzrost szybkości ładowania serwisu oraz zmniejszone obciążenie naszych nodów
- dostępne są funkcjonalności server-side
Wady:
- znacznie wyższy koszt infrastruktury niż wcześniejszego rozwiązania
- wyższy stopień skomplikowania infrastruktury
- niższy poziom bezpieczeństwa
/GrandParadePoland
www.grandparade.co.uk
35. 8. Varnish
Varnish jest akceleratorem HTTP, pracującym w trybie reverse proxy
(czyli przy serwerze www).
- zapisywanie wygenerowanego kodu HTML w pamięci,
- zmniejszenie ilości potrzebnych requestów, a co za tym idzie
zmniejszenie obciążenia,
- możliwość konfiguracji za pomocą VCL (Varnish Configuration
Language),
- w przypadku dynamicznych elementów (ankiety, fora, gry, sklepy)
Varnish nie zadziała, ale można wyłączyć fragment strony za pomocą
znaczników ESI:
<esi:remove>
<?php include_once('your_file.php'); ?>
</esi:remove>
<!--esi <esi:include src="URL_TO_SITE" /> →
- konieczność czyszczenia cache po każdej aktualizacji,
- konieczność zastosowania plug-inu do obsługi Varnisha (Varnish
WordPress, W3 Total Cache).
/GrandParadePoland
www.grandparade.co.uk
37. 8.1 Redis
Redis (Remote Dictionary Service) jest pamięciową bazą
NoSQL przechowującą dane jako pary klucz – wartość.
- instalacja jako PHP extension PECL lub pobranie biblioteki
Predis,
- szybka baza przechowywana w pamięci,
- można wykorzystać go jako cache,
- pozwala na replikacje master-slave,
- możliwość ustawienia czasu trzymania cache,
- możliwość ustawienia REDIS na modułach strony
niezależnie, z różnymi czasami trzymania cache (header,
content, sidebar, footer).
Redis jest ulotny! W przypadku awarii, restartu itp. musi
zreplikować dane lub pobrać ponownie. Nie możemy używać
go jako bazy danych.
/GrandParadePoland
www.grandparade.co.uk
40. 9. Amazon ElastiCache
/GrandParadePoland
www.grandparade.co.uk
Amazon ElastiCache is a web service that makes it easy to deploy, operate, and scale an in-memory
cache or data store in the cloud. The service improves the performance of web applications by allowing
you to retrieve information from fast, managed, in-memory data stores, instead of relying entirely on
slower disk-based databases
Żródło: https://aws.amazon.com/elasticache/
Amazon ElasticCache obsługuje 2 open-sourcowe technologie:
- Redis
- Memcached
41. 10. Podsumowanie
/GrandParadePoland
www.grandparade.co.uk
Mimo, że WodPress nie jest platformą dedykowaną do obsługi dużego
ruchu i ma swoje wady, wciąż jest najlepszym rozwiązaniem do budowy
blogów bettingowych w Grand Parade.
Bazując na usługach Amazon-a wypracowaliśmy skuteczną i stabilną
architekturę pozwalającą obsłużyć duży ruch. Na naszym przykładzie widać,
że można budować profesjonalne aplikacje bazujące na open
source-owych, ogólnie dostępnych narzędziach.