Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Deploying node applications at scale

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Deploying node applications at scale

Avatar for shikharkapoor

shikharkapoor

December 01, 2016
Tweet

Other Decks in Technology

Transcript

  1. A modern front-end engineers job Webpack React Redux Gulp Node

    Angular Express GraphQL NPM MongoDB Grunt Jest Mocha
  2. • Branching Strategies • Continuous Integration • Accelerating build times

    • Packaging • Deployments • Monitoring • Testing
  3. Branching strategies • Decide upfront and enforce them. • Master

    is sacred! • Feature flags are your friends.
  4. Shorter but fixed release cycles Mainline/Master Release - week 1

    Fix Feature Fix Release - week 2 Feature Feature Fix
  5. Short cycles/ Daily deployments Mainline/Master Fix Feature 1 * Fix

    Feature1 * Feature 2 * Feature 2 * * Features get pushed to master daily, with feature flags
  6. Continuous Integration • Tools • Automate mundane tasks like linting,

    unit test .. • Build on merge • Store artifacts
  7. Accelerate build times • Build once, promote everywhere • BUT

    be careful of the gotchas • Freeze dependencies (Yarn, Shrinkwrap) • Offload mundane tasks to orchestrators
  8. Packaging • How do you package and send your code

    to the server? • Git clone • Archive and copy • Debian (FPM, Post Install, Versioning, easy reverts)
  9. Deployment • Manage your environments, keep them as similar to

    production as possible. • Blue-Green? Rolling? • Keep your deployment scripts close and your rollback scripts closer!
  10. Monitoring • What should you monitor? • Trends • Stack

    traces/ deep dives • How do you monitor? • OpenTSDB based tools like Grafana for trends • Sentry/ NewRelic for deep dives and stack traces
  11. Testing • What to test? • Functional - Automate critical

    flows. • Unit tests • Non-functional • Capacity testing and API Fanout • Performance • RUM / Synthetic - SpeedCurve, Dareboost