"PHP projects beyond the LAMP stack" by Thijs Feryn
For people in open source, LAMP is a very common acronym. But as your site or application gets more popular, you'll notice that your stack needs more than just Apache, MySQL and just PHP: there are more pieces to the puzzle. This talk will feature a bunch of "new" components that are used by modern day applications at scale. Components like: Nginx, Varnish, ElasticSearch, Redis, RabbitMQ, NodeJS, Go, HHVM and many more. The end goal is to assemble a proof of concept that is fast, scalable, highly available and modular. We'll still use PHP, but only where it makes sense.
34. ✓Cache pages and static assets
✓Fastest way
✓Hit rate may vary
✓Chop your content up in pieces
✓Use ESI or AJAX
✓Gateway to your application
Where does Varnish fit in?
35. You can also
host your
static files on
a separate set
of Nginx
servers
64. ✓ Full-text search engine
with drill-down search
✓ Human language & text
analysis
✓ NoSQL database
✓ Big data analytics tool
using Kibana
Where does ElasticSearch fit in?
73. ✓ Take load away from user
process
✓ Free up resources on
frontend servers
✓ Elaborate messaging
strategies
✓ Async event-based actions
Where do RabbitMQ/workers fit in?
74. But with most of
these tools we still
go through the
PHP runtime …
82. ✓ Compiled language for the web
✓ Invented by Google
✓ Strictly typed
✓ Feels like your average
interpreted language
✓ Async features
✓ Built for systems programming
✓ REALLY fast
✓ Not object oriented
Go(lang)
86. ✓ Cache pages (Varnish)
✓ Assemble content via ESI or AJAX
✓ Static assets on Nginx or CDN
✓ Business logic in lightweight API calls
(NodeJS, Go)
✓ Key-value stores for volatile & real-time
data in Redis
✓ ElasticSearch as a NoSQL database
✓ RabbitMQ for async communication
✓ Worker processes read from message
queue
End game