Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Yahoo! scale Node.js
1. Yahoo! scale Node.js
@Fabian_Frank
<fabian@pagefault.de>
The Yahoo! Axis Team
http://axis.yahoo.com
2. Challenges
• Being able to share code (across
applications)
• Dynamic configuration, per environment
• Stability and performance
3. Code re-use
• Different applications (teams), same
problems
• Potential side effects, e.g. through
unexpected updates
4. npm
• Package manager for Node.js packages
• resolves dependencies automatically
• hosts packages in a central registry
5. Mojito and npm
• Every Mojito application can specify its
dependencies in package.json
• Mojito probes node_modules/, when
loading Mojito resources
http://developer.yahoo.com/cocktails/mojito/docs/topics/mojito_npm.html
8. Internal npm
• Only the build system can publish packages
• Packages are published only after unit and
functional tests passed
• immutable packages
9. Dynamic configuration
• Change application behavior without
redeployment
• JSON is a common way to express
configuration in JavaScript applications
• YQL Storage holds JSON
http://developer.yahoo.com/yql/guide/yql-cloud-chapter.html
17. Stability
• Yahoo! Axis is served using Mojito and
Manhattan
• Hundreds of requests per second
• Static HTML and CSS, dynamic pages,
API entry points
• Monitoring
18. Building and Maintenance
• Need to know only one language and
framework, no context switches.
• Allows to postpone design decisions
• Easier to revert design decisions
• Easier deployment and resource allocation
http://developer.yahoo.com/blogs/ydn/posts/2011/11/yahoo-announces-cocktails-%E2%80%93-shaken-not-stirred/