Beyond the MEAN Stack: Thinking Small with Node.js for the Enterprise
Post on 10-May-2015
DESCRIPTIONPresentation from Node Summit 2013. You could be using Node as one component of a larger stack, but to do so would be wasting a lot of Node's most powerful features, including its huge ecosystem and thriving community.
- 1.Getting small for the enterprise.Beyond the MEAN stack@othiym23 firstname.lastname@example.org github.com/othiym23
2. you chose Node for a reasonNode is fast Node is modular Node is fun 3. so why turn it into something else? 4. Node is built on the sound engineering values: low coupling high cohesion 5. is theofWeb development is more pattern-driven: is this social media? is this a storefront? is this is this a cms?. 6. moduletopia Node loves modules: more all the time available for almost every use case pretty easy to understand (mostly) on GitHub (mostly) freely usable 7. stacks: khakis of the internetfamiliar: faster to build things you already know comforting: already integrated / tested / shipped easy: developers only need master one set of tools 8. stacks are stickyopaque: full of implicit assumptions and requirements complicated: hard to master, easy to break monolithic: have to pay for the whole thing (but only using some of it) 9. Node says: build only what you need. 10. one size does not fit all 11. one size does not fit all 12. one size does not fit all 13. some Node use cases streaming json apis multiplexing soft realtime proxying you know, fast web servers 14. & some legacy glue dat: scraping & etl dinosaur taming: Oracle & xml ~50k modules:theres a pony in there somewhere Windows: best support of any of the major scripting languages 15. the zen of Node self-contained: code over configuration modular: inversion of control & direct dependency injection simple: one small thing in one short file and so: easy for new people to pick up, easy to maintain 16. be nice, not mean 17. MEAN: MongoDB 18. instead of MongoDB: Redis fast: data lives in memory powerful: many different data types, lots of operations flexible: many options for high availability and clustering a veteran: battle-tested in Node 19. instead of MongoDB: MySQL* simple and fast are its best features time-tested some data are just plain relational can actually be managed * or PostgreSQL (