Drupal is not your website

tobby

Developing Drupal for high-scale, fragmented sites

This session is meant to be a primer to enterprise concepts and how they can be applied to Drupal development.

A modern, high-scale Web site is a composite of decentralized fragments that are assembled on the edge, in just-in-time fashion as the content is being delivered to users. Sometimes, a load-balanced PHP environment just can't serve the traffic you have, but you still want to build it in Drupal.

Drupal is a great Content Management System, and a powerful Development Framework. But the Drupal instance that runs the show is not always the end-all-be-all website that users will ultimately interact with. In a world of web-scale and high-availability, it becomes increasingly important to build your Drupal instance with the bigger picture in mind.

Integration with Varnish, CDNs, and other caching systems help Drupal scale. This also prevents users from ever reaching the "origin", which means all users see the exact same page. If users never interact with Drupal directly, then how can you customize the overall user experience? Also, Web sockets lets you display changing content (sports scores, news updates, stocks) in actual real-time updates.

With ESI, JavaScript/AJAX, Web sockets, and integration with third-party services, it's all possible. It just takes a shift in thinking and how you approach the site build.

This session will explore how to build a Drupal website that will interoperate with other web components, live behind CDNs, and make heavy use of caching layers, yet still maintain a positive custom user experience (complete with "Hello username" links and "your comments" blocks). It will focus on the pitfalls that many Drupal developers never even consider (eg, device detection for mobile), and how to overcome them.

See this blog post for a better idea of what this session will cover.

Session Track

DevOps

Experience Level

Beginner

Drupal Version