Tuesday, March 10, 2009

How not to make money online ....

Wow cool .... what a great article. I truely agree with what was written and actually im sorry that i never really explained the whole idea behind what we did. I just didnt think anyone really cared but i guess now is a good opportunity to do so. Let me explain all the logic and the response to http://www.howtonotmakemoneyonline.com/2009/03/how-to-not-start-start-up.html.

Hownottomakemoneyonline:
I did a quick look on eBay for some of the computers they are using. Between everything including the server cabinets, servers, desktops, switches, router, drives, cables, accessories, we're probably talking $2,500-$3,000 easy


Out of all the comments, this is probably the only comment i dont agree on specially if its USD. Let me elaborate on the prices and see if i can find the reciepts (Note All in AUD):


Racks: $89 for the first and $180 for the second. They are the same type of rack but some people *really* want to get rid of their racks faster then others :)


DL580's (old white servers): $20-50 dollars each, all with atleast more then 2 gigs of ecc sdram
DELL 150GX's: $15 dollars each
GT2 ML's: $30-40 dollars each all with 18 gig hard disk and 1gig + of memory
DELL 2550's : $50 each


So lets do the sums

$15x10 for the dell gx150's: 150 dollars
$20x4 for the DL580's: 80 dollars
$40x4 for the ML's G2 servers: $160
$89 for one of the compaq racks (this included the monitor as well)
$180 for the other


Lets get out the calculator: hmmm .. thats $659 lets add another $100 AUD give or take. Alot of the network equipment are old nortel switches at throw away prices and i have a friend who is a cabler who has so much cable he doesnt know what to do with it .... and yes, he did all the crimping .... in an update i will post these pictures just to show im not BS'ing ;)


Let me add the other stuff that you didnt see: extra power into the garage: 2700watts (so it doesnt short the building) $250 for installation and parts so all up: $659 + $250 = $909.

All up AUD$ 909 dollars, tax deductable also at the end of financial year ... so lets say expenditure is about $800. Alot less then $2000 - $3000. If you knew me also you would know that i am frugal because these days money isnt in abundance and even though im not married or have kids i have alot of responsibilities to take care of :)


Hownottomakemoneyonline:
Power is another issue. Electricity isn't free and if they're planning on running the data center in their garage, like they said, then they have to power the servers 24/7/365. Even at idle, a typical computer can draw 60W of power.


100% spot-on. I did my calculations and electricity + internet costs would be ridiculous! Also remember we are in australia and here there is no such thing as gigbit bandwidth or even 100mbit bandwidth at a reasonable price. The only way to get the bandwidth that we require is to bond 100 tpg connections with 100 phone lines to get the 100megbits we need to match what could be provided at a datacenter ... does not make any sense right.


Hownottomakemoneyonline:

From what I could figure out, it's been over 8 months since he started and it doesn't look like the project went live. There's no mention of it in the blog anyway. The last entry was over a month ago.


Its actually been a year and a bit not 8 months. The build of the hardware took about 4 months or there abouts (later i will explain why i did it) but that isnt because we took that long to build, thats because we were waiting on the cheapest parts (that worked and required the least amount of fiddling around) to use. Hence the price of the equipment i listed above. If i didnt have a 9-5 that i have to go to for 4 days of the week and i didnt have to shop for the parts it would have taken one week at maximum to put this together.


Time is money ... agreed. But take a closer look at this scenario:


I work in a 9-5 4 days aweek. (negotiated 4 days instead of 5 because of this startup)
I have 4 hours after work everyday to work on the startup
I have 8-9 hours (there abouts) on the weekends from say 7 in the morning to 3-4 to work on the startup - (in which after that i usually go out :D)
I have 2 other co-founders working with me who are in a similar position.
I need to support my family (parents, sister etc)
I have a mortgage to help pay + alot of other responsibilities


When looking at that scenario it seems that i have more time then money meaning i can extend the period of time it takes me to do the project and spend less of what i dont have (money). So yes in a scenario where you have VC money and everyday is a *burn* day that is true, but in my situation it isnt the case. In my case i can exchange TIME for MONEY.


So .... time is money and i am spending time but not necessarily money (how can i, i dont have any :D) ... which leads me to my next point. The reason why i dont mention anything about my project or its status (in major details) or even what its about online is because i already predicted how long it would take considering all my responsibilities. As a result of the predicted time, i have to keep what im doing quiet until im just about to launch otherwise it would not be beneficial to me or my team.


And now why do i have this hardware setup ? .... drumrolll .... ITS TO TEST :)

Hownottomakemoneyonline:
This all looks like a lot of fun, but in the end they probably delayed the launch of their product and spent more money than if they bought one new, powerful server or got a dedicated server or VPS to start out.

