Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 08 Jul 1999 17:01:37 +0000
From:      "Miguel Gilly" <mgilly@bonsai-studio.com>
To:        freebsd-advocacy@freebsd.org
Subject:   FreeBSD as Webserver (long)
Message-ID:  <199907081506.PAA09942@luna.pingnet.ch>

next in thread | raw e-mail | index | archive | help
Bonsai Studio: Web Design and More
http://www.bonsai-studio.com
Content-type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit

Hi,

This is a _long_ message about FreeBSD as Webserver, Hardware-Monitoring
support and a Web based configuration of FreeBSD.

first I'd like to tell a little about me:

I'm currently involved in the web design business, and what brought me to
FreeBSD, was the need for a Webserver. First, I considered a solution on
Macintosh with Webten (=Apache), an OS I worked with over the last years.
After playing around with Webten for a while, the whole system crashed. So I
started to look at Linux which is supposed to be stable. I digged at Linux
sites for a few weeks, and installed Suse 6.1 on my PC. I wasn't very
excited, though I know MS-DOS and Windows 386, 3.0, 3.1 etc. and was used to
tweak config files. However, two weeks ago I discovered the FreeBSD site. It
was much more what I was looking for: Serious, professional attitude and a
conservative approach. Built to last and survive in production enviroments.
That's exactly what I was looking for. But after some time, I realized, that
there are some significant things missing in FreeBSD (as well as Linux
btw.): An intelligent clustering software for webservers and support for
Server Hardware Extensions (read: hardware-monitoring, logging and alerting
on Intel Server Boards or IBM Netfinity series for example).

This leads to this mail offering some suggestions. Probably they where
posted before, as the need is obvious, so forgive me if I recite old
requests for the n'th time.

1. Redundant, scaleable remote webserver clustering

The idea behind this is simple. Take two cheap Boxes, colocate them at
different ISP's, and if one server fails (one ISP goes offline, a harddisk
or NIC fails or whatever else happens) the other one takes over. Add more
servers as needed either at the same ISP or over more remote sites to grow
with your needs. Mirroring the content is not such a problem, but load
balancing and health monitoring requires an intelligent software (let's call
it router), that

1. Works on the same machine as the webserver or on a dedicated machine
2. Traces the client to determine it's location and direct him to its
topologically closest available router
3. Keeps the client on the same webserver during the whole session, to allow
e.commerce and SSL connections
4. Keeps a record of load, health and cache-content of all servers within
the cluster as well as the  load and health of all other routers (one router
only manages it's own servers, and communicates with all other routers that
manage their own servers. Routers report overall load of the cluster).
5. Scaleable from a simple 2 servery configuration to a worldwide clustered
cluster of hundreds of servers.

Hardware price/performance considerations:

One Enterprise Level Quad Xeon with 2MB caches and RAID costs around 50-70K,
depending on what you buy. 12 P2/450 Boxes with 256 MB RAM each cost around
15K, and offer more CPU performance, which is relevant for dynamic content
and SSL encryption. Add a redundant Fileserver with RAID and ATM (OC-3)
networking for another 15K. What do you get for half the price of an
Enterprise Server? More redundancy and more CPU power. Tradeoff? Heat, power
consumption, required space. If that's not a problem, it's your solution.
That is, if you have the right software. You can buy boxes w/o redundant
power supplies, redundant NIC's and without any disks (LAN boot) or use
small IDE-Flash disks to boot. If one box fails, take it out, fix it, and
put it back in. The point is, you can start with two boxes and scale pretty
well until a certain level (where you will compete with the largest sites of
the world or even beyond), by adding a central fileserver, switch-ports,
network bandwith (OC-12) and more remote sites. All your investements are
protected, from the very beginning with your first server pair.

Or a more simple example: Take two simple AMD K6-3 boxes with SCSI drive and
compare the price to a redundant server with the same performance. You pay
less for the two boxes and have more redundancy. For example, though it
rarely fails, the mainboard isn't redundant on a conventional server, no
matter what price range. Also the software isn't (a software hang cuts the
whole service off). You can twist and turn it as long as you want, two
non-redundant small boxes offer more redundancy than a single redundant
server, probably for less money.

