unicorn Ruby/Rack server user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
From: Eric Wong <normalperson@yhbt.net>
To: mongrel-unicorn@rubyforge.org
Subject: Unicorn future plans
Date: Mon, 14 Jun 2010 12:46:25 -0700	[thread overview]
Message-ID: <20100614194625.GA4089@dcvr.yhbt.net> (raw)

Hi all,

Some of you are wondering about the future of the project, especially
since we're nearing a 1.0 release.

== 1.x - bugfixes and Rack-compatibility synchronization

The 1.x series will focus mainly on bug fixes and compatibility with
Rack as it evolves.

If Rack drops the rewindability requirement of "rack.input", Unicorn
will follow ASAP and allow TeeInput to be optional middleware with
newer Rack versions.

Rubinius should be fully-supported soon, as it's already mostly working
except for a few corner-case things Rubinius doesn't implement (issues
filed on their bug tracker).

== 2.x - the fun and crazy stuff

First off, there'll be internal API cleanups + sync with
Rainbows!/Zbatery This won't be user visible, but it'll be less ugly
inside.

=== Scalability improvements

I don't know if we'll see hundreds/thousands of CPUs in a single
application server any time soon, but 2.x will have internal changes
that'll make us more ready for that.  It could be 5-10 years before
massively multi-core machines are viable for web apps, but it'd
certainly be fun to max out Unicorn on those.

I'll be less shy about sacrificing portability for massive scalability.
Correct me if I'm wrong, but Linux is the only Free kernel that scales
to monster multicore machines right now, so I'll primarily focus on
working with features in Linux.

Currently, 8-16 cores seems to be the sweet spot (and has been for a
while), and present-day Unicorn handles that fine as-is.

=== Features (for Rainbows!, mainly)

IPv6 support and SSL will come, too.   These features will mainly be to
support Rainbows!, though some LANs could benefit from those, too.  I'll
have to review the MRI code for those, but I'm leaning towards only
these new features under 1.9.2+.

Multi-VM (MVM, Ruby 1.9 experimental branch) support will probably
happen only in Rainbows! rather than Unicorn.  A true fork() is still
safer in the event of a crash (but less memory-efficient).

== Miscellaneous

I have no plans to provide commercial support, but I'll continue
offering free support on the mailing list (or private email if you're
shy).

As some of you may have noticed; I don't endorse commercial products or
services at all.  This won't change.  However, there will probably be
more commercial support available from 3rd parties after a 1.0 release.


Thanks for reading!

-- 
Eric Wong
_______________________________________________
Unicorn mailing list - mongrel-unicorn@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying


             reply	other threads:[~2010-06-14 19:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-14 19:46 Eric Wong [this message]
2010-06-14 20:58 ` Unicorn future plans John-Paul Bader
2010-06-14 22:10   ` Eric Wong
2010-06-15  7:09     ` John-Paul Bader

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://yhbt.net/unicorn/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100614194625.GA4089@dcvr.yhbt.net \
    --to=normalperson@yhbt.net \
    --cc=mongrel-unicorn@rubyforge.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhbt.net/unicorn.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).