I'm currently at the Nordic.js conference http://nordicjs.com/ (which... is down right now). Suddenly half the audience started to looking at mobile phones, unpacking laptops.
Down for almost an hour now. Haven't seen anything of this scale happen in 18 months or so of running our apps on heroku. Looking forward to the postmortem from Heroku (and hopefully my app being up again).
Yep, people are melting down on Twitter about not being able to order food. And on the day that Amazon launched Amazon Restaurants in London with one hour delivery too...
If you are just using heroku to run a process it is pretty easy to rebuild on AWS. Here is one fairly solid guide: http://blog.clearbit.com/ec2-heroku/
Depending on what language you are using google's app engine could be a quick replacement.
Please do not trivialize the aspects of running a server on AWS (or a highly-available cluster) just for your own single application. Installing is the easy part, the day to day maintenance, reacting to issues, the 3am alerts (you set up alerting, right?) is what's costly.
I guess I was responding to the parent with ideas and links to use 'in case of emergency'. It isn't trivial, but some of these tools in conjunction with AWS make it possible to do alone, which I think is pretty cool. Alerting? Cloudwatch + PagerDuty gets me somewhat there.
Heroku is a great product and it going down permanently would be a huge loss to the community.
However there are a number of open source alternatives with very similar user experiences that you can run yourself in a variety of environments including:
From what kind of scale would you consider running flynn (I'm a fan since the early days) or deis (scoped it as well) a pragmatic step compared to heroku?
Just like with previous incidents. I understand operating Heroku is not trivial but with 15 minutes after my monitoring systems (Pingdom, New Relic and Logentries) notifies me they need to improve this.
Perhaps it’s suitable for the US but in EU we are seeing this for the most of the working day:
"Heroku Support is currently closed. Normal support hours are 9 AM to 9 PM Eastern time. Our goal is to respond to your inquiry within 1 business day. Please note that it may take longer depending on current volume.
Running a critical app?
Heroku's Premium Support offering includes a 24×7 Response SLA and more. Please contact us for further details."
When it is Heroku’s fault (couldn’t access my account with cryptic error message) it is very annoying to be suggested to use paid support, for a product that is already costs more than alternatives.
If it's a Heroku error then they obviously have staff monitoring servers 24x7. Usually I get very quick responses from Heroku Support at all times during the day, regardless of the type of inquiry - either basic questions or platform problems. Obviously they would filter incoming requests. If you pay for support you get a quick er response. If you have a question without paying you might have to wait a bit longer during off-peak (US) hours. But if it's a platform error I'm pretty sure they would filter that out and respond quickly.
And what are you comparing to here? Are you getting instant 24x7 free support from any other vendors? It's quite normal to pay for support in this industry.
I host all my APIs on Heroku and all my static front ends on S3 with CloudFront on top. No downsides in my mind. Free and instant TLS certs with CloudFront, too.
My search led me to Netlify, which seems pretty great. It runs your build script when you push to GitHub, then serves the resulting static files with a Let's Encrypt certificate. Comes built-in with a CDN, so you don't need CloudFront or CloudFlare.
I got my first SMS alert notification from Pingdom about 55 minutes ago now. One or two requests managed to reach through the the application logs in the last 10 minutes, but still mostly down.
This is kind of offtopic but what is the attraction of using Heroku over using EC2 directly now. I remember back in the day when EC2 didn't have RDS and Elasticbeanstalk Heroku was an attractive option because you could deploy and scale without needing to do any kind of system administration.
But now EC2 is offering managed databases through RDS and elastic bean stalk gives you git style deployment similar to Heroku I don't see what Heroku is offering other than another point of failure and another set of security problems. It looks like Heroku uses linux containers for isolation. So not only do you have to worry about someone attacking the underlying EC2 VMs Heroku uses but you have to worry about the tenants collocated on your Heroku VM attacking you through the linux kernel as well.
There is much more to Heroku than managed database and git-based deployments. For instance, recently they have seriously improved the CD experience with Pipelines, Review apps and GitHub sync. They also have pretty seamless integrations with hundreds of providers (email, logging, search, monitoring, ...) in the form of add-ons. You get some basic metrics on your application.
And if security is a concern, or/and you want your dynos to talk to each other, they now have Private Spaces (https://www.heroku.com/private-spaces).
Simply said they are taking the "managed services" experience to a whole new level imo.
Plus, you may not care about that, but they actually have a UI/UX team that can design beautiful AND usable dashboards.
True, and that's why I stuck to heroku for a long time.
But, in the end I realised I can replicate most - if not all - of it with docker cloud and github. Most CI services support github anyways, so that's also covered.
And it's significantly cheaper, for my case we have 90% price reduction - paying only for instances + docker cloud.
I'm using Heroku right now and have thought about switching to EC2 as it would save me a bit of money. But the reason I haven't is simply time. Heroku's Pipelines feature, integrated with GitHub, means I get review apps and automatic deploys on merge, just by clicking a few buttons. Now I know this is completely doable with AWS but the time to set it up and switch would be more than it's worth right now.
I don't see Heroku as a very long term solution for us but for the time being, while still a one-man tech team, it just means one less thing I need to deal with. Until I do ...
I wrestled with Elastic Beanstalk 10 months ago for 2 days and had to give up in the end. Every deploy was dog-slow. And I was trying all kinds of things, imagine the frustration. Only certain versions of software are supported, though I downgraded just to test EB. But I still couldn't get it running in the end.
I can't recall a single time I had a problem deploying to Heroku, including the first deploys. Heroku is lightyears ahead of EB. Speaking of deployment, I might try Convox sometime in the future.
OTOH you can use RDS with Heroku, just be careful to have them in the same region.
EB supports docker deploys now, which helps with the version stuff, though can create it's own difficulties. True that EB deployment is very one-function though. Tacking anything on is hacky and gets thrown behind the scenes, so is hard to track and audit
Speaking from the perspective of someone getting small projects off the ground, the value of Heroku (and similar) is that they help you stay focused on dev rather than ops.
In your example of security, you take an increased risk due to attacks on shared services, but I'd suggest that only a small fraction of "production" apps can field as qualified security teams as Heroku can provide... so if Heroku's customers all moved to EC2 there'd be an increase in badly managed and unpatched instances.
For sites already using Salesforce, Heroku Connect is quite a time saver. It handles the two-way sync between Salesforce objects and Heroku Postgres for you.
It's not a time saver, unless you are small and one developer works on both sides of integration. Integration through database is an antipattern, because it makes apps strongly coupled and fragile and building an app on top of Heroku Connect database adds extra management and maintenance costs, required to keep both sides in sync.
It's definitely an antipattern, but if you're unfortunate enough to be on Salesforce it certainly beats writing in Apex (which also exposes you to the underlying object schema anyway).
Simple. For me, I have a dozen apps running on heroku, and they are all on the free tier. The amazon free instances require credit card and only last for a period of time. I've had mt heroku apps running for years.
It makes spinning up and trying an idea very fast.
For the projects that end up having lots of users, I move to GCE or AWS
I use it when I don't want to spend time with servers or if the thing I'm deploying I don't trust - can be easily exploited. Like recently deployed a phantomjs service and well I'd rather not be concerned about the security implications of running a web browser on a server
Poor timing for the current speaker...