Yes that is true, it was a lot of FUN ! you should see the pictures i didnt post :D, but on a serious note, WHY DID I SET ALL THIS UP? i did this because i need it for testing. When you write an application its behaviour when it runs on one machine may be totally different to when you load balance it over 2 machines or have databases on seperate machines and it clearly show'd during our testing. There could have been a mistake in the coding and if a user is balanced to the application server which they didnt connect initially they may get faults, we want to try as best to allieviate this as soon as possible cause when you have high traffic, the last thing you want to deal with core fundamental coding issues.


If we decide to scale horizontally with more hardware we can see how the *behaviour* of the application is. Note the word behaviour ... we dont care about the performance of the servers we care about the behaviour and whether scaling and running components of the application on different machines will introduce problems. I wanted to ensure that if we do get the really great problem of requireing to scale we do minimal code changes and just configure the application to run on different servers instead of having to rework code. I think that makes sense :) Oh and the 24/7/365 days a year of running this hardware ?


NO WAY .... i only turn it on when im testing, once testing is done it all gets powered off ... why, because its burning money ... i even take the cord out the powerpoint cause a server plugged into the power socket on standby takes about 20watts of power .... money i dont have :D



We also required multiple CPU machines because we want to employ the use of taskset and cpu affinity. This allows us to run certain processes on different cpu's. It doesnt matter if the cpu's are 550mhz or 900mhz or even 3.2ghz, main thing is we see the behaviour and we can always extrapolate after what the performance maybe when we deploy on better machines.



And again ... if you refer to the price i got all the equipment for im pretty sure if i were to EBAY them again i would MAKE money :) not loose it ... $89 AUD for a rack, im sure i could fetch $150, what you say ? $20 dollars for a server, im sure i could fetch $25 ? $15 for the old gx150's ok i would probably put them up for $10 :) bit of money lost there ...


Thanks for the article though, it prompted me to get abit more honest as to why i did the things that i did. A few days ago (funnily enough the same day that http://www.howtonotmakemoneyonline.com/ posted their blog entry) i actually contacted theplanet for server prices for our production system and it is suprisingly cheap. Rackspace was to expensive for now, there was a provider in brisbane that was ok but i wanted US based to cut down on latency.


Here is a screenshot of what theplanet quoted :) .... It seems very reasonable and i think this is the way ahead.







if you cant see it its USD$222


I guess all i can say is, if your interested watch this space to see what we have come up with. Its definetly going to happen and we are really close. Its been a hard road but its worth it and alot of lessons have been learnt along the way :)

2 comments:

Anonymous said...

Hi,

Glad you found my post interesting.

Those decommissioned servers do have their purpose and are very cheap.

I have some myself. I needed a couple of sparc based machines and got one free and bought another one cheap. I also picked up a proliant server to use as a development server in the past.

The reason most companies are getting rid of those servers is because they cost too much to keep them.

Most of the time, the server isn't being replaced by a new server. They are buying one newer, more powerful machine and consolidating older servers using virtualization technology.

That's the route that might be best for you. You can have a look at Xen and OpenSolaris Zones.

Network settings can also be throttled to mimic being on a real wire network.

You would be able to create as many virtual servers on one physical machine as you wanted. Each virtual server acts like a real server and would most likely have revealed the same issues you have found by running on separate physical servers. That's why I said I can't picture a need for multiple real servers. You could build yourself a pretty nice 1u server for around the $1k you spent. If you factor in the rent, that's another $600 or so.

You could go into production with the one server, then as your traffic increased and you needed to expand, you could add another server and offload some of the virtual servers from one machine to the other. I've done this myself and it works out very nicely.

As for using taskset for cpu affinity, you can still do that in a VPS. In many cases, cpu affinity won't give you a dramatic improvement, but if it will in your system, you still have that option.

If you had a dual quad core machine you would have 8 cores and you can use taskset to bind a process to a particular core.

My guess though is that you're using cpu affinity to overcome the performance limitations of your existing hardware. Modern schedulers do a good job in a mutli cpu/core setup. The only time I've seen taskset or pbind used was when the application didn't work well past a single cpu.

But that's a performance consideration. In my opinion, it's best to deal with those by profiling the setup after deployment. No need to spend a considerable amount of time writing complicated code to push the limits of your setup if you never get the traffic to need it.

I understand that in some cases you have more time than money but you have to look at the big picture and it seems like you understand my point.

In those situations, it's also important to use the time effectively and move quickly so your time starts turning into money as soon as possible.

Have a look at the video on the following link. It has a lot of great insight for people planning a start-up.

http://onstartups.com/home/tabid/3339/bid/7196/Video-from-Business-of-Software-Everything-I-Know-About-Startups.aspx

Anonymous said...

It's 2022, and I just came across this blog after searching for garage datacenters. I started reading from the beginning (no cheating) and now I'm at the end. I'm wondering how this all turned out. Perhaps the blog entry on hownottomakemoneyonline deterred Garage CEO from continuing the blog... Anyway, Garage CEO, if you're out there, I'm dying to hear the end of the story!