

Ask HN: starting up with VPN or cloud hosting? - rpwverheij

Summary: I want to start hosting my product. I'd like to register domains (at some point). I'm a linux beginner. Thinking about scalability and price, I'm thinking am I better off on a VPN to get started or would some form of cloud hosting be better (not being familiar with either).<p>Full question:
I'm creating a product where people can create their own 3D representations of whatever data / info they have, and (re)organise that data. The product is coming along beautifully on my local environment, but it's about time I start getting some form of hosting ready, and I could really use some advice where / how to get started:<p>- I'd like people to be able to move/register their own domains on my server. 
I could start without this just to demo the product, but it would be the very first on the todo list.
I'd like to automatically copy some files / install databases etc for each domain. I probably want to see if I can let users manage their own subdomains at some points, but for now:<p>- I'd like start as simple as possible
I've always on a windows machine, so my linux experience is quite basic. I really don't mind getting into it, but I'm thinking it's better to get my product out first of all and see where to go from there. Although...<p>- I'd like things to be scalable. 
If I set up some reseller VPN now which only scales to 100 domains or so, which means I have to set up something else / move again when I pass that level, or which means that I'm in trouble if I suddenly get lots of new customers... hmm.<p>- Finally, I need to start cheap. 
I'm putting all I have into starting this company, and live on very little. So before I have any customers, 50 dollars a month is a fair bit and 100 dollars a month may be too much.<p>If anyone has some tips to help get me started I'd be really grateful.
Also if this question would fit better elsewhere, please tell me.
======
kintamanimatt
You're confusing a VPN with a VPS. A VPS is a virtual private server, which is
virtual server you can use to host web apps, etc. A VPN is a virtual private
network, which is like an encrypted layer over your internet connection, so
you can communicate securely with a corporate network, or masquerade your real
IP address which is useful, for example, if you're trying to use a US-only
service such as Pandora from outside the US.

You might want to shy away from setting up and configuring your own VPS right
now. When you've got your feet wet and have some experience, then look again
at this as an option. For now, maybe you'll want to focus on a PaaS, but this
might blow your budget.

You're almost asking for the impossible: cheap, scalable, and simple. I also
assume that your app probably is also going to chew through CPU cycles and
memory due to its nature; I could be wrong on this point though. (On a side
note, how have you built your app? Is this a Python/Ruby/PHP app, or something
running on the JVM? Is the part of your app that does the heavy lifting
written in a statically compiled language? What kind of database, if any, does
it need? How memory hungry and CPU-heavy is your app? All these things will
have an impact on your options.)

There's going to be a ton of great advice in this thread. In addition to it
all, I would recommend you do two things:

1\. Learn. Learn how to set up and manage Linux servers. While there are
recipe-style guides for setting up *nix servers, they're not always correct
and they don't really impart any real knowledge. Read them to get started
setting up a practice system, but bear their limited utility. Read (official)
documentation and get as familiar as possible. Practice, try to break things,
and fix them. This is how you get good.

2\. In the interim, find someone (competent) to work with that can help you
from a technical standpoint. This may break your budget unless they become a
"cofounder" or something.

If you're wanting to host domains, I suspect you're probably not going to want
to be setting these up manually, so you're going to have to write a script
that will do it for you, and configure the servers, etc.

------
pestaa
You architect the backend very differently if you need to scale on day one.
Unless you positively absolutely sure you will, I recommend going the single
server route.

Amazon AWS is free for a year, it'll give you a rough idea how much money
you'll need to spend.

If you have the time up-front, spend it wisely and automate server
orchestration. Puppet, Chef, etc. (For me Salt works best.) It pays off the
first time anything goes down, by the time you should have a plan to expand
and hire a sysadmin.

Good luck.

------
stoic
Linode, apart from being a fantastic VPS host, has some great resources on
setting up Linux server software:

<http://library.linode.com/>

Another commenter mentioned learning to set up Linux servers, and while app
hosting frameworks like Heroku and dotCloud are great, doing it the "hard way"
first (it's not that hard anymore, really) will help you to understand and
appreciate these types of services.

------
bmelton
If you're looking to start cheap, I'd recommend something like dotcloud[1] or
Heroku[2]. Personal bias draws me toward Dotcloud for a variety of reasons,
the main one you should care about is that their pricing model allows you to
'develop' against their infrastructure for free, and you only have to 'turn on
billing' when you launch.

Even when you launch, your pricing is tied to memory. Meaning if you launch
and have 3 users, it'll be cheap to host because you can allocate very little
memory, but as your userbase ramps up, you can turn the memory up with it.
Scaling is fairly prescriptive as well -- you either add more workers / nodes
or more memory (or both). Either way, if you don't need to scale, it's pretty
cheap to stay small (less than $10 a month I'd suppose, but that depends on
what you're building).

The only big negative I can think of as it pertains to you is that their
Dotcloud on Windows support may not be great as they self-confess that none of
them uses Windows. I also don't, and I haven't tried to use it on Windows, but
at least on Linux/OSX, development couldn't be easier. It integrates with Git
and is highly scriptable.

[1] - <http://dotcloud.com/>

[2] - <http://heroku.com/>

~~~
richf
+1 for Heroku.

I only seriously took a hard look at Heroku in the past week and for what you
get — I think it's absolutely fantastic. You can't beat the free, unlimited
web dyno vs. AWS's free-for-one-year micro instance.

