#NodeSummit: API's and Endpoints at Scale

Date: Sat Apr 26 2014
Panel, moderator Theo Schlossnagle (OmniTI), Subbu Allamaraju (eBay), Chito Manansale (Sabre), Tim Millron (Twillio)

Advantages of using a platform like Node?

Event based I/O led to fewer mistakes than other platforms like Java.

Large enterprises can have lots of legacy systems. Sabre, over 40 years old, still has green screen mainframes. Always at the mercy of back end systems but the event model makes that easier to handle.

Typical front end engineers that know JavaScript generally knows little about concurrency of the sort that you'd see in a highly scaling server.

Developer centric components that handle concurrency control. Say you have a server with 200k connections, and the potentiality that all 200k connections could make requests at the exact same moment that requests data from disk. Rather scarey and Node offers no tools to manage that situation.

Sabre uses Node as a front end system to a variety of back end services.

Twillio has a service oriented architecture with a variety of languages in their server cluster.

Internal API points they're exposing only internally. Other API's they expose to the public are more stable more polished.

Most of the discussion was around flow control on the clients hitting the API. With a large number of clients there's no guarantee about the time based ordering of the requests on the server. The note above about what if all the clients hit the server at the same millisecond? Is there an answer?