Dlaczego WordPress?

Jako Grupa Onet posiadaliśmy dotychczas dwie platformy blogowe. Jest to Blog.onet.pl oraz Blog.pl. Blog.onet.pl był pisany mniej więcej dekadę temu. Posiada dziś około 1,5 miliona założonych blogów i wciąż jest wiodącą platformą blogową w Polsce. Blog.pl pojawił się u nas później i jest jednym z większych graczy na rynku.

Potrzebowaliśmy jednak stworzyć nową platformę, która nadąży za wymaganiami polskiego bloggera. Zamiast pisać wszystko od podstaw, postanowiliśmy skorzystać z istniejącego rozwiązania i zaadoptować je do naszych potrzeb. Po analizie dostępnych rozwiązań wybór padł na WordPress. WordPress to dziś najpopularniejszy system zarządzania treścią. Szacuje się, że dziś na WordPressie jest uruchomionych około 13% serwisów w całym Internecie, to jest ponad połowa wszystkich, które korzystają z gotowego systemu CMS.

Było wiele czynników, które zdecydowały o naszym wyborze. Jednym z najważniejszych to wsparcie społeczności, bo dzięki niej możemy korzystać z niezliczonej ilości wtyczek i skórek. Ewentualne błędy systemu są szybko wyłapywane, możemy też liczyć na częste aktualizacje samego systemu. Jest to system najbardziej popularny i najlepiej zrozumiały dla użytkowników.

WordPress w portalu

Problemy, z jakimi musieliśmy się zmierzyć to przede wszystkim skalowalność i wydajność systemu: WordPress jest najczęściej wykorzystywany jako samodzielna instalacja z jednym blogiem. My musieliśmy założyć, że obciążenie będzie zdecydowanie większe, a docelowo może dojść nawet do rzędu miliona blogów. Więcej o kwestii architektury, piszemy poniżej.

Kolejną kwestią jest bezpieczeństwo. Samodzielna instalacja WordPress pozwala na bardzo wiele. Głównie dlatego, że z założenia, właściciel bloga nie będzie chciał psuć lub włamywać się do swojego systemu. W instalacji dla wielu użytkowników musieliśmy obciąć pewne funkcjonalności, jak np. wstawienia własnego kodu PHP.

Kolejnym etapem projektu była integracja z naszymi wewnętrznymi mechanizmami: systemem do zbierania statystyk, wyświetlania reklam oraz logowania.

Architektura

Jednym z wyzwań stojących przed nami było zwiększenie wydajności WordPressa. Udało się to osiągnąć przez zainstalowanie WordPressa w następującej architekturze:

Na wejściu do systemu znajduje load balancer. Przekierowuje on ruch do właściwego serwera na którym znajdują się blogi. Dodatkowo cache’uje często odwiedzane blogi. Każdy serwer jest wysokowydajną wieloprocesorową maszyną, na każdym z nich istnieje osobna instancja WordPressa wzmocniona jednym z pluginów cachujących, który musieliśmy nieco zmodyfikować. Całą architekturę poddawaliśmy testom wydajnościowym w trakcie których Apache, MySQL oraz pozostałe ustawienia serwera zostały zoptymalizowane.

Dodatkowo każdy serwer ma swój odpowiednik (tzw. hot backup), który w trybie online jest synchronizowany ze zmianami, jakie dzieją się na serwerze produkcyjnym. W razie awarii dowolnego serwera produkcyjnego, zostaje od podmieniony i platforma blogowa działa dalej.
System jest skalowalny, zwiększanie jego wydajności odbywa się poprzez dodawanie kolejnych serwerów.

Podsumowanie

Dzięki Blogujący.pl użytkownik dostaje szybki i bezpieczny system blogowy, oparty na najpopularniejszym dostępnym narzędziu. System ten jest przede wszystkim skierowany do użytkowników, którzy nie chcą zajmować się aktualizowaniem własnej platformy, konfigurowaniem wielu wtyczek, dbaniem o kopie zapasowe – ale chcą zająć się tym, co lubią robić najbardziej – czyli blogowaniem. Dlatego też napisaliśmy własną stroną zakładania bloga, która jest uproszczona do minimum i pozwala zacząć blogowanie od razu. A jeżeli z czasem ktoś będzie potrzebował czegoś więcej, zawsze może skorzystać z opcji eksportu bloga i uruchomić go na własnej instalacji.

Ten projekt na pewno znacząco zwiększy popularność samego WordPressa w Polsce. Dla nas uruchomienie platformy Blogujacy.pl jest wydarzeniem przełomowym – to pierwszy duży projekt, który w całości opiera się na gotowym, otwartym rozwiązaniu. W przyszłości może być to jedyna słuszna droga rozwoju, ponieważ nikt nie ma już czasu na pisanie wszystkiego od podstaw.

Marcin Fita
Projektant Systemów Informatycznych

Piotr Idzi
Projektant Systemów Informatycznych