Meetup presentation on database cleanup

Monday Feb 13th @ 7:00pm Pacific

Attend

Sean Conklin, WooCommerce Freelance Developer in California, Sean@CodedCommerce.com, vm: (818) 835-5960
Account
Cart
Contact

Architecting million dollar projects

05/08/2018
Huge traffic, Transactions, CMS as a platform, Decoupled implementations

I was inspired by a webinar I recently attended, Architecting Growth–How to Crush Million Dollar Projects by Pantheon – a geek friendly managed host for enterprise WordPress and Drupal clients. This webinar is presented by their co-founder and discusses much of what they’ve learned providing infrastructure for larger scale projects.

This presentation covers their content management system (CMS) software-as-a-service (SaaS) delivery model in addressing scalability problems often seen in eCommerce, viral causes, campaigns, and news cycle use cases. Some challenges that arise from these use cases are:

  • Traffic spike handling
  • Transaction / processing growth handling
  • Expanding sites/properties that demand CMS as a platform
  • Pitfalls of coupled architectures

Conventional wisdom holds that CMS systems cannot well handle large scale traffic. They get into their methodology of combining heavy caching with horizontal scaling architecture and DevOps best practices to make the CMS powered enterprise work at scale.

Here’s a bit about their caching and scaling architecture:

  • Edge layer – secure socket layer (SSL) termination, content delivery network (CDN), cached static pages/posts, geographically disbursed
  • Service layer – Load balanced application nodes (web servers) on autoscale running NginX and PHP7
  • Micro-service layer – Caching with Redis objects/transients, micro-service database with replication for read optimization, home built Valhalla cloud file system optimized for content, and Apache Solr search indexing service

General recommendations for scaling CMS sites:

  • Test well in a environment that mirrors production including load testing and telemetry
  • Plan releases during off hours is a huge anti-pattern and is not advised, instead develop a solid release process
  • Support continuous integration (CI) by not letting your development get held back in the name of stability
  • Service oriented architecture that decouples applications as well as front and back ends and properties

Empower multiple teams that utilize common back end features with their various front end systems. A broader development team manages the core system while site specific development is managed by local developers. This continuous integration (CI) pattern of development uses a release flow that beings with an upstream core site, feeding individual development sites, then staged and released to canary production sites, then less customized production sites, followed by the heavier production sites.

34.2007784-118.6153824

Share this:

  • Mail
  • Facebook
  • LinkedIn
  • Reddit
  • Twitter

Need help?

Request your free introduction call

Contact form
close

Search this site

Blog categories

  • Blog (88)
    • Events (11)
    • Marketing tips (27)
    • Official blog reposts (10)
    • Popular (9)
    • Technical tips (59)
    • Videos (12)

Product categories

  • Services44 products
  • WooCommerce code snippets261261 products
    • Back-end code snippets7070 products
      • Admin interface4949 products
      • Run-once2121 products
    • Front-end code snippets163163 products
      • Email notifications1818 products
      • Cart2424 products
      • Checkout2828 products
      • Elementor code snippets99 products
      • JetPack code snippets44 products
      • Navigation menus22 products
      • Payments66 products
      • Product pages2929 products
      • Search88 products
      • Shop and product categories1818 products
      • Storefront theme1717 products
      • User accounts2323 products
    • Site-wide code snippets4242 products
  • WooCommerce plugins44 products

Copyright © 2018-2023 Coded Commerce, LLC. Privacy policy
Automattic Inc. owns and oversees the trademarks for Woo™ and WooCommerce®.