Suggestions for a Startup Web Company
mochaone asks "I've always admired the Slashdot crew for putting together a great site that has vastly contributed to the internet experience. I have an idea for a website that I think has great potential also. I would like to know how slashdot (or any other webcompanies) got started and what tips they might offer? Should I use webhosting services or provide content on my own computers? What's a typical server setup -- separate boxes for web servers, database, banners, etc? T1 line or T3? How often should I backup data if providing content on my own computers and should I store backups offsite? Any other tips are welcome. More interested in the high-level, architectural issues rather than the "Use Debian over Redhat" or "Use Python over Perl" issues. I think those have been covered in other Ask Slashdot features. "
You have to lookat what everyone has and not do that. It is something people have already seen, thats my /. and mp3.com are so successful. You have to think of something origional and neat to do. I recommend a T1 with a nice server to use. A suggestion is to use a raid 1 so that you can pull one drive just in case, and you will always have a backup. Definatly seek some hosting and co-locations beacause you can charge and pay the fixed costs with that stuff. Then you can think about dial-up and dsl hosting as my company has. You aren't going to get very much from dial up so it is almost not worth doing...i might be biased towards dsl/co-location/hosting. brings in more money to cover your bottom line.
/. you prolly won't need a t3.
Good server setup:
Pentium iii 400-500
256-384meg of ecc sdram
adaptec aaa-131 (1 chan) raid card or the aaa-133 for 3 chan.
raid 1 or 5 depending on your space needs
and a t1, go with one t1 then multiple t1s then think about a t3. Unless you are getting hits like
that should be enough to get you started, and not have to upgrade the actual server for a while.
JediLuke
JediLuke
-Do or Do Not, There is no Try
I use different boxes for different type of content: ordinary Pentium 100's for the static pages and PII-350 + for dynamic content (perl, c++, asp). You could add a server just for images and graphics.
This type of load balancing is real easy, but it's not fail-safe: if one server dies, all the site is affected. That's why I have a few old boxes with replicated content that are ready to rock in case a server dies. All I need to change is the IP.
A T1 line is not very hard to saturate, and to some extent, only one server could probably manage the whole static/dynamic/graphic content.
We have a T1 line and host our own content. This way you get much better control. We use one tape backup per server, and investigate our logfiles as to when the best time to backup is. That's typically 3am for us.
Daily if not half daily. Do full backups at least once a week and incrementals in-between. If you could do full's everyday, all the better. If you can also do redundancy, that would kick butt too, but redundancy (what?) redundancy (what?) is no replacement for backups. Take backups offsite. A must.
As for services, have a different host-name for each service... so if you wanna move your database off of your web machine, www.myhost.com still hosts the web and db.myhost.com still hosts databases.
Make sure to use the latest (or at least clostest) to the newest stable unix you can. Make sure you keep your software up to date security wise and feature wise when it is intelligeble. (If we are on HTTP 1.2, you should probably upgrade to keep up on standards.)
Other tips, make sure you have a policy for the machine. Even if its for 3 people working on the machine, if rules aren't established early on, chaos may ensue when conflicts arise or the company grows. Most important, be openminded to learning. But you seem to have that. ;>
---
-
ping -f 255.255.255.255 # if only
for a 2-3 hundred/month you can get a dedicated hosted server from someone like dn.net (where btw slashdot is hosted). You will have access to massive bandwidth and full control over the box. You could also find a (semi)local company that provides similar services in which case you would have physical access to the server.
Even load balancing between 5 boxes hosted at dn.net will probably cheaper than running a dedicated T1 line to your office.. And your servers will be on multiple-DS3s..
If you're really serious about getting into web stuff, study http://arsdigita.com/ and http://photo.net/, as there's stuff like an entire book online on how to set up a serious e-commerce site. And the author's an entertaining writer, too.
You need to answer basic business questions 1st.
What is the market you are serving?
Why are customers going to come to you, and keep coming back to you over others?
Does anyone in your group of people understand basic accounting?
Do you know how to run the accounting package you have chosen?
How are you going to link this accoutning package to your business?
And the REALLY big one:
Do you have the money to do this?
Sweat, blood and credit card advances only go so far.
Go to the public library, any of the small business web sites, and even (gasp) the IRS and do some reading. They will tell you ALL kinds of questions you should be asking. Like Insurance, type of business org., etc.
After you have done the above mentioned research *THEN* start wondering about DS1 or DS3, colocation, etc.
If it was said on slashdot, it MUST be true!
--
I've seen a lot of posts here regarding T1s or T3s. I've done a bunch of research into this, and it breaks down into this:
/.'d once, but the rest of the month you're back to normal...you don't get charged for the /. (if it fits in that 5% usage).
You pay for your local loop (from your local telco) from your location to your service provider (UUNet or Qwest etc.). That typically costs around $350-$450 for a T1, and a little more expensive for a T3. Then you've got your net connection charges. You can get a fractional T1 or T3, and have less bandwidth to use, but you're not paying as much. When you need more bandwidth, give 'em a call, and they can up it for you.
That doesn't work so much with T1s, 'cause it really doesn't make sense price-wise since theres a lot of money involved in the connection itself, regardless of the bandwidth.
I've found Qwest to be the cheapest solution, and I hear the quality is really good (guarenteed 100% uptime, and 0% packet loss...within their network). What you could do, is purchase a T3, but only pay for 3megs of bandwidth (its usually charged in increments of 3 megs). Need more bandwidth? Add another 3 megs.
There are other solutions (especially for T1s) called Burstable T1s. This is where you only pay for an average bandwidth...for instance, they monitor your bandwidth usage every 5 minutes (in the case of UUNet), and average out your usage. They then take off the top 5% of your bandwidth, and then charge you for what you've used. The 5% off the top is so that, say for instance, you get
Anyway...My suggestion is, if you're expecting a lot of growth, get a router that can support up to 45 megs/sec (full T3), get a T3, but only pay for 3 megs to start. For me, I figured the monthly bandwidth charges to be around $1300 for a T1's bandwidth, and $350 for the local loop. I can't remember what the charges were.
Lemme say again, that UUNet is EXPENSIVE! And, from an ISP standpoint (which is where my day job is), they're down a lot. I've never dealt with Quest, but they're pretty responsive to their customer service calls, and they boast a really sweet network.
And I order you and Slashdot to immediately seize and desist all usage of our internationally copyrighted phrase "... for dummies". We have court decisions backing IDG's exclusive right to address the dummies of the world.
Though, given how in line your advice is with other IDG publishings, we may consider giving you a book contract for this one...
-
We cannot reason ourselves out of our basic irrationality. All we can do is learn the art of being irrational in a reasonable way.
Before you start a business you need to do a lot of planning. Places like startups.com can help you with that. You need to devide whether you are going to be a Corp, Inc., or LLC. Do I want to give up equity in exchange for deniro. Do I have the money to start this? Do I have the money to support myself while my business is loosing money? Am I a manager or an engineer? Do I want to bring in experienced managment to help me run it.
Rob was one of the lucky ones. He just had a good concept and worked hard. Most people aren't that lucky!8 out of 10 startups fail, and not in a blaze of glory. (Anyone remember Pen Computing.)
=====
There are alot of good resources out their:
My favorite three:
SBA Online: Small Business Administration
- http://www.sba.gov
My Favorite Venture Capitalist: Garage.com http://www.garage.com
They have a ton of resources for those thinking about getting started.
SCORE: Service Corps of Retired Executives
You can talk to people who have been their done that. Over email or in person. There free too.
Cheers,
WFE
===========
It's about the content, stupid Ultimately, the growth and popularity of your site is determined by the quality of its content, not its looks. Don't worry about looks until much, much later. Too many people shift too many resources too early into good looks. Remember, you've got finite resources. I've seen many sites fail because they spend all their effort getting the look just right, and never get the content right. Marketing types fret a lot about protraying the right image and all that crap; they have to fret about something because they rarely understand any of the actual details.
All code has bugs This simple law of programming applies to websites. Whatever ideas you have now about your website are not complete. Slashdot is always tweaking its content to create a better user experience. This actually dovetails with the point above: too many sites get customer feedback about things that need to be changed, but cannot because it would break the cool graphics, or the master design. Design your system NOW for constant tweaking, or you won't survive.
KISS (Keep it Simple, Stupid) People get enamored with the latest technologies and build websites that require the latest browsers with all featuers turned on. If you do this, you'll kill your site. Test with Lynx and make sure it provides an adequate (though not wonderful) user experience, then it'll likely work for everyone else. Cool stuff like Java, plugins, scripting, etc. are nice for sprucing up sites a bit, but if you depend upon them, you'll kill your site.
Focus! This is how marketing departments kill good work. Engineers try to create very focussed products that solve specific needs well, marketing tries to broaden the product's appeal, overloading it with features that end up satisfying no-one. Start broadening your appeal only after you've created a solid user base. For example, our company does business with another company that we have to help figure out very basic issues, because they aren't focusing on the technical problems but the "story" of where they are going. If they don't clean up their act, they will fail.
RAIL Redundent Array of Inexpensive Links. Grab two DSL lines from independent providers; that's all you need for a really popular site. Of course, that's assuming that you've followed the KISS principle above -- a lot of sites have huge graphics that quickly eat up bandwidth. You could easily maintain 20,000 hits/day and not eat up a 384-SDSL link. The chief problem isn't bandwidth by reliability. Even hosting companies like AboveNet and Exodus go down when backhoes take out their backbones. A RAIL solution solves this problem: DSL lines are a lot less reliable, but two DSL lines (from different vendors) are more reliable.
Backups You MUST have offsite backups. Also, assume any machine connected to the Internet will be corrupted (i.e. static content should be kept internally and regularly mirrored out onto the Internet servers).
Hacking um, you WILL be "hacked". Plan for it. I mean it. For example, your servers front-ending your site will easily be hacked, but if you plan on that contigency, you can usually harden your database server against further incursion. Don't believe me? Follow these steps: (1) go to Yahoo and search for "wwwboard passwd". (2)about every other link will be a pointer to an WS_FTP.LOG, which you replace with the file "passwd.txt" (3) run these passwords you get through a 'crack' program (4) poof, you thousands of passwords with only a few hours worth of work. Note: in this example, firewalls don't help.
Platform The underlying platform is irrelevent, in both security and performance. You should strongly consider PERL for dynamic content, only because it is the most used (and consequently, when you hire people to work on your site, this is what they'll know). Geeks like to fight over the most technologically elegant solution, but issues like hiring experienced programmers that can maintain it are far more relevent IRL.
Manage growth You will be too optimistic about growth in the beginning, and too pessimistic at some later date. You'll do a bunch of stuff that you think will drive people to your site, but they will fizzle. Then out of the middle of nowhere something happens and hits shoot up 10 fold. Be ready for both (watch cash flow and don't overspend now, but be ready to upgrade capacity at a moment's notice).
HITS Note that one of the Internet scams is people that promise to drive hits toward your site. This is all crap: all such techniques are publically available, and since this is your core business, you need to learn all of them yourself.
Outsourcing Outsource everything that isn't your core business. This is the Internet baby, you don't have time to build a company. You can't hire people fast enough, and you can't hire good enough people. You also don't want to be giving stock options out to people that don't directly influence the companies growth. For example, don't have a human resources person doing health insurance, outsource it to a consultancy. Many of the .com startups use this approach and have surprisingly few people when they go public. Conversely, the previous section is a good example: when it is your core business, DON'T hire consultants or outsource it -- do it yourself.
There's more, but I think this message is getting long enough.
- company iq==(total employee iq/employee#)
own the data
- owning/possesing the data allows you to do lots of things with it. Data hosting is a core activity of ASP's. Own/posses the data, you can do lot's of neat things with it.
complete the data loop
- from customer/user input into a database, useful information is filtered back to the client using the Internet and it's protocols.
use the internet protocols 2 your advantage
- smtp:
develop a minimal rock solid product.- email back results of non-immediate jobs
ftp:
- allow large files/data that can't be email to be accessed.
http:
- presentation layer of services
xml:
- new one but such organisation could revolutionise your text file storage.
extend and leverage your logistics.- by using the internet and your database, development tools to automate functionality: ie: web backups of databases the transfer DDL, BCP data, codebase, log files from different areas on the site to a centrally located removable hard disk or Jaz disk: I've don this myself.
- one that does not crash or crashes minimally. Customers wont praise you but will let you know if it does not work.
give your customers a cheap basic product to start with.
- dont give a cost hurdles for customers to adopt your product.
leveredege existing binary products
to use Internet facilities with objective of upgrading customers to the web.- migrate those binary products to use internet protocols with the idea of upgrading all/most of your services to the web.
Become your own ISP
with control of web servers, DNS, databases ISDN internet link etc.- you have full control of your domain, you can do everything you possibly can.
Maximum bandwidth decides you maximum audience.
- bandwidth dictates the speed, reliability and user experience: Use slashdot growth as an example.
Fund initial expansion without going into debt.
- dont waste money and go into debt. Finance growth on profit until venture capital is possible.
Have bloody lots of fun
- if you cant code what you want, play the games or build robots, code some great code you wanted to do you will not enjoy the work. Play hard, work hard.
Dont give up
- startups fail, dont let this stop you. Check out what happened to Crack.com. Do you think these guys are giving up. Wonder how long ddt and jt are back building FPS or RPG post Transmeta and JiJit? failure makes you smarter!, comebacks make you legends
try to use a higher level dev languge
, use the source!: scripting not binary- binaries are hard work. The develop, compile, build, create install, release cycle is way to long. Scripts are the way to go. Error, just go to the script (text file) and make a change.
peterrenshaw ~ Another Scrappy Startup