Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Open Source as A Service

yawnt
March 17, 2013

Open Source as A Service

yawnt

March 17, 2013
Tweet

More Decks by yawnt

Other Decks in Programming

Transcript

  1. Open Source as A Service
    ICT Days Trento – 21/03/2013

    View Slide

  2. Who Am I
    @yawnt github.com/yawnt [email protected]
    I do code.
    I’m a developer from Vicenza (Italy)
    who also loves snowboarding and
    traveling.

    View Slide

  3. So how does a PAAS actually work?

    View Slide

  4. CASE STUDY

    View Slide

  5. What Nodejitsu is
     it’s a PAAS (acronym that stands for Platform as a Service)
     PAAS (together with IAAS and SAAS) is a type of service model in the cloud
    computing industry
     we make deploying and scaling web applications a breeze
     the end customer doesn’t have to worry about hardware management
    and hosting configuration

    View Slide

  6. What’s so special about it?
     it’s the first platform entirely built on and for node.js
     pretty much everything that composes it is open source on Github
     highly community-focused (we love going to and sponsoring confs)
     multiple clouds (Rackspace, Joyent, Azure, ..)

    View Slide

  7. OSS @ Nodejitsu
    How it began

    View Slide

  8. The early phases
    the technology wasn’t production ready, first year
    was spent evangelizing node to make sure it
    became more used and mature.
     Nodejitsu is founded
     $ node –v
    v0.2.0
    2010
    2011
    2012/13

    View Slide

  9. Private Beta
     Nodejitsu is founded
     $ node –v
    v0.2.0
    2010
    2011
    2012/13
     private beta
     $ node –v
    v0.4.0
    all the libraries were opensourced, distributed and
    maintained in order to make node more
    appealing to coders
    “we first built the ecosystem and then the
    business”
    @anoemi

    View Slide

  10. Public beta and Individual Plans
     public beta / paid plans
     $ node –v
    v0.6.0-v0.8.0
     Nodejitsu is founded
     $ node –v
    v0.2.0
    2010
    2011
    2012/13
     private beta
     $ node –v
    v0.4.0
    other libraries were opensourced (pkgcloud and
    winstond amongst them) and Continuos
    Deployment with Github integration was added.
    Nodejitsu now hosts open source projects for free
    (https://opensource.jit.su)

    View Slide

  11. OSS @ Nodejitsu
    Meet the family

    View Slide

  12. Flatiron
     32 repositories
     full-stack Node.js web framework
     collection of decoupled tools
     promotes development separation and code organization
    github.com/flatiron

    View Slide

  13. Nodejitsu
     29 repositories
     mostly system-oriented
     abstraction over different providers (pkgcloud)
     definition of protocols on the top of TCP (nssocket)
    github.com/nodejitsu

    View Slide

  14. Node Apps
     6 repositories
     targeting beginners
     examples of different apps targeting specific node.js features
     great for learning
    github.com/nodeapps

    View Slide

  15. Node Docs
     66 repositories
     general purpose documentation on node.js
     submit your article with a pull request
     full of neat tricks
    github.com/nodedocs

    View Slide

  16. OSS @ Nodejitsu
    The Stack

    View Slide

  17. A wild drone appears!
    App
    Think of a small VPS with some bundled tools that help you keep your
    application online and continuously monitor it
    Haibu
    Forever

    View Slide

  18. Haibu
     allows you to spawn and manage several
    node.js apps on a single server
     wraps processes in a «carapace»
     carapace allows Haibu to extend applications
     carapace supports a plugin architecture
    enabling maximum flexibility
    github.com/nodejitsu/haibu
    Install it
    $ [sudo] npm install –g haibu

    View Slide

  19. Forever
     ensures that a script runs continuosly
     supports log files
     can be used with non-js scripts
     if you plan to use it programmatically, forever-
    monitor is available
    github.com/nodejitsu/forever
    Install it
    $ [sudo] npm install –g forever

    View Slide

  20. How it fits together
    Proxy + Load Balancer
    App
    App
    App
    • http
    • websockets

    View Slide

  21. Http-Proxy
     supports websockets
     SNI compatible
     low latency and minimal overhead
     easy to use API, can work as a middleware
    github.com/nodejitsu/node-http-proxy
    Install it
    $ [sudo] npm install –g http-proxy

    View Slide

  22. An example
    var http = require('http'),
    proxy = require('http-proxy');
    var proxy = proxy.createServer(8000, '127.0.0.1');
    proxy.listen(9000);
    var server = http.createServer(function(req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end("Hello ICT Days");
    });
    server.listen(8000);

    View Slide

  23. What about deployment?
    Master API
    jitsu
    webhooks
    webops
    Deps Builder
    OMGSTART
    App
    Services
    Rest API

    View Slide

  24. Jitsu
     full Nodejitsu API support
     ships with example node.js applications
     integration with npm
     multi-transport based logging system
    github.com/nodejitsu/jitsu
    Install it
    $ [sudo] npm install –g jitsu

    View Slide

  25. View Slide

  26. That’s all folks!
    If you have questions feel free to ask now or catch
    me later.. also i have some Nodejitsu stickers in case
    you want one :D
    also..
    Q&A!

    View Slide