Skip to content

Instantly share code, notes, and snippets.

@rjz
Created March 21, 2014 02:48
Show Gist options
  • Save rjz/9678498 to your computer and use it in GitHub Desktop.
Save rjz/9678498 to your computer and use it in GitHub Desktop.
Notes from Ben Acker's talk at #noderoad PDX

Ben Acker (@nvcexploder / Walmart) - Node in Production

  • Impetus: Walmart wanted a mobile presence. They built an application that looked like it was created by a giant retail operation--SOAP services, etc.

  • Started looking for other options: native apps,

  • Started with services team (worked on original app, spinning out to other mobile apps)--all of a sudden had loads of different clients consuming the services. Converting old soap/XML into something mobile-friendly?

  • High volume days (black Friday) start taking services down, and services team already distracted by mobile projects

  • Time to start building better services

  • Brought Eran Hammer over from Yahoo and gave him the go-ahead to use anything he wanted to improve mobile services. He chose node.

  • Walmart's been open-source from the start

  • But how to maintain legacy services?

    • Start with a node proxy out front (get node into production)
    • Expand to other services
  • Build + deployment process

    • Walmart's build is simple: npm install
    • Build on jenkins, scp everywhere
    • Node services stay simple, easy to write--and they're fun!
    • Node community has been enormously helpful in making Walmart Go Faster
  • Node Black Friday

    • Entire team (6) on Google Hangout + Live tweeting the entire time
    • Mobile web served entirely by Node
    • Analytics system written in Node (on top of some combination of RabbitMQ, Mongo, and Splunk)
    • 2-3 analytics calls per request
    • All native mobile services draw on Node
    • Black Friday went really, really, really well.
    • Caching, proxying, everything -- servers stayed flat (spikes made it to ~2%). Node Black Friday was boring--the best kind of coverage duty to be on.
    • Delivered an mweb fix in the middle of Black Friday. Going from Java deploys (up to a day) to a minutes-long node deploy was awesome.
  • Redoing walmart.com..and node team is it.

  • Node is an awesome tool for software projects. Community is good; getting better. If you've been around a while, help out. If you've got questions, ask. There's hardware, backend, frontend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment