Designing for Scale - Three Principles and Three Practices From Tapad Engineering

Writing software to reliably handle billions of events per day can be tricky. The system must continue to operate while we increase inbound traffic, add new features, test them, etc. Rebuilding the engine of a moving vehicle is an apt, if overused, comparison. Some guiding principles and practices make this work more manageable:

  • Principle 1: Design for Many
  • Principle 2: Service-Oriented Architecture Beats Monolithic Application
  • Principle 3: Monitor Everything
  • Practice 1: Canary Deployments
  • Practice 2: Distributed Clock
  • Practice 3: Automate to Assist, not to Control

You can read more about these topics on our guest post on High Scalability: Designing for Scale - Three Principles and Three Practices from Tapad Engineering.