Drupal and Node.js    Ad hoc caches & Scalable Drupal powered web services
/about/me  Founder @Chief Geek @
“There’s a module for        that!”
• Multiple response format  (REST, XMLRPC,JSON, JSON-RPC, SOAP,  AMF)• Pluggeble access control• Amazing integration with ...
but....
“If all you have is a hammer, Everything looks like a nail”
Gavri’s AppSmall ec2 instance1.7 GB of Ram
All Memory - 1700MB              Free Memory - 1500MB     Avg Drupal process size ~ 30MB1500 / 30 = 50 Concurrent
Introducing Node.js“Node is a server-side JavaScript interpreterthat changes the notion of how a servershould work.Its goa...
Introducing Node.js“Node is a server-side JavaScript interpreter thatchanges the notion of how a server should work.Its go...
Introducing Node.js• Built on the V8 engine (chrome’s veryfast browser engine).• Can handle thousands of concurrentconnect...
All Memory - 1700MB                  Free Memory - 150000k      example node.js process size ~ 100k1500000 / 100 = 15000 C...
“But If we improve concurrency   by 500X won’t that just -    Jam Mysql even more?”
Introducing MongoDB• Document oriented storage• Full index support (+geo)• Replication and High Availability• Querying• Ma...
+Both: • speak Javascript • “Understand” json documents • Are Very fast • are very popular and together are a path well tr...
When To use this pattern?• JSON API’s• Single Page Apps• Shelling out to unix tools• Streaming Data• Soft Realtime Applica...
When NOT to use this pattern?• CPU Heavy tasks• Simple CRUD / HTML apps• Just for the BuzzWord compliance.
Let’s look in depth in to one of these usecases... • JSON API’s • Single Page Apps • Shelling out to unix tools • Streamin...
1. Node based API Serverserves mobile/widgets etc..2. MongoDB databasestores state.3. Services module dealswith interactin...
Swifto DEMO
1. Node based API Serverserves mobile/widgets etc..2. MongoDB databasestores state.3. Services module dealswith interactin...
<?php
{    Code & presentation    @ github    https://github.com/linnovate/nodejsdrupal
contact@linnovate.net{    For any help setting up an ad-hoc cache    or for any interesting funky Drupal challenge    we’d...
Questions          For more information visit:            http://www.acquia.com            eMail: sales@acquia.com or     ...
Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services
Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services
Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services
Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services
Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services
Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services
Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services
Upcoming SlideShare
Loading in...5
×

Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services

11,142

Published on

Published in: Technology
1 Comment
9 Likes
Statistics
Notes
  • Well, I've taken a plunge into synthv1 and have come up with some usable presets. As soon as I've got about 10 or 15 presets I'll pack 'm into a tarball and post a link. Big brother I'm not a synth connoisseur so don't expect über-awesome presets. When it comes to documentation I have three words: rtirq README procrastination.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
11,142
On Slideshare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
58
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide

Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services

  1. 1. Drupal and Node.js Ad hoc caches & Scalable Drupal powered web services
  2. 2. /about/me Founder @Chief Geek @
  3. 3. “There’s a module for that!”
  4. 4. • Multiple response format (REST, XMLRPC,JSON, JSON-RPC, SOAP, AMF)• Pluggeble access control• Amazing integration with available modules (Views, System, node, taxonomy, authentication ... )
  5. 5. but....
  6. 6. “If all you have is a hammer, Everything looks like a nail”
  7. 7. Gavri’s AppSmall ec2 instance1.7 GB of Ram
  8. 8. All Memory - 1700MB Free Memory - 1500MB Avg Drupal process size ~ 30MB1500 / 30 = 50 Concurrent
  9. 9. Introducing Node.js“Node is a server-side JavaScript interpreterthat changes the notion of how a servershould work.Its goal is to enable a programmer to buildhighly-scalable applications and write codethat handles tens of thousands ofsimultaneous connections on one, and onlyone, physical machine.”
  10. 10. Introducing Node.js“Node is a server-side JavaScript interpreter thatchanges the notion of how a server should work.Its goal is to enable a programmer to buildhighly-scalable applications and write code thathandles tens of thousands of simultaneousconnections on one, and only one, physicalmachine.”
  11. 11. Introducing Node.js• Built on the V8 engine (chrome’s veryfast browser engine).• Can handle thousands of concurrentconnections with minimal overhead.• Ability to share code between server andclient• Vibrant Community• Great package management (npm)
  12. 12. All Memory - 1700MB Free Memory - 150000k example node.js process size ~ 100k1500000 / 100 = 15000 Concurrent
  13. 13. “But If we improve concurrency by 500X won’t that just - Jam Mysql even more?”
  14. 14. Introducing MongoDB• Document oriented storage• Full index support (+geo)• Replication and High Availability• Querying• Map Reduce
  15. 15. +Both: • speak Javascript • “Understand” json documents • Are Very fast • are very popular and together are a path well traveled (relatively speaking)
  16. 16. When To use this pattern?• JSON API’s• Single Page Apps• Shelling out to unix tools• Streaming Data• Soft Realtime Applications
  17. 17. When NOT to use this pattern?• CPU Heavy tasks• Simple CRUD / HTML apps• Just for the BuzzWord compliance.
  18. 18. Let’s look in depth in to one of these usecases... • JSON API’s • Single Page Apps • Shelling out to unix tools • Streaming Data • Soft Realtime Applications
  19. 19. 1. Node based API Serverserves mobile/widgets etc..2. MongoDB databasestores state.3. Services module dealswith interacting with Drupal4. Drupal is the front forcontent creation
  20. 20. Swifto DEMO
  21. 21. 1. Node based API Serverserves mobile/widgets etc..2. MongoDB databasestores state.3. Services module dealswith interacting with Drupal4. Drupal is the front forcontent creation
  22. 22. <?php
  23. 23. { Code & presentation @ github https://github.com/linnovate/nodejsdrupal
  24. 24. contact@linnovate.net{ For any help setting up an ad-hoc cache or for any interesting funky Drupal challenge we’d be glad to help...
  25. 25. Questions For more information visit: http://www.acquia.com eMail: sales@acquia.com or Call: 888.9.ACQUIA Follow us: @acquia Lior: contact@linnovate.net Kieran Lal – kieran@acquia.com Today’s webinar recording will be posted to:http://acquia.com/resources/recorded_webinars
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×