First Beat Media - Tehnologije na velikim projektima #tnt3
1. Online Entertainment Media Company Technology & Trends, Niš 2014
ENTERTAINMENT
ONLINE
www.FirstBeatMedia.com
COMPANY
MEDIA
Plantation, Florida, USA
linkedin.com/company/FirstBeatMedia
twitter.com/FirstBeatMedia
3. Online Entertainment Media Company Technology & Trends, Niš 2014
Veliki projekti
• FBM
• 3 online dating platforme (i rivalstvo)
• Očekivanja i realnost
4. Online Entertainment Media Company Technology & Trends, Niš 2014
Veliki projekti – DatingBackend
• 500 sajtova
– BikerPlanet.com
– DateACowboy.com
– DatingForSeniors.com
• 40M page views, 5M+ unique visitors
• 35 ljudi
• 4 tima
– Operations, Development (25 programera), CS i Traffic
5. Online Entertainment Media Company Technology & Trends, Niš 2014
Veliki projekti – DatingVIP
• 18 000 sajtova
– MeetLocalBikers.com
– CowboyDatingService.com
– DatesForSeniors.com
• 18M page views, 1.7M+ unique visitors (1/50)
• 150 ljudi
• 4 godine rada – from zero to hero (flagship)
• Timovi, 20 programera
6. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware
• Potrebe, realnost, planiranje i predviđanje
7. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware
• Potrebe, realnost, planiranje i predviđanje
• Cena, dostupnost
8. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware
• Potrebe, realnost, planiranje i predviđanje
• 1 server
9. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware
• Potrebe, realnost, planiranje i predviđanje
• 1 server
– LAMP
– Produkcija
– Staging
– Testing
– SVN
10. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware
• Potrebe, realnost, planiranje i predviđanje
• 1 server
– LAMP
– Produkcija
– Staging
– Testing
– SVN
– ...
– Single point of failure! :(
11. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware
• Potrebe, realnost, planiranje i predviđanje
• 18 000 domena
• 15 000 000 članova
• 5 000 000 fotografija (x 3 dimenzije)
• 100 000 video klipova
• ~1Tb podataka u bazi (uključujući indekse)
12. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware
• 200 fizičkih servera (15 DatingVIP)
• 200+ virtuelnih mašina (20 DatingVIP)
• 4 ISP (od toga 3 u USA)
• 300A kod jednog ISP (DatingVIP: 100A, 300Mbit/s)
• 200Tb backup
– 4 puta dnevno u tekućoj nedelji
– 1 dnevno za prethodnu nedelju
– Par mesečnih backupa
13. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware
• 4 core, 8 ili 16Gb RAM, HDD po potrebi
• SSD (540Mb/s read, 450Mb/s write)
• RAID / NFS
14. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware
• 24/32 core, 256Gb RAM, HDD po potrebi
• FusionIO (1.3Gb/s read, 1.1Gb/s write)
• DRBD
15. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware
• 24/32 core, 256Gb RAM, HDD po potrebi
• FusionIO (1.3Gb/s read, 1.1Gb/s write)
• DRBD
• 10 procesora sa po 8 jezgara
• 6Tb memorije
16. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware
• 24/32 core, 256Gb RAM, HDD po potrebi
• FusionIO (1.3Gb/s read, 1.1Gb/s write)
• DRBD
• 10 procesora sa po 8 jezgara
• 6Tb memorije
• Rack, blade, UPS, voltage, cooling
• Recycle
17. Online Entertainment Media Company Technology & Trends, Niš 2014
Hardware (sysadmins)
• Poznavanje tehnologija i trendova
• Održavanje naloga, OS i software
• Security
• 24/7 coverage (poneko ipak radi i vikendom :))
18. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - PHP
• PHP 5.5.10
– Počeli smo sa PHP 5.2
• Made for web
• Double claw?
• Have it all! (proc, OOP, simple, complex, interpreted)
• Still alive and kickin’
19. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - MySQL
• MySQL 5.6
– Počeli smo sa 5.0
• Jedini storage (svih 15M članova)
• Long history, proven, open source
• InnoDB
• Replikacija
– 1-3 (R/O, backup, failover)
• NoSQL?
20. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - MySQL
• MySQL 5.6
– Počeli smo sa 5.0
• Jedini storage (svih 15M članova)
• Long history, proven, open source
• InnoDB
• Replikacija
– 1-3 (R/O, backup, failover)
• 8 meseci od restarta (upgrade)
21. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - MySQL
• MySQL 5.6
– Počeli smo sa 5.0
• Jedini storage (svih 15M članova)
• Long history, proven, open source
• InnoDB
• Replikacija
– 1-3 (R/O, backup, failover)
• 8 meseci od restarta (upgrade)
• 300+ milijardi upita, 15 000qps
• I/O
22. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - Web
• Lighttpd + php-fpm
– Apache + mod_php
• 18 000 domena
• 600req/s (50M+ req/day)
• 3.5Mb/s (~300Gb/day)
• Spor razvoj (nginx?)
23. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - Web
• Lighttpd + php-fpm
– Apache + mod_php
• 18 000 domena
• 600req/s (50M+ req/day)
• 3.5Mb/s (~300Gb/day)
• Spor razvoj (nginx?)
24. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - Cache
• MemcacheD (LiveJournal)
• 30Gb podataka
• jednostavnost
• ograničenja
• uh-oh...
25. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - Cache
• Redis
• 1Gb podataka
• hybrid/fusion (DB?)
• Različiti tipovi podataka
• MQ, Pub/Sub
26. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - NoSQL
• MongoDB
• MapReduce
• Logovanje
• Quirks!
• Drugi projekti
27. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - Mailing
• PowerMTA (Port25)
– StrongMail
• Jednostavnost, fleksibilnost, podrska, cena
• PHPMailer
• Avg 2M dnevno
• Max 1M na sat
• Statistike
28. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - Tools
• GIT (SVN)
– 4 godine, 6 meseci
– 60K+ commitova
– 20+ ljudi
• Veličina tima
• Features/Merges
• Hooks
– Syntax check
– Code sniffer
– Minify
29. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - Tools
• Testiranje i Merenje
• PHPUnit (TDD, refactoring)
• Selenium (functional)
• ab / JMeter (stress)
• StatsD / Graphite
• xhprof
30. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - Tools
• Phabricator
• Code Audit / quasi pairs
• Ticketing
• Web Interface (repo browser)
• Wiki
• Log
32. Online Entertainment Media Company Technology & Trends, Niš 2014
Software - Tools
• Encoding, EdgeCast, jpegmini
• ganeti
• percona-toolkit
• Cacti / Nagios
• *nix (grep, find, screen, ssh, scp)
• Google Analytics
33. Online Entertainment Media Company Technology & Trends, Niš 2014
Budućnost? Mobile.
• API-centric development
• Android & iOS
• Promena udela Jan 2013 – Jan 2014:
– Desktop: -15%
– Mobile: +31%
– Tablet: +61%
34. Online Entertainment Media Company Technology & Trends, Niš 2014
www.FirstBeatMedia.com
Hvala
PITANJA
Plantation, Florida, USA
linkedin.com/company/FirstBeatMedia
twitter.com/FirstBeatMedia