Tight Stack, Lazy Stack

Sam Boyer @sdboyer

Me

  • Drupaller since 2008
  • Maintain[ed] a couple of very popular modules
  • Architect of the drupal.org Git hosting platform
  • Co-lead of a Drupal 8 initiative
  • Architect-y person with NBCUniversal
  • DevOps zealot
  • Nowadays, I do PHP, Go, Ruby, JS, and Python
  • And probably, a guy who really needs a break from Drupal

Drupal

  • 13-year old PHP CMS/framlication
  • Old-school LAMP (mostly)
  • About 2% of all websites run it
  • Can run small to very big sites
  • Ginormous community

Drupal is, itself, a full stack application

But way more "lazy" than "tight."

OK, back up. Lazy stack? Tight stack?

Let's get meta!

PART ONE: KNOW YOUR USE CASE

"Full stack" starts long before bytes hit vim

There are approaches to this!

  • UX (kinda sorta)
  • Behavior-driven development
  • Content strategy
  • Domain modeling

Drupal has AAAALL its own words. Good luck modeling.

Content model is *really* flexible, though.

So, what is Drupal's use case?

PART TWO: LAYERS!

Full-stack-ish layers

Really really ish

Drupal's layers

Splaaaaat fat Druplicon stack

Modules and hooks: Drupal's stack-smoosher

Lazy stacks create bizarre problems (and knowledge)

Drupal 8 improves some of this...

But we still really like letting everything bleed together.

All that said, lazy stacks can create interesting problems

SUSPECT YOUR STACK

Lazy vs. Tight