for $108 / month you could have a very nice setup on any number of VPSs, RS, ec2, etc... you could have at least a 2GB setup either split between 2 hosts or all on one depending on how you plan on scaling... but really IMO if you plan on running anything for any matter of time beyond a (hey checkout my neat idea app) get off heroku and figure out how to setup your own systems, nginx/haproxy, etc... sure it's nice to focus only on the app side with heroku so learn stuff there but eventually unless you're getting funded - you'll need to know how to manage your own servers... just my thoughts.. and i do put lots of little projects on heroku but they're mostly none critical services... or ideas
Why do you need to know how to setup and manage your own services. If it's not your expertise, spend your time where you can add the most value. I think Heroku is a perfectly fine option until you reach the point where you could hire a full time dev ops.
It's a pretty cheap way to have servers set up with 24/7 monitoring and technical support.
It's not very cheap for what this user wants to do - he wants web processes up all the time, so he'd have to pay heroku the price for that. He is paying for things which are not required (db cache etc) and trying to skimp on the thing which is (dynos). Heroku is not cheap, but it's a great service if you can afford it and want the service they are offering.
Setting up a vps and automating deployments is not very hard, it would be useful experience if he plans working on startups, and it would also be massively cheaper and could host tens of sites like his. If he wants to pay heroku to deal with all of that, he should accept that it will be costly, and reasses his priorities and direct resources where they are needed. heroku gives you the tools to do that - ditch crane db for example and other caching add ons, and buy dynos rather than trying to use the free dyno for a proper website.
I'm running a Hetzner server for 10yrs now. Debian, now Ubuntu. I've installed Redis, Nginx and some other stuff with apt-get and have an basic iptables setup.
Could you detail what I would not need to do when I'd chose Heroku? What "expertise" you are speaking of, apt-get?
I'm confused these days about cloud and how this would save me "full time dev ops". Could you elaborate?
One night, working for a CMS design agency, and running a launch for a new Rails app, I tried installing nodejs onto our dedicated server so Rails could compile the new coffeescript stuff we were running with.
Of course Node then tried to update NGINX or something (I'm a little fuzzy on the details, but this server had been around for a while) and then NGINX complained about something being misconfigured and wouldn't let us restart it, and so then we were stuck with 100+ rails apps sitting on this server, and we couldn't change the configuration for any of the apps, or launch this new app, and it's 11 PM, and I just want to drink a beer and go to bed, and the client's yelling, and
— so, I'm perfectly OK with not having 10 years of server management experience. Heroku just works. Almost 100% of the time. And every app's isolated.
I got into this business to ship products for customers, not figure out how to make dependencies of 3rd-party libraries on 4-year-old-server-builds play nice. If that's what you've gotta do, that's what you've gotta do, but I'm not really inclined to pick up 10 years of experience managing servers unless I have to.
You wouldn't need to rely on ten years of experience running your own server. Since you already have that you're in good shape - that doesn't mean your solution will work for everyone else though.
That's the point, I've been running servers for 10 years with iptables and apt-get knowledge. There is no "ten years of experience running your own server."
My hypothesis is that everything interesting that happens to servers is not covered by Heroku.
If that were the case, Heroku wouldn't be able to charge for what they provide, and everyone with more than just a trivial app would run their own server.
I think you underestimate what it takes to run your own infrastructure. I'm not saying it's black-magic hard, but it does require a not-insignificant skill set for all but the simplest of setups.
I might underestimate what it takes to run a server, and what Heroku brings to the table, I'll grant you that.
Taking another of my hats, the CTO of a million-user business hat, I still don't know what TCO wise the cloud/Heroku brings to the table. I know about the fast scale up and scale down benefits, no 12 months contract, OPEX vs. CAPEX etc. but have not found any TCO cost calculation based on real tasks people need to do on rented servers vs. cloud.
I do agree that heroku, while not cheap, is a value for what you get.
But I wonder if that comparison "I think Heroku is a perfectly fine option until you reach the point where you could hire a full time dev ops" is actually one anyone makes in reality. A full time ops person is going to cost way more than $100 a month, quite a bit more than several thousand a month in fact. Are there really people who would go with heroku until they're paying $5 or $6k a month or more, and somewhere around there (that's a lot of heroku), say "Gee, _now_ we're paying enough (barely) to hire a fulltime person to manage the servers ourselves, let's switch everything to that."