

Ask HN: Startup infrastructure setup - maheshs

I am about to launch my startup (Thanks to HN and PG). We did all legal activity. Now time for execution, but first thing we need to consider office set up, we already have some small space where we can setup our office. I am seeking advice for office infrastructure setup for 6-7 people. 
I list down following items<p>-Backup 
-PCs 
-Servers 
-Hosting solutions 
-Chair, Table 
-Source Code versioning 
-Online Meetings 
-Mail Hosting 
-Printers 
-Networks 
-White board 
-Office stationary 
-Internet<p>Please suggest if I miss anything also please advice what all I have to taken care before buying/arranging these items.
======
justin_vanw
Most people here are guessing and have no clue.

Get furniture at a local university for almost free:
<http://www.purchase.umd.edu/ttrader/> for example.

\- Hosting: Doesn't matter at first. Get a VPS, or use Amazon EC2. Do not buy
any hardware and do not lease rack space. Don't get anything you have to
physically touch yourself.

\- Developer workstations: Convince everyone to use their own computer. If
they won't do that, find someone else. Anybody worth a damn at a startup is
already going to be more comfortable with their own setup, so it is a red flag
if they expect you to buy them a computer. If they just can't afford a
computer, buy them the cheapest macbook and a cheap 24" LCD, and upgrade the
memory yourself. Make sure they sign something committing them to give the
laptop back when their employment ends.

\- Make sure someone knowledgeable is in charge of making the development and
build environment totally automated on every platform you intend to have
people developing on, which is usually linux and osx. If someone wants to
develop on windows tell them no, getting a development environment working is
too painful and would waste significant time to set up (unless you are on
windows specifically, then the reverse). Setting up the development
environment should only require running a single script and waiting awhile for
it to complete. This will be done lots of times in the next couple of years,
don't make people waste a bunch of time on it. Also, when the build
environment changes, you need to have a script to run to update everyone's
environment. This can simply wipe and recreate it, but it shouldn't take more
than 5 minutes or so to do any updates after the initial install. Don't let
the guy in charge of the development environment script say 'oh, it works on
macs, you just have to edit this file when it is done and change this value'
or crap like that, just get it down to running that one command, because every
change is (time to apply change) * (number of people) of time lost. If
everyone is working in the same place, you can avoid having copies of the
database on everyone's laptop, and as people break the development database
your DBA can learn the value of constraints and limited user accounts that
will thwart attacks and data corruption later. Otherwise, there needs to be a
sql script to run to transition the database from the old state to the new
state whenever there is a schema change. Don't bother with automatic tools
that try to do this, they do not work. Make sure everyone can access an up to
date dump of the development database (if there is one) in a pinch to fix
their dev environment.

