> we've actually been trying to go in the opposite direction, mostly for ease
> of deployments. we have a cluster of CF servers, and every time we do a code
> push, we have to migrate to all servers. it's annoying and prone to
> problems.
Actually that's exactly the way we have our new high availability
environment configured. All the code runs off an EMC device. Not sure
why I didn't draw this parallel yesterday with running the CFML on one
server and the CFCs on another server--as long as you have a
sufficiently fast network (we're on gigabit) and device/drives (our
stuff is fiber channel), then as you mention below performance probably
isn't an issue. I'd be curious if doing this over 100 megabit with more
low-end hardware would perform as well as having things on a local
drive, however.
> We want to move all our code onto one machine, such that no webserver has
> any code on it at all. we deploy code to one machine, and all webservers on
> the cluster benefit from the push. this machine is not web accessible at all
> and thus one could say less prone to security problems than a webserver is,
> although i'm not sure that's such a good reason. mostly for us it's ease of
> deployment.
Yep, very true, and although the NAS/DAS device isn't *directly*
accessible via the web, remember that's it's accessible by the user
that's being used by the web site users, so there isn't a huge security
benefit here vs. having the code locally. You're absolutely right
> separating normal cfm files from objects seems kind of silly, when if you
> want security you'd put all code on a separate, non-web-accessible machine.
Yeah, this is where we head was earlier in the discussion--putting the
CF "pages" on one server and the CFCs on another just seemed a bit wacky
to me.
> thanks to CF mapping, you can just point "/" to the code root of hte machine
> on which the code lives, and all is well with the world.
> This is actually how we have our internal environment set up, it's just our
> production environment where our host is a pain in the a.s about it.
Right, this is what we do on our production environment but we don't
even use a CF mapping (though you could). We just point our web server
to the EMC device and everything else just falls into place, provided
you've set up the user CF and your web server process (or using "connect
as" in IIS in W2K3) are running as so they have access to the network
storage device.
> i'd be extremely surprised to see a performance problem with this setup.
> It's not like the web servers are in philly and the code servers are in
> taiwan, sending thousands of bytes per second. you've probably literally got
> the webserver sitting right beside the server on which the code lives. it's
> virtually the same thing as just keeping CF on the C drive and all the code
> on the D Drive (assuming disk speeds on the machines are adequate).
True, good point. We have extremely good performance (might even be
*faster* than local drive speed) with our EMC device, and again I'm not
sure why I didn't see this parallel yesterday in the discussions. Blame
it on a very hectic week. ;-)
Matt

Signature
Matt Woodward
mpwoodward@gmail.com
Adobe Community Expert - ColdFusion
CFDEBUG - 28 Apr 2006 15:00 GMT
Marc, That was a great idea. So basically if I have a server within vendor dmz
and another server within trusted network, I can put the "/" mapping in my
vendor dmz server and let it point to all the code in trusted network server
and the trusted network server will not have any webserver at all?. So if the
user accesses the site, it goes to the vendor dmz server and then it gets the
page from trusted network server due to mapping?.
Marc E - 28 Apr 2006 20:24 GMT
I think so. also, since the cf files are just byte code when CF actually
gets them, the "code" itself isn't being read from disk except for the first
time it's loaded into the JVM. so in terms of disk reads, it's minimal
except on startup. that is, if my understanding of jvm is correct.
i asked about this on java.programmer, and someone on there said the same
thing you did matt: that reading from the external drive could conceivably
be faster if the drive on that machine is faster, as is apparently typical
with storage type devices. i'm no expert here, though. of course, all fo
this is probably splitting hairs anyway.
> Marc, That was a great idea. So basically if I have a server within vendor
> dmz
[quoted text clipped - 6 lines]
> the
> page from trusted network server due to mapping?.
Yeah I dont think Matt has had experiance with these sort of n tiered
architectures. Your not going to get performance issues from executing
a cfc thats on another server in this sort of architecture any more
than having a database on another machine will be a bottle neck. Often
the reverse.
What CFDEBUG was trying to do is often considered a best practice and
usally its trivial to show performance gains but just testing the
typical 3 tiered application approach versus a N tiered application
using a load and testing tool.
Robi