Your SlideShare is downloading. ×
0
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
DevOps <3 node.js
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

DevOps <3 node.js

185

Published on

Pr

Pr

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
185
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. DevOps <3 node.js github.com/miccolis | twitter.com/miccolis
  • 2. SaaS DevOps @mapbox Not the kind of job where I expected to use javascript.
  • 3. “Ah, right server side javascript” What is node.js again?
  • 4. “Yea, cool so your front end devs can help, and you can use the same libraries, and probably even run all the same code on the server or the client, right? That’s great!” Everyone’s first response to node.js
  • 5. No. Everyone’s first response to node.js is wrong.
  • 6. <html> <body> <script> alert("Hello World"); </script> </body> </html>
  • 7. <html> <head> <script src="jquery-1.2.6.min.js"></script> </head> <body> <script> $(document).ready(function(){ $("#mydiv").html("Hello World"); }); </script> <div id="mydiv"></div> </body> </html>
  • 8. Most of that was DOM
  • 9. $(document).ready() ...will be disregarded as just boilerplate.
  • 10. It’s true, you can use the same libraries. They all expect async I/O
  • 11. And build a framework where the application can run on the client or server! https://github.com/developmentseed/bones
  • 12. YMMV
  • 13. It’s not what most people expect, but there are good parts.
  • 14. Async I/O Done the most simple way that could possibly work.
  • 15. First class server support The node.js ‘hello world’ is a HTTP server, in 6 lines.
  • 16. A package manager The best I’ve ever worked with.
  • 17. The kinds of things that make my life easier.
  • 18. Node.js & C10K 1. Event loop & non-blocking I/O 2. Simple & direct API; `callback(err, ...)` 3. ? 4. Profit
  • 19. Node.js & HTTP • Any node.js program is a HTTP server (or could become one with trivial effort). • Your program is defined by its HTTP API, and can be tested as such. • Stateless, tested == rapidly deployable.
  • 20. Node.js & NPM • Requires semantic versioning. • Completely captures dependencies. • Handles multiple instances of the same package with different versions. • Wildly inclusive.
  • 21. In practice
  • 22. Building servers • Lots of small projects • Scale independently • Varying lifecycles
  • 23. Packaging • Every commit hits CI testing • Every commit is built into a deployable “slug” • Anything merged into `master` is considered production ready.
  • 24. Streamlined deployment • Main client-side application is automatically deployed on every update to `master`. • Other applications can be deployed by any developer using a single CLI command.* * database cluster’s still require babysitting.
  • 25. Because I need HTTP servers that scale... Why node.js?
  • 26. ...and a strong open source community helping with libraries. Why node.js?
  • 27. Thanks Questions?

×