The cluster-software is the core of all. Keeping users on the same machine
during a session and maintaining a cache record and load status of each
machine within a cluster allows an efficient use of the caches, preventing a
popular site to fill all node-caches with its content as it happens with
simple load balancing.

2. Hardware-Monitoring:

Intel Server Boards and servers from IBM, HP, Compaq etc. offer all enhanced
hardware monitoring capabilities. Unfortunately, only few commercial
operating systems are supported.  For a server that is in a mission critical
enviroment, hardware monitoring is imperative. FreeBSD would strenghten it's
position as reliable, bulletproof Server OS by supporting those features. It
would also convince more decision makers to switch to FreeBSD, because from
a marketing point of view, it has a lot of weight. Think about spending a
lot of money for a IBM Netfinity server, put FreeBSD on it and you can't use
all those nice things that distinguish it from a simple PC... The same goes
for Intel Server Boards, that notify the administrator when a CPU fan fails
or even when an entire CPU goes down (in SMP systems). But again, no support
in FreeBSD.

It would be enough to focus on one OEM supplier (Intel) and one System
supplier (IBM), instead of supporting all kinds of extensions. Both brands
mentioned above are known to be conservative and offer reliable products for
x86-world standards.


3. Web based configuration for FreeBSD

To attract more non Unix folks (I had to push myself quite a bit to accept
the challenge of Unix, but I finally saw no alternative to a Unix-based
webserver), a GUI based configuration would be a great thing.  This is also
a part where I would be willing and able to contribute.

Back to the web business: Today, more complex sites become standard: Dynamic
content, scripting extensions, databases, SSL certificates and custom
logging to name the most common. The typical Virtual Server offering of an
ISP can't fullfill the demands of a professional website. A webdesigner is
very soon at a point where he considers to buy his own webserver to have
full control over his projects and colocates it at an ISP. Now, especially
smaller companies don't have always a Unix savvy team member, so they are
tempted to go with one of those popular gadget operating systems, as they
fear the complexity of Unix and expect high support costs. To make Unix (in
this case FreeBSD) more attractive and also productive to them, a GUI based
administration is the key. I'm thinking about a browser (HTML) based GUI,
that starts shell scripts on the host. It can be easily used over the web to
administrate a server. It would allow Mac users (most webdesigner are) to
stay in their enviroment (Mac Browser) when they access the Unix server,
which gives them a familiar feel and builds up trust to the new system. This
convinces more than any feature list, I guess.



Summary:

What's basically needed for a great webserver package is the webcluster
software, hardware-monitoring support and a web based GUI for FreeBSD.

All this would make a great turnkey solution based on FreeBSD, which could
be offered additionally to the standard distribution.

As webservers there could be a choice of Apache and Roxen (and others). You
put in Floppy and CD, it asks you few things on startup (i.e. which
webserver to install), and there you have a preconfigured, ready to use
webserver with web based administration. You could even put it on a headless
machine, eliminating the need for a keyboard or graphic adapter.

It would attract all kinds of web design companies, ISP's, organizations and
corporations or whoever else is in need of a reliable, redundant, scaleable
and easy to maintain webserver (who's not?).

Similar commercial products are available, but either are they not
scaleable, don't allow SSL/ecommerce and dynamic content or they are in the
highest price ranges (again not scaleable to small configurations).

Offering this above mentioned functionality in a free OS would make it a
real no brainer which system to choose, and in a lively and fast growing
market like the Internet, it would help FreeBSD to gain widespread
popularity in the webserver space, which can be considered as prestigious.

Though the desktop/workstation segment is also interesting, I think this
could be addressed with another specialized package of FreeBSD. Again, a web
based GUI administration as found in certain webservers would help a lot to
break the ice between mainstream users and Unix. HTML is quickly edited and
makes it a really flexible and future proof choice for configurating FreeBSD
(also remotely over any SSL capable browser).



Best wishes

Miguel Gilly


PS: A less controversial and more business friendly mascot wouldn't hurt to
promote FreeBSD (go ahead, hit me ;-)  )

--
Bonsai Studio
Web Design & E-Commerce
http://www.bonsai-studio.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-advocacy" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907081506.PAA09942>