Ask HN: starting up with VPN or cloud hosting?
6 points| rpwverheij | 13 years ago | reply
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:
- 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:
- 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...
- 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.
- 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.
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|13 years ago|reply
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|13 years ago|reply
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|13 years ago|reply
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|13 years ago|reply
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|13 years ago|reply
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.