hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio
hawk enterprises portfolio








counter
Select Country/Language FrancaisDeutschEspanolItalianoPortugeseJapaneseKoreanChineseArabicRussianEnglish
Current Projects
portland paranormal.com
xxk search
battlenow
bighawk casino
Hawk Enterprises News

Article Release on CreativeCoding

Tags: by Hawk on 10.31.07 9:55 pm

the original article is here : http://creativecoding.webforumz.com/

The Divide – Equipment Costs vs. Development time

Time for the wonderful discussion that drives myself and many developers, managers and business owners insane. The decision is to upgrade. In my story I have found myself twice in the same position, choosing to upgrade a mail server for use by 35 people. I would like to outline the two options that made it to the table and the outcomes of each.

The Divide - image

These numbers are as recent as March 2007.

Two approaches or also known as The Divide

Cheap Equipment, Developer Investment Great

I’m sorry to say but the world has been duped by the computer manufacturing and software industry. There is a push for faster and faster computing power but in all actuality its because of crappy software that we need all this power. I run almost all my servers on under 1ghz, I’m writing to you on a 1.3ghz machine and it’s overpowered. What happens is that someone comes up with a great “framework” or rapid application development or RAD kit and developers build on top of that without ever reviewing the internals of the code for a solid foundation.

This can cause all kinds of slowing. For instance let’s take a short example of what goes down when you view a web page (this is a mock simplified example reality may differ)

  1. Client Browsers Requests a Page (Zombie Massacre forever!)
  2. Web Server Requests operating system to find requested page.
  3. Operating system finds page and sends it to a Web Server Compiler.
  4. Web Server Compiler finds and request Database Server for data.
  5. Database Server returns data to Web Server Compiler.
  6. Web Server Compiler Finished and returns information to Web Server.
  7. Web Server Returns Request to Browser.
  8. Client gets to play silly zombie massacre game.

This happens at an apparently fast speed to the user but it does seem to be a lot of work for something like a zombie massacre game. It would seem to me the first thing would be pre-compile the information and avoid that whole layer, and not too mention many other advance optimization techniques. But of course this can be also fixed by throwing more power and more bandwidth at the operating system and application to get the desired results. Buy bigger servers and operating systems! Yeah!
Thus the DIVIDE.

In the example above we chose three cheap computers. Each computer won’t be faster then 2 GHz, no more than 2GB of ram, and be running fedora core. The main application is postfix and dovecot. It’s built to stand up to over 300 users and any one of the computers can fail and the other two can maintain the load, and not lose email.

The applications for mail and operating are free, and will remain free. The parts of the computer are very cheap to replace and generally don’t fail to often. (This is the way Google started out) The downside of this type of setup is that it takes everyone to test it thoroughly to insure its setup properly and will fail over properly etc. In the example above you’re looking at 120 developer hours or 1 week in real time.

The mail servers themselves act in, what I know to be called, a “star-ring” network. In other works all the computers are connected to each other and to the outside network. Thus you have a total of 3 incoming connections of which two can fail and still work. You also have each computer with two connections to the others. When laid out it resembles a starburst hence the name.

A downside of this setup is that you not only need to know what your doing (although there is a ton of help on the internet), you also have to spend a lot of time configuring each box to each other. Also what comes with such configuration is a lot of testing to ensure proper execution. However no matter which way you go this should be performed. Especially if you have consultants do the work.

High equipment cost, Low developer time

Consultants are in my books a lot of the time the front man for duping the world about software and servers. In my experience they generally will talk you into more than you need and also make it sound like it was your decision, and you know your RIGHT.

In the example above we have 1 guy that says in 12 hours he can setup two Dell Power Edge 2950. One that has 12GB of ram, 6 raided drives, 2 quad core processors, and a partridge in a pear tree. The other similarly configured just downgraded a bit as it will be a backup server.

The servers will be setup as a failover only, which as far as I know is the only easy way to setup Microsoft servers. Failover only means that there is 1 front computer that pushes all the information to the backup computer, in case of an issue you hot-plug in the backup computer also know as a heartbeat or lifeline.

This setup has several problems but the idea is that each computer contains 4 processors in it and thus should be able to fail several times as a single box before needing a hot-plug. The flaw is that the processors share devices such as ram, HDD, bus cards, etc. otherwise know as “single points of failure”. But we will ignore that.

The consultant in this case is using Microsoft products and is a MSCE, Microsoft Certified Engineer. He has been certified as knowledgeable by Microsoft. He spends a great deal of time working on setting up the servers, about 8 hours. He also informs you about all the annual costs for the software. The next 3 hours was spent setting up the server in the rack and running wires, which during this time I ask myself, the company is paying him $125/ hour to operate a screwdriver and wire cutters. I digress; the last hour was spent testing. A whole hour! (This might have not been the golden child of the MSCE program).

Well it was safe to say that yes he did setup the system within the allotted time, however a week later a hard drive shadowing problem came up and some emails were getting lost because a hard drive was only seen by part of the system. Sounds complicated doesn’t it. Well after 8 hours @ $125 this time, plus an additional rush charge of $300 we had a system completed and up.

Reality

Microsoft products and high-end servers are everywhere. Microsoft works great with Microsoft products and has a lot of great features that are useful to businesses. However they are built on stacks of code and frameworks which slow down execution, complicate configuration and overall cost more in licenses and equipment. You can generally set them up much quicker and there is a name recognition that can’t be beat.

However with a bit of effort and time you can take even the most heavily loaded tasks and services like email and place it on a cheap box and have it work well for you. In my office my development server, movie server, router, and DNS/firewall all run on two 1 GHz boxes with 1 GB of ram. The total time and cost was 10 hours, and $70 for the computers at Goodwill. (Thrift store in the states).

So next time you are loading up that great zombie massacre game take a moment and think about all the possible code that lies underneath, all the millions of system calls to make it so you can select that shotgun and pummel the undead. Then ask yourself is this really the most efficient way?

No Comments yet »

RSS feed for comments on this post. TrackBack URI

Leave a comment

You must be logged in to post a comment.