I think this is a great idea. Companies have to sell a product in order to survive. At work, we pay a small amount of money for the 20 or so applications we deploy to heroku (nothing critical, just your run-of-the-mill chatbot/static landing page) and I'm impressed with the product they sell for such a small amount of money.
Here is some of what Heroku handles for you:
- cluster scaling (docker swarm?)
- resource scaling (docker-options?)
- centralized logging (docker/rsyslog + papertrail?)
- metrics support (diamond/collectd/dd-agent + external graphite cluster?)
- web ui and external api (lol)
- easy integration with tons of services (plugins/manual work?)
- not having to maintain your own servers (hire an ops person?)
- backups (cron + s3/dropbox/idk?)
- security!!! (cron apt-get?)
Definitely worth taking a critical look at whether or not the applications you are running on Heroku aren't providing at least $7 a month in value to you, as the above doesn't necessarily come cheap when you roll your own.
To me, it's not whether they're providing $7 a month in value, it's whether running a dozen dynos at $7 is worth more than than running a single $10 VPS on DigitalOcean.
For me, they do not provide enough value. My apps run drastically faster on a VPS than they did on Heroku, and I save a lot of money.
Consequentially, my sites that need more resources than my incubator VPS can provide no longer consider Heroku a viable upgrade path
Well that's right, but at one point you're bound to heroku service. Your app will be so deeply configured to work with heroku that migration will take you a lot of time.
With AWS at least you pay cents and then dollars when you scale. Heroku you pay dollars and then thousands.
Working with VPS seems so much better. Hire a freelancing Dev-ops guy to make your provisioning script then when you scale hire an employee for that. VPS change pricing... Change the VPS. Most of them has APIs so scaling can be configured programmatically and monitoring you can use service as new relic.
I disagree that you're bound. Most of the way you run your apps on Heroku works the same way anywhere, or can do with only the smallest amount of work. IMO if you want to migrate away, the biggest job is filling the gaps that Heroku provide for you, and don't realize they do until you don't have them anymore.
"Flexible dyno hours" is some nice marketing spin. 550 hours a month works out to one application running 18 hours a day, whereas previously you could have an unlimited number of apps running up to 18 hours per day.
Hey, I am the PM for this project. It's not our intent to kill free apps. I love weekend hacks and small pet projects myself and Free dynos are still perfect for that. What we've found is that 1000 hours covered about 95% of the Free dyno usage on the platform. In most cases, if you have a bunch of Free apps, they're usually sleeping since they're not receiving traffic. I'd love to hear any additional feedback. You can reach me at brett@heroku.com.
I have many free apps as well as paid apps running. But I always used Heroku because I didn't have to worry about limitations unless a particular app has high volume. Now that it's become a monstrous burden, I'll definitely be moving most of my apps to a vps/DigitalOcean.
You just lost a huge number of free apps that could potentially become paid apps.
TLDR: Hassle of keeping track of account wide dyno use > hassle of running on vps
Before you got 18 hours a day per app on the free tier (5 apps max)
Now you get 550 hours per month in total for all your free apps (so 18 hours a day for all your apps instead of per app).
It's clear they are trying to kill the free dynos but who can blame them?
Heroku is still good if you need simple scaling and load balancing for commercial projects. Heroku main selling point use to be easy deployment , but with Docker and solutions like that, it's not longer true.
I wonder if there is some room for an ultra cheap "micro" PAAS, like 2$/month per instance, with 250 Mb space and 128 Mb RAM or something like that. With the development of new, efficient languages such as Go or Crystal which can operate on tight configurations, I wonder if this model would be viable.
Naah. I don't think they're trying to kill the free dyno. I think they're trying to prevent abuse.
I have one hobby app. I use it, maybe, a hour a week. So that's a dyno that's on for, oh, maybe two hours a week, but more likely less (since the sleep timeout is, what, five minutes?). Barely makes a dent in my free hours.
When I actually want this useable, I bump it up a tier for the week or two, and we're done. Cost of a good meal.
Beside, we're only seeing the tip of the iceberg: Could be this is a change brought on by deeper changes in the billing system, such that this method ends up being simpler.
Joyent's Instances/Triton/Docker was already under $3/mo for the 128M instances, now they've just lowered it to ~$2.16/mo (720 hours at 0.0030). I've been able to do a surprising amount on the tiny instances, especially since they scale up/down near instantly.
I wonder if there is some room for an ultra cheap "micro" PAAS, like 2$/month per instance, with 250 Mb space and 128 Mb RAM or something like that.
Get a €2.99/mo Scaleway VPS (2GB memory, 50GB SSD), install Dokku - http://dokku.viewdocs.io/dokku/ - and you basically have a Heroku-like environment for next to nothing (especially as you can host a bunch of apps on that single instance).
(Update: Didn't know Scaleway was still queued up for signups. Replace with DigitalOcean for $5 if you're in a rush - and host fewer apps per box ;-))
Unfortunately, this kills my primary use case for heroku which is small personal projects. I have a dozen or so of them on the free tier right now. Heroku was great because I could throw them up for free and not really have to worry about hosting.
Now, howerver, I have to weigh any given project against my overall budget of hours. If I put up my weekend project, do I need to kill that project from a few months ago? Do I want to start paying for hosting for a site that will probably never go anywhere?
I suppose I'll just go back to hosting on DO/EC2/Etc. A single small instance of any major provider could handle the traffic for all my projects put together. It's slightly more work, although there are some cool projects like Dokku that make it less so. Heroku's main selling point for me was convenience and simplicy, and it's been progressively losing that over the last year or so.
> Unfortunately, this kills my primary use case for heroku which is small personal projects. I have a dozen or so of them on the free tier right now. Heroku was great because I could throw them up for free and not really have to worry about hosting.
Well you're using their PAAS for free. Ultimately a minority of paid users are paying for all the free users, it can't go on for ever.This is true for Heroku, as well as any PAAS that has a free tier right now.
If you use Heroku for hobby projects you don't need scaling and load balancing, you might need a DB on your instance so a dropplet at DO, or using EC2 makes more sense than paying 7$ for a immutable app on Heroku servers.
I don't see the free users causing much server load. It's like how it's dumb for Adobe to go after students pirating their software... They get used to using photoshop and then demand their employer to buy it for them later on when they get a job. The hobby projects get people used to the platform and want to use it later on.
Hey, I am the PM for this project. This is really great feedback, thank you for that. We still intend for customers to use Free dynos for their small personal projects, toys, experiments, weekend hacks, etc. If this feels too limiting, I'd love to hear your feedback. Please feel free to reach out at brett@heroku.com and I'll happy to help out.
Hey Brett- it seems like Heroku would still be great... for exactly one personal project. If I do a weekend hack every few weekends, I have to either turn each on off or pay for them. I used to be able to have as many tiny projects as I wanted, and now I can't. I don't see any way around that besides hosting myself.
Well, but also... if the site isn't in use, it goes to sleep. Next load takes awhile (dyno startup), but if you've got a bunch of infrequently used apps... I don't expect this to effect you.
Now, if you're abusing the service, that's a different story...
I definitely see my hobby dynos go to sleep. I don't try to get those sites indexed on search engines, tho, but (as you might be able to tell from my verbage), I also don't do anything to keep them off. Still, they're asleep. Maybe there's a default robots.txt that tells them not to index, that can be served by a sleeping dyno?
When they neutered the free tier last time is when I started ignoring them as a useful hosting option.
My approach was always to start projects on Heroku, and then to keep them there when they graduated to needing more resources than the free tier provided.
Now all my projects start on a little DigitalOcean instance, and when they graduate to needing serious resources, they don't go to Heroku.
Actually they were just passing on the underlying cost of the AWS ELB to you. The previous setup worked by provisioning a dedicated ELB for each app. ELBs cost $18/mo plus bandwidth charges.
Expensive? For low value apps, yes. But far from a "pure and unadulterated money grab."
> Starting June 1st, when you sign up for a Heroku account you will immediately get 550 free dyno hours. In addition, we add another 450 dyno hours for a total of 1,000 free dyno hours if you verify your identity by providing us with a valid credit card.
Any thoughts on what Heroku gets out of identity verification / credit card info?
Heroku's free offering is a massive target for abuse - spammers/scammers abusing it to host e.g. phishing sites, but also regular developers who don't want to pay for the service and so sign up for multiple accounts just so they can run more than their usual allotment of free dynos.
Having the credit card verified and on file also greatly reduces the barrier to starting to pay for something - in my experience it's pretty common with a Heroku free account to run into something where you're just over a limit, and you end up saying "fine, I'll start paying $7/month for this right now so I can move on with my life".
I think it's mainly to prevent spam/multiple account creation. Having different CCs is harder than just multiple emails. It also makes it easy to upsell you to paid plans.
Even with virtual debit cards, this kind of data is still extremely useful from a fraud prevention point of view. Maybe you can spot a pattern that signups on one particular brand of virtual debit card from one particular IP range are most likely to be abusive. With fraud prevention, anything additional that can be used as a signal is useful.
I'm not sure a typical bank card detail form include an address. Usually it's card number, expiry date, CVV/CSC and (optional, as some cards don't have it!) cardholder's name. Not sure about Heroku and too lazy to remember a password and log in there to check right now.
Heroku may have address fields for invoices and stuff, but I really doubt they can validate it (except for country/state) with bank, as addresses are real mess. At the very least, not automatically. So, this probably won't work for abuse prevention.
To answer a question that should have been in the FAQ, there are 730 hours in a month. So you can run one app 24/7 under the new scheme, plus have some left over for experimentation.
> We also help you keep an eye on your consumption by sending an email notification if you consume more than 80% of the free hours in a month. Should you reach 100%, we will notify again and all free dynos will stop running until the end of the month. At the beginning of the new month, your free dyno hours are replenished and we spin the dynos back up. You can avoid running out of free dyno hours by upgrading your most successful apps to Hobby dynos.
I wonder what the thundering herd[1] effect of this on AWS would be at month start.
My guess is that if this mattered the spot instances would be cheaper at the end of the month compared to the start. Not just from Heroku, but every business that has some monthly processing that needs to be renewed at the start of the month.
SSL change is nice, but the rest is just another step in driving away hobby users. Why not just get rid of the free tier all together if it's just going to continuously be handicapped.
I'd rather see the free tier be done away with and have the numerous AWS price decreases passed on to the actual paying customers.
We are actually in alpha with an SSL add-on for Heroku, so I'm thrilled for SNI to be an option. I just hope it's supported by the API soon so we can integrate it.
We are still working on finalizing pricing. But we won't push any test users to a paid plan automatically. You will get your first year for free and then have the option to migrate or go a different direction.
I think this is a great idea. Companies have to sell a product in order to survive. At work, we pay a small amount of money for the 20 or so applications we deploy to heroku (nothing critical, just your run-of-the-mill chatbot/static landing page) and I'm impressed with the product they sell for such a small amount of money.
Here is some of what Heroku handles for you:
Definitely worth taking a critical look at whether or not the applications you are running on Heroku aren't providing at least $7 a month in value to you, as the above doesn't necessarily come cheap when you roll your own.