Currently, this seems more interesting to me as a GCD[1] technology demo. Looking at #initialize and #open in the code[2] shows how easy GCD can be to use. Create a queue and add tasks (in this case as Ruby "do" blocks).
I'm looking forward to someone posting some benchmarks comparing ControlTower's connections per second and speed to other web servers.
This is interesting, but Apply is going to need to show the server space a little love before people will start to seriously consider OS-X as a server target -- but they should, because they have a nice cut of developer mind share and an advantage to leverage (not that they should, but they could) with iphone/ipad web services
I think Control Tower is primarily meant to run local web services in situations where you don't want to depend on anything except Mac OS X and MacRuby.
As you can see it has no external dependencies and is the only web server –apart from WEBrick– which runs on MacRuby without compiling any additional code.
Yeah, seriously. I can't even imagine how I would use this in production. Super expensive Xcode + built in apache that probably can't proxy to a backend server all that easily? It's just too inflexible to be seriously considered.
Here is one interesting bit from the nut-shell: "We are also interested in other non-traditional ways an embeddable Ruby web app server might be useful for native app development."
Sorry, meant Xserve. Apache can be modified, yeah, but you'd have to edit the config file manually, bypassing the graphical interface that Mac OS X server gives you.
Why not? It's easy to administer, has administrative capabilities similar to Linux and it's pretty stable. I'd rather have production Mac servers than Windows servers personally.
It also has no real support, even at the enterprise level[1]. At MacWorld 2009, the entire Mac IT speakers track agreed that their best move had been switching all of their servers to Linux, hands-down, simply because Apple isn't interested in being a serious player in the server space. If you're a small design shop, yeah, an XServe is probably going to be fine but if your needs are any more serious this is a lot of risk to take for generally more expensive servers.
[1] Simple example: 10.5.2 broke NFS permissions so non-owners could not write to files. The phone support could do nothing about this and we had two choices: wait months for the next fix, patch darwin ourselves and run with a custom kernel (i.e. completely unsupported), or use a different server. The situation's not much better on the hardware side.
No package management, some services simply breaking between upgrades, the lack of a package management can turn it to be horrible to deal with needed third party software when security flaws arise if you have more than one server running.
Comments
Currently, this seems more interesting to me as a GCD[1] technology demo. Looking at #initialize and #open in the code[2] shows how easy GCD can be to use. Create a queue and add tasks (in this case as Ruby "do" blocks).
I'm looking forward to someone posting some benchmarks comparing ControlTower's connections per second and speed to other web servers.
[1] http://developer.apple.com/technologies/mac/snowleopard/gcd....
[2] http://svn.macosforge.org/repository/ruby/ControlTower/trunk...
This is interesting, but Apply is going to need to show the server space a little love before people will start to seriously consider OS-X as a server target -- but they should, because they have a nice cut of developer mind share and an advantage to leverage (not that they should, but they could) with iphone/ipad web services
I think Control Tower is primarily meant to run local web services in situations where you don't want to depend on anything except Mac OS X and MacRuby.
As you can see it has no external dependencies and is the only web server –apart from WEBrick– which runs on MacRuby without compiling any additional code.
Yeah, seriously. I can't even imagine how I would use this in production. Super expensive Xcode + built in apache that probably can't proxy to a backend server all that easily? It's just too inflexible to be seriously considered.
Here is one interesting bit from the nut-shell: "We are also interested in other non-traditional ways an embeddable Ruby web app server might be useful for native app development."
I'm not sure I understand. Xcode is free with OS X. Apache on OS X is just like any other Apache, it has mod_proxy, etc.
Not to mention you can install Nginx or any number of other web servers.
Sorry, meant Xserve. Apache can be modified, yeah, but you'd have to edit the config file manually, bypassing the graphical interface that Mac OS X server gives you.
As a Python developer on the Mac, I'm burning with envy.
Why? It's just as easy to get a Gunicorn server running, and it's not platform locked the way this is.
Does this only run on a Mac? If yes, who would want to use a Mac as a production web server?
Why not? It's easy to administer, has administrative capabilities similar to Linux and it's pretty stable. I'd rather have production Mac servers than Windows servers personally.
It also has no real support, even at the enterprise level[1]. At MacWorld 2009, the entire Mac IT speakers track agreed that their best move had been switching all of their servers to Linux, hands-down, simply because Apple isn't interested in being a serious player in the server space. If you're a small design shop, yeah, an XServe is probably going to be fine but if your needs are any more serious this is a lot of risk to take for generally more expensive servers.
[1] Simple example: 10.5.2 broke NFS permissions so non-owners could not write to files. The phone support could do nothing about this and we had two choices: wait months for the next fix, patch darwin ourselves and run with a custom kernel (i.e. completely unsupported), or use a different server. The situation's not much better on the hardware side.
No package management, some services simply breaking between upgrades, the lack of a package management can turn it to be horrible to deal with needed third party software when security flaws arise if you have more than one server running.