Dockhero vs Heroku Container Runtime
Recently Heroku's Cedar stack got the support for Docker images. One can push an image to Heroku and run it as a container of a certain process type.
Dockhero provides very similar concept but with a few differences. Here's a comparison between the processes running in Heroku runtime and Dockhero
Feature | Heroku Dynos | Dockhero |
---|---|---|
Available only on Heroku Dynos | ||
Release Rollback | Yes | No |
Metrics visible on Heroku Dashboard | Yes | No |
Forced daily restarts | Yes | No |
Available only on Dockhero | ||
Volumes support | No | Yes |
Network link | No | Yes |
Binding of non-HTTP ports | No | Yes |
Docker Compose support | No | Yes |
Volume backups | n/a | Yes |
Available on both runtimes | ||
Monitoring with NewRelic | Yes | Yes |
Free SSL included | Yes | Yes |
Configuration via heroku config |
Yes | Yes |
Heroku has concurrency limits and timeouts, while on Dockhero you are limited with just Linux Kernel's sockets limits.
Conclusion
Heroku Container Runtime is great for stateless services which expose a single HTTP endpoint or no endpoints at all
Dockhero is great for stateful microservices which expose non-http endpoints or require lots of concurrent connections.