\- Office space: Could easily become a huge expense. If one of the founders
has a house, convert their garage by installing a stand-alone air conditioning
unit and some extension cords. Make sure you have a signed lease for the
space, and you are paying the house owner for the use (even if 'payment' is
just iou's from future profits). Remove every single thing from the garage,
buy 6 gallons of light colored paint and paint it, and do a great job,
multiple coats. Make every employee help. Buy lamps and throw rugs from ikea
and make it livable. If you can't get a garage, and one of the founders has a
multi-room apartment, convert their living room if it is large enough, and
otherwise this is like the garage. Write up explicit rules for the use of
anything other than the garage/living room, and make sure everyone but the
owner of the home sticks to the same rules (either everyone can wander around
the house or nobody can, I would say nobody). Obviously you will have to allow
access for everyone to a single bathroom, and preferably a shower. Make sure
everyone takes turns cleaning the bathroom. Buy smoke detectors. Buy a bunch
of big pillows, bean bag chairs, or other super cheap furniture, and set up a
carpeted pow-wow area where people can chat, whiteboard, or just take their
laptop for a change of pace. This will also become the nap area for people who
start to basically live in the office. If you can't get a garage and you can't
get a room in a home and you can't get a basement, maybe you should rethink
things until you come up with a cheap-nearly-free space to use.

\- Do not allow Televisions or video game systems. Set up a firewall that
blocks common time waster websites like HN, reddit, facebook, etc. Adopt the
philosophy that if you are in the office you are working or resting, and if
you need to relax or take a break, you leave and go somewhere else. This both
avoids time wasting and helps people leave and get some air instead of getting
into unhealthy exhaustion. Discourage people from working at home or at coffee
shops, and so on, get them in that office if they are working, and chase them
out regularly to do leisure activities or sleep when you see they are getting
burned out. Make people wear headphones, even if they think they can get
everyone to agree about what they are listening to, odds are there will be
people who are not assertive and will say ok, but then get distracted or
annoyed.

So, all in all, you should spend about $2000 setting up your office for around
8-10 people. If someone has a garage, maybe toss them $500 per month to use
it, plus utilities.

For the rest of the stuff, use gmail, and either github or local version
control if you have someone who is an ace at setting it up and managing it.

Cost breakdown: \- Paint: $200 \- Extension cords: $50 \- Smoke detectors: $50
(CO detector if you use any gas heater in the winter) \- Fire extinguisher:
$30 \- Small fridge: $100 \- Carpets: $300 \- Desks and tables and chairs:
$500 (get cinder blocks and thick plywood if you can't get anything else for
very cheap, and put a table cloth over it) \- Lamps: $200 (you should have
about 1 per person, do not allow incandescent lights as you have too much
computers and people in the space heating it up already) \- AC: $600, get a
powerful one that does heat too if you are in an area that needs that \- Big
fan: $50 - good when it is nice out and you want to open the garage door

So that adds up to around $2000. In a few weeks you can spend more money, but
once you spend it it is gone forever.

Do not lease office space in an office building until you can be (more)
profitable with that expense.

~~~
spongefrob
Hosting and rackspace matter a WHOLE lot if computers are central to your
business. Would a bank get started without a vault? Can you build a house
without a foundation?

The point is as cheap as possible... not as cheap as cheap...

If you're going to end up with a lot of servers: get into rackspace NOW and
develop a relationship with the datacenter. If computers are at the center of
your business then you owe it to your business to house them with the same
care you would your employees.

Or, you could grow it ad-hoc and deal with serious downtime and expansion
issues later and attendant costs. Choice is yours. I would consider how well
you like stress before deciding.

Convincing people to use their own computers is epic fail if you have
intellectual property issues (or think you might in the future.) If your
employee is going to sign an NDA under no circumstances should you allow them
to use their own computers.

Also, varying degrees of attention are paid to things like vulnerabilities and
stability as well as standards. If your relying upon yourself to do IT, then
you're automatically setting yourself up for connecting ten different
computers in 15 different ways. This does not scale.

Then of course, you'll have the hotshot programmer who'll set up his own
sourcecode repository and you'll have no end of headaches getting the two
repositories to agree. If you're going to rely on computers with minimal IT
staff then you need to go cookie-cutter approach in the beginning and set up
definitive rules like "a server is a server" and "a desktop is not a server".

~~~
justin_vanw
There is no reason to own your own servers. Putting them in EC2 saves you lots
of money and more importantly time, and allows for scalability which would be
almost impossible with physical servers. Additionally, there is no large up
front cost, it requires no physical presence at a data center to manage, and
there are no hardware issues to resolve, be it failed drives, UPS fiddling to
keep power use evenly distributed, it goes on forever. The advice given in the
parent post is, frankly, uninformed (or at the very least 5 years out of
date).

For a startup, you don't want to blow a bunch of cash up front because you
don't know what your requirements are going to be in the long run. It is very
common to blow a bunch of cash on equipment and have it sit idle until it is
obsolete, or realize later that it is not what you needed.

Finally, an NDA does basically nothing for you. 'Great ideas' are worthless,
and most source code is worthless as well. It's all about execution. If you
had every line of source code ever written for youtube.com you would have no
advantage whatsoever, it would get you nowhere. Companies that do create code
that is very valueable can often give it away for free, see danga interactive
and memcached, or the reams of code facebook and google give out, and these
are not open source companies.

Very, very occasionally certain very difficult problems will be solved, and
that code is valuable (for example, suppose fedex developed software that
routed packages with 10% greater efficiency than anyone else could achieve)
but here again the code is worthless, the algorithm is what is valuable. The
algorithm can be patented, so here again, the code itself is worthless to
competitors. Example: Adaptive Replacement Cache

"Also, varying degrees of attention are paid to things like vulnerabilities
and stability as well as standards. If your relying upon yourself to do IT,
then you're automatically setting yourself up for connecting ten different
computers in 15 different ways. This does not scale." -- This doesn't mean
anything as far as I can tell. I honestly cannot figure out what your point
was here, or if there was one beyond fitting as many words commonly used in
technology discussions in a single paragraph.

If you can't figure out source control, you might as well give up now. It is a
basic, entry level task in software development.

"... rules like "a server is a server" and "a desktop is not a server"." --
Yep, you've lost me. Either you are saying something super obvious, equivalent
to "a door is not a window", or you are speaking the gibberish.

------
brk
Criteria 1: Cheap (don't spend too much at this stage)

Criteria 2: Easy (your time is better spent on other things)

Criteria 3: Portable (if successful, you will move to a larger/better office.
If not, you will sell this stuff to someone else. Either way, keep it
portable)

I wouldn't overthink this right now. Do whatever is most efficient for _you_.
Make sure you have an easy, touch-free, reliable way of making off-site
backups of your source code (presumably the only real thing of "value" right
now).

For things I have been involved in, I do my own hosting. All servers are
linux. Email, web, svn, etc., all setup on linux boxes and backed up to other
remote linux boxes. I have been doing iterations of that for 15 years now. It
just happens, it takes me no effort. It might take you a solid month and still
not work right, in which case that is the wrong approach for YOU.

Check craigslist for furniture. Start with used office furniture. As a rule of
thumb, for offices I have built out, it will cost you $1,000/cubicle (used
cubicle, chair, labor/install/setup). This is most likely too expensive,
especially if you can get a $200 chair and a simple desk someplace else. Just
make sure the furniture is workable. I worked at one place that had really
nice chairs and really basic desks (tables really), no storage for books, no
room to spread things out. It sucked.

------
lrm242
Use Google Apps for Domains for your email and calendar. No need, IMO, to run
your own mail server. We are currently 10 employees and have no physical
servers. We have 1 Linode that is our build server and source repository, and
we use Google Apps for everything else.

Source control: Subversion hosted on a Linode we manage

Email and calendaring: Google Apps for Domains

Online meetings: GoTo Meeting or WebEx

Conference calls between < 5 people: Skype

Web server: Hosted on a Linode we manage

Build server: Hosted on a Linode we manage

Internet, White Boards, Printers, Network: We get that from the office we
share

------
st3fan
Here are some random thoughts:

Don't have your source code repository just in the office. I would strongly
suggest to use a distributed system like git or hg while also keeping a master
repo on something like a 6 USD/month rackspacecloud server.

I move backups to Amazon S3. I simply export databases and repositorities,
then tar, bzip and pgp them and then upload them with a timestamp in the name
to Amazon S3. With the right tools on unix this is almost a online-liner. And
it costs a couple of dollars to just upload and store stuff.

Laser printers are really cheap these days. Toners are expensive. But really,
just print the 'formal' stuff. Letters, contracts, etc. Nobody prints source
code anymore I think.

Network: go wireless if you can. Preferably 11n. Less infrastructure needed.
Get a wireless router with USB to hookup the printer.

Chairs: let people choose their own. Within a certain budget. I find it highly
personal. Specially if you plan to use them 10+ hours a day :-)

~~~
DanHulton
I dunno about that wireless recommendation - I can't STAND wireless for
anything heavy-duty. If I need to be transferring files of a reasonable size
(which seems to always happen during development - ISOs for virtual machines,
packages, art assets), I hate being constrained by wireless speeds. Plus,
depending on your building, you can get weird spots that are perfect for
desks, but shite for wireless, with the poor schlepp stuck in that office
getting just about the same bandwidth as he would with a tin can and string.

It's probably a good idea to start with it (keeps you from having to do all
that cable-laying, yeah), but put it on the "to replace asap" list.

~~~
byoung2
"I dunno about that wireless recommendation"

At this stage in the game, I would recommend wireless, because you can add
more comptuers without running a lot of cable. Of course the servers should be
wired.

------
spongefrob
If you are going to have servers, backups and other items that are both
mission critical and environmentally sensitive then you need space that is air
conditioned, expandable, properly sized for power and lockable. Unless you are
both a licensed electrician and a trained HVAC engineer I guarantee you that
whatever assumptions you have about servers and their power loads, heat
signatures and space requirements are wrong.

Unless you are planning on hiring full time IT staff, you probably don't want
to build your own datacenter. If you think you are going to get much much
bigger (server wise) then you might want to look into buying a small (but
expandable) amount of rackspace in a datacenter. This will place all server
infrastructure issues at somebody elses feet.

If you think that you'll buy three or four servers and not expand beyond that
for the life of the business, it's probably a good idea to simply modify a
large closet (> 150 sf) for AC, UPS, power, etc... But if you think you are
ever going to have more servers then that you need to think about expansion
now.

If the servers are critical to your business then you'll thank me later...

~~~
spongefrob
Also, if you're not permanently ensconced in your present office space, having
space in a data center means a move without moving your servers (except, of
course, for the network portion) It is as close to painless move as you can
get...

------
JayNeely
For whiteboards, just buy a 4' x 8' showerboard panel from Home Depot, or
Lowes. It's a thin piece of board treated with melamine, a perfect, cheap
surface for whiteboard writing.

<http://www.kk.org/cooltools/archives/000679.php> \- You could cover your
walls with this stuff for cheap.

------
Cherian
I’ve asked a similar question over here at serverfault.com
[http://serverfault.com/questions/47914/tools-servers-
service...](http://serverfault.com/questions/47914/tools-servers-services-to-
run-a-web-startup-office)

 _“For a dev who doubles up as a sysadmin in small web startup, what
services/servers/devices do you recommend running? I am also open to best-
practices suggestions

To get the ball rolling- here are some of what I have.

• OSSIM suite

• Pingdom to verify stage and production status(I have custom scripts hooked
to a paid SMS gateway)

• OpenDns

• SVN server (Linux).

• Backup server (Linux).

• Mail’s on Google apps. (prioritizing LDAP integration)

…………. “_

------
byoung2
I've worked briefly for two startups since 2007. While both are still going
strong, they both wasted money (in my opinion) on the following things:

Apple hardware (including 30 inch cinema displays), Herman Miller Aeron
Chairs, and Glass Desks

~~~
spongefrob
I've been at jobs with small monitors and crappy chairs and I've been at jobs
with small monitors and good chairs. I've also been at jobs with good large
monitors and crappy chairs. If you offered me the choice of an Aeron Chair and
a 30" cinema display, I'll take the chair. For software and network
engineering related tasks, the single biggest enhancement of productivity is a
good comfortable chair. The Aeron chair fits this bill.

But that doesn't, per se, mean that a good solid monitor isn't also a help.
After 20 years in IT, I'd rate Apple in the top three for monitor quality.

~~~
byoung2
I didn't say the Apple monitors weren't sexy! But $1800 is a big chunk of
change for a startup. I have 2 22" samsung LCDs that cost $200 each back in
2007. Those are a much better investment in my opinion. My chair is an Office
Depot task chair - $24 with $10 rebate in 2001. The chair comes with a
warning: "not for multi-shift use"

~~~
spongefrob
Quite. As I said, Apple, in terms of quality, is in the top three. I would
rate Samsung in the top one...

------
dave_s_wang
ikea or craigslist for all the chairs and tables. backups I would use s3 like
everyone recommended. for pcs, let everyone use their own laptops. versioning
- github. online meetings - skype. mail hosting - google apps. printers - go
low end that can handle internet or wifi. whiteboard - get ideapaint and paint
the walls with the stuff. stationary??? wut for!

