3. - 12 mln ofert
- ponad 100 mln zdjęć
- 400GB danych w MySQL
- największa tabela ponad 200 mln rekordów
- 3 mln req/dzień po kontent dynamiczny
- 20 mln req/dzień po kontent statyczny
- RAM: 816GB, dyski: 51.03TB, 172 rdzenie
CPU (bez HT)
6. Działy
Działy projektowe
Dział
Frontendu
25+ osób
Dział
Backendu
Działy utrzymania/małych projektów
Dział Dział Dział
Aplikacji Utrzymania Administratorów
Mobilnych
7. Rozwój
● Regularne spotkania wewnętrzne o
Technologiach IT i Jakości IT
● Cykl szkoleń wewnętrznych
● Szkolenia otwarte (Andrzej Krzywda o RoR)
● Konferencje (Front-Trends, RuPy, EuRuKo i
jak zawsze polecam trójmiejskie infoShare)
● Firmowa biblioteczka
10. Jakość
● Testy jednostkowe
● Inspekcje kodu (oswajamy się)
● Testy wydajnościowe Jmeter
● Testy funkcjonalne Selenium
● Narzędzia Continous Integration
CruiseControl i TeamCity
● Standardy kodowania
● Post-commit hooki wyłapujące błędy
składniowe i niezgodność ze standardami
11. Proces zmian na produkcji
● Serwery deweloperskie dane
deweloperskie
● Serwery testowe dane
○ dostępne dla wszystkich deweloperskie
lub produkcyjne
programistów
● Serwer przedprodukcyjny / dane i
konfiguracja
Serwer 1% produkcyjna
● Serwery produkcyjne
○ proces komunikacji o zmianach
12. ● Do obsługi bugów wykorzystujemy Bugzilli
● Proces projektowy wspiera Acunote
(Scrumowy) i Wrike (harmonogramy)
16. Narzędzia deweloperskie
● RubyMine, PhpStorm to edytory które
coraz bardziej lubimy
● ErrBit do zbierania błędów
● Rsyslog do centralnego logowania i
agregowania logów
● Webistrano/Capistrano do deployu kodu
17.
18. Infrastruktura
● Beyond główna serwerownia, 30+
serwerów 1U (HP DL160G6), sieć 1 Gbit,
VLan-y
● Hetzner dodatkowe serwery mające
mniejszy priorytet
● Amazon S3 przechowuje kontent statyczny
(~2 TB danych), serwowanie z warstwą
keszującą w Beyond
21. Sposób obsługi WWW
● LoadBalancing na HaProxy
● Failovery przez HeartBeata
● Nginx + PHP-FPM do serwowania PHP
● Varnish + Nginx do kontentu statycznego
22. Technologie WWW
● Memcache, MemcacheDB do keszowania
● MySQL, MongoDB jako storage
● PostgreSQL do transakcji
● ActiveMQ do kolejek
● SOLR do wyszukiwania
23. Technologie backendowe
● Ruby, Railsy, gearman do starszych aplikacji
● JRuby + TorqueBox wraz ze udostępnianymi przez
JBoss-a usługami do nowo tworzonych rozwiązań
● MySQL, Memcache wspomagająco
● MongoDB
24. Monitoring
● Zabbix system do monitoringu -
kontrola 2000+ wskaźników pracy
serwerów i aplikacji rozbudowana o
1000+ triggerów reagujących na
przekroczenie zdefiniowanych
wartości progowych.
● Host-tracker, Watchscript
dostępność podstawowych stron
wszystkich utrzymywanych
serwisów
25. Co czytamy?
Clean Code to pozycja która
powinna być obowiązkowa na
studiach :)
High Performance MySQL czyli
po prostu biblia MySQL dla tych
którzy operują na sporej ilości